eXternSoft GmbH - Malans, Zürich eXternSoft GmbH - Software für KMU

This EBNF toolset creates fully linked HTML pages from your EBNF descriptions. It is implemented in Perl5 in OO-Perl style. You may provide your own visitors to manipulate the EBNF syntax tree. Since implemented in Perl, you may use it on Unix and MS-Windows platforms (ok, Perl may no be the fancyest language, but hey, I wrote it two decades ago and did not find a good reason yet to migrate a working version to Python or alike ;-)).

The toolset features:

  • fully linked HTML representation of your EBNF description
  • one-click navigation through the syntax tree
  • alphabetic index to productions
  • cross-linking all locations where a production/literal/terminal is used
  • list of literals
  • list of terminals
  • optional list of all lookahead-1 tokens per production
  • optional annotation of lookahead-1 ambiguities
  • check for missing EBNF productions
  • check for duplicated EBNF productions
What Link Format Notes
EBNF Tools [ ebnf.tgz ] tgz tar -xvzf ebnf.tgz
meta syntax [ ebnf.txt ] text source text
meta syntax [ ebnf.html ] HTML created with ebnf2html
VHDL'93 [ vhdl.html ] HTML created with ebnf2annot
Verilog 2001 [ verilog.html ] HTML created with ebnf2annot
C++98, C++11 [ cpp11-iso.html ] HTML created with ebnf2html
C++ Preprocessor [ cpp-iso-pp.html ] HTML created with ebnf2annot
C#5.0, C#4.0, C#3.0, C#2.0, C#1.0 [ csharp50.html ] HTML created with ebnf2annot

For questions and suggestions, please send an e-mail to:

eXternSoft GmbH
Im Tiergarten 5
8055 Z├╝rich
+41 79 751 7650