The BNF Web Club Language SQL, ADA, JAVA, MODULA2, PL/SQL, ...
Browse and explore some of your favourite programming languages syntactic
rules. See relations between the rules, understand them using both BNF (Backus-Naur Form notation) and syntactic diagrams.
These hyperdocuments were generated for pedagogical purposes and are
related to 1st and 2nd year computer science courses
at University of Geneva. The current page is handled by the database
research group of CUI.
Look at the new applet
to test your own languages.
Look at the end of this article
to understand how we generate these pages.
More languages may eventually be added, whenever we find more time...
I. Database languages
Thanks a lot to all the people who sent me the SQL3 BNF. Due to the lack of
practical interest for this standard "grand bazar" of the SQL family, we
postpone the generation of the corresponding BNF-web documents up to a
day where SQL3 will effectively take-off.
SQL as implemented by Oracle(tm) DBMS version 7.
PL/SQL A procedural language extension to SQL
used in Oracle(tm) DBMS version 7.
SQL2 The revised ISO standard also called SQL92.
(really huge, contains 638 grammar rules! Have a thought for the poor
developpers of interpreters or compilers for this one...).
IDL The OMG Interface Definition Language is the language the
interface between objects client and objects servers.
Anyway, Jacques Guyot developped a new
to automatically display syntactic diagrams.
This definitely removes the need
to generate BNF-web's, like those you can browse from this page. Besides that,
our available time to manage the BNF-web club is so reduced that
we do not plan to add any language anymore.
(Any volunteer to become
"Distinguished BNF-Webclub Administrator (DBA) ?
this could be nice for a motivated student in the field of
computer languages... )
II. Procedural programming languages
- JAVA (html) (based on documentation
from SUN microsystem ) JAVA
- JAVA (version française avec
exemples et explications)
- Ada (ISO standard revised in 1994-95,
also called Ada95)
- Modula-2 (as defined in "Programming
in Modula-2", Niklaus Wirth, Springer-Verlag eds., Berlin, 1983.)
III. Non Procedural programming languages
- LISP (A very short grammar !)
- LAZY (Generation hyperviews on database)
- M5 (Information Systems specification
Please do not ask for adding C or C++ BNF descriptions. C programmers
don't need syntax rules, they forge them with #define macros
Credits & Contributors
The BNF webs of each language and the syntactic diagrams were generated
by "HyperGOS", a syntactic tools generator, developped at the
University of Geneva by Jacques Guyot, Thibault Estier and Pascal Crausaz.
HyperGOS is derived from GOS, a generic tool "a la Lex & Yacc",
initialy developped by Jacques Guyot (some 15 years ago...) and extended
since in many directions by many, many contributors, here at University
of Geneva. The automatic diagram layout program was originally written by
NGuyen Lai in 1981.
© 1994-1998 Thibault Estier | firstname.lastname@example.org
Jacques Guyot | email@example.com