Module: ShellOpts::Ast

Defined in:
lib/shellopts/parser.rb,
lib/shellopts/ast/node.rb,
lib/shellopts/ast/option.rb,
lib/shellopts/ast/command.rb,
lib/shellopts/ast/program.rb

Defined Under Namespace

Classes: Command, Node, Option, Parser, Program

Class Method Summary collapse

Class Method Details

.parse(grammar, argv) ⇒ Object

Parse ARGV according to grammar. Returns a Ast::Program object



10
11
12
13
14
15
16
# File 'lib/shellopts/parser.rb', line 10

def self.parse(grammar, argv)
  grammar.is_a?(Grammar::Program) or 
      raise InternalError, "Expected Grammar::Program object, got #{grammar.class}"
  argv.is_a?(Array) or
      raise InternalError, "Expected Array object, got #{argv.class}"
  Parser.new(grammar, argv).call
end