Solution found on IRC. Recursion for Expression was missing.

This will make it work:

my $dsl = <<'END_OF_DSL';
:default ::= action => [name,values]
lexeme default = latm => 1

Expression ::=
    Expression '+' Term action => do_add
    | Term action => ::first
Term ::=
    Term '*' Factor action => do_multiply
    | Factor action => ::first
Factor ::= Number action => ::first
Number ~ digits
digits ~ [\d]+
:discard ~ whitespace
whitespace ~ [\s]+
END_OF_DSL



-- 
You received this message because you are subscribed to the Google Groups 
"marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to