Module: Aurum::Builder
- Defined in:
- lib/aurum/grammar/builder/dot_logger.rb,
lib/aurum/grammar/builder/set_of_items.rb,
lib/aurum/grammar/builder/augmented_grammar.rb,
lib/aurum/grammar/builder/lexical_table_builder.rb,
lib/aurum/grammar/builder/parsing_table_builder.rb
Defined Under Namespace
Classes: AugmentedGrammar, Configuration, DigraphTraverser, DotLogger, LRItem, LexicalTableBuilder, ParsingTableBuilder, Sources, State
Constant Summary
collapse
- StartSymbol =
Aurum::Grammar.nonterminal('$start')
Class Method Summary
collapse
Class Method Details
.build_lexical_table(lexical_rules, states, literals, logger = nil) ⇒ Object
3
4
5
|
# File 'lib/aurum/grammar/builder/lexical_table_builder.rb', line 3
def Builder.build_lexical_table(lexical_rules, states, literals, logger = nil)
LexicalTableBuilder.new(lexical_rules, states, literals).build
end
|
.build_parsing_table(syntax_rules, start_symbol, logger = nil) ⇒ Object
6
7
8
9
|
# File 'lib/aurum/grammar/builder/parsing_table_builder.rb', line 6
def Builder.build_parsing_table(syntax_rules, start_symbol, logger = nil)
augmented_grammar = AugmentedGrammar.new(syntax_rules, start_symbol)
ParsingTableBuilder.new(augmented_grammar, logger).build
end
|
.working_list(unvisited) ⇒ Object
5
6
7
|
# File 'lib/aurum/grammar/builder/augmented_grammar.rb', line 5
def Builder.working_list unvisited
yield unvisited, unvisited.pop while !unvisited.empty?
end
|