Class: Propose::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/propose/parser.rb

Overview

Parses a propositional logic statement into an abstract syntax tree.

Constant Summary collapse

GRAMMAR_FILE =
File.expand_path(File.join(File.dirname(__FILE__),
'..', '..', 'grammar',
'propositional_logic.treetop'))

Class Method Summary collapse

Class Method Details

.parse(string) ⇒ Object

Raises:



14
15
16
17
18
19
# File 'lib/propose/parser.rb', line 14

def parse(string)
  tree = parser.parse(string)
  raise ParseError, parser.failure_reason unless tree

  tree.to_ast
end