The BNF Web Club Language SQL, ADA, JAVA, MODULA2, SQL, SPARQL, 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 syntax diagrams.
This site is maintained by the information system interface group at CUI.
More languages may eventually be added, whenever we find more time...
0. Your own language
Use this interactive diagram generation applet to view your own languages in syntax diagram form.
I. Database and knowledge base languages
- new SPARQL a query language for RDF data (applet)
-
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.
You can also visit the free Mimer SQL Validator
II. Procedural programming languages
- JAVA (html) (based on documentation
from SUN microsystem ) JAVA
(applet)
- 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
language)
Please do not ask for adding C or C++ BNF descriptions. C programmers
don't need syntax rules, they forge them with #define macros
;-)
Look at the end of this article
to see how we generated these pages [as of today (2007) this article has become a witness of the early days of the Web]
Credits & Contributors
The BNF webs of each language and the syntacx 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-2007 Thibault Estier | estier@cui.unige.ch
Jacques Guyot | guyot@cui.unige.ch