Parse EBNF: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
(link to ebnf example for calculator)
Line 4: Line 4:
* 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 [http://karmin.ch/ebnf/examples EBNF description] of the calculator.
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 )* ;
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 )* ;



Revision as of 06:24, 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.

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 ;