Parse EBNF: Difference between revisions

From Rosetta Code
Content added Content deleted
(simple parser generator example ?)
 
m (minor)
Line 5: Line 5:
* You can use regular expressions for lexing.
* You can use regular expressions for lexing.
* Generate the calculator in [[Arithmetic evaluation]] using an EBNF description of the calculator.
* Generate the calculator in [[Arithmetic evaluation]] using an EBNF description of the calculator.
Here is the parser rules taken from the [http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3 antlr tutorial]<pre>expr : term ( ( PLUS | MINUS ) term )* ;
Here are simple parser rules for a calculator taken from the [http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3 antlr tutorial]<pre>expr : term ( ( PLUS | MINUS ) term )* ;


term : factor ( ( MULT | DIV ) factor )* ;
term : factor ( ( MULT | DIV ) factor )* ;

Revision as of 05:19, 12 June 2010

Parse EBNF is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

Create a simple parser for EBNF grammars. Here is an ebnf grammar in itself and a parser for it in php.

  • You can use regular expressions for lexing.
  • Generate the calculator in Arithmetic evaluation using an EBNF description of the calculator.

Here are simple parser rules for a calculator taken from the antlr tutorial

expr	: term ( ( PLUS | MINUS )  term )* ;

term	: factor ( ( MULT | DIV ) factor )* ;

factor	: NUMBER ;