spec/rley/support/grammar_ambig01_helper.rb in rley-0.3.11 vs spec/rley/support/grammar_ambig01_helper.rb in rley-0.3.12
- old
+ new
@@ -7,16 +7,17 @@
########################################
# Factory method. Define a grammar for a very simple language
# Grammar 3: An ambiguous arithmetic expression language
# (based on example in article on Earley's algorithm in Wikipedia)
def grammar_ambig01_builder()
- builder = Rley::Syntax::GrammarBuilder.new
- builder.add_terminals('integer', '+', '*')
- builder.add_production('P' => 'S')
- builder.add_production('S' => %w(S + S))
- builder.add_production('S' => %w(S * S))
- builder.add_production('S' => 'L')
- builder.add_production('L' => 'integer')
+ builder = Rley::Syntax::GrammarBuilder.new do
+ add_terminals('integer', '+', '*')
+ rule 'P' => 'S'
+ rule 'S' => %w(S + S)
+ rule 'S' => %w(S * S)
+ rule 'S' => 'L'
+ rule 'L' => 'integer'
+ end
builder
end
# Highly simplified tokenizer implementation.