I am wondering if someone has compiled an EBNF for PHP somewhere. I found both this site and this site. Both seem like they are incomplete, though. This question is very similar, but it's a year old. I would like to know if there has been any progress made.
EBNF grammar definitions for PHP?
10.9k Views Asked by Azmisov At
4
There are 4 best solutions below
0

ANTLR 4 PHP grammar is also available: https://github.com/antlr/grammars-v4/tree/master/php.
Features
- Heterogeneous code processing (islands):
- HTML
- Script
- CSS
- PHP
- Heredoc
- Alternative syntax.
- Heredoc.
- Interpolation strings (but not fully covered).
- aspTags.
- Improved lexer error processing with artificial string fragments
(for example double closed quote at the end:
<div attr='value'' />
).
Testing
Grammar has been tested (parsing without errors) on the following projects:
Also, this parser has been tested on plenty number of PHP files from different CMS (~70000 files).
0

An ANTLR3 grammar is available her:
http://code.google.com/p/phpparser/
The above grammar isn't compatible with ANTLR4, the current ANTLR release.
You may want to have a look at the yacc grammar PHP uses internally. I know, it's not EBNF, but maybe it's okay for your needs.
You may also want to look at the re2c lexer definition.