diff --git a/tank/fl/antlr.html b/tank/fl/antlr.html index 685e7a80..6e39faec 100644 --- a/tank/fl/antlr.html +++ b/tank/fl/antlr.html @@ -13,7 +13,7 @@ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); -

Browsable FL Concrete Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Ralf Lämmel, FL.g, (17 May – 16 July 2008)

Summary

Syntax

program:
+				

Browsable FL Concrete Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Ralf Lämmel, FL.g (17 May – 16 July 2008)

Summary

Syntax

program:
         f::function+
 
function:
         n::id a::id+ "=" e::expr NEWLINE+
diff --git a/tank/fl/dcg.html b/tank/fl/dcg.html
index 38adb286..4eb028fc 100644
--- a/tank/fl/dcg.html
+++ b/tank/fl/dcg.html
@@ -15,7 +15,7 @@
 
 				

Browsable FL Concrete Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Ralf Lämmel, Parser.pro - , (28 July – 3 September 2008)

Summary

Syntax

program:
+				 (28 July – 3 September 2008) 

Summary

  • Number of production rules: 11
  • Number of top alternatives: 11
  • Number of defined nonterminal symbols: 5
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: program
  • Bottom nonterminal symbols: 3: name, newline, int
  • Number of used terminal symbols: 9
  • Special terminal symbols: 6: "=", "(", ")", "==", "+", "-"
  • Keywords: 3: "if", "then", "else"

Syntax

program:
         function+
 
function:
         name name+ "=" expr newline+
diff --git a/tank/fl/ecore.html b/tank/fl/ecore.html
index 5b12650a..1502d228 100644
--- a/tank/fl/ecore.html
+++ b/tank/fl/ecore.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable FL Abstract Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Guido Wachsmuth, Vadim Zaytsev, fl.ecore, (26 June 2008 – 28 May 2009)

Summary

  • Number of production rules: 12
  • Number of top alternatives: 18
  • Number of defined nonterminal symbols: 12
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: Program
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Program:
+				

Browsable FL Abstract Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Guido Wachsmuth, Vadim Zaytsev, fl.ecore (26 June 2008 – 28 May 2009)

Summary

  • Number of production rules: 12
  • Number of top alternatives: 18
  • Number of defined nonterminal symbols: 12
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: Program
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Program:
         function::Function+
 
Function:
         name::string argument::Argument+ definition::Exp
diff --git a/tank/fl/emf.html b/tank/fl/emf.html
index 756fed49..3c32c401 100644
--- a/tank/fl/emf.html
+++ b/tank/fl/emf.html
@@ -15,7 +15,7 @@
 
 				

Browsable FL Abstract Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Vadim Zaytsev, fl.ecore generated from fl.xsd - , (28 May 2009)

Summary

  • Number of production rules: 9
  • Number of top alternatives: 15
  • Number of defined nonterminal symbols: 9
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: ProgramType
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Apply:
+				 (28 May 2009) 

Summary

  • Number of production rules: 9
  • Number of top alternatives: 15
  • Number of defined nonterminal symbols: 9
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: ProgramType
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Apply:
         name::string arg::Expr+
 
Argument:
         name::string
diff --git a/tank/fl/jaxb.html b/tank/fl/jaxb.html
index 51521d6f..7620096c 100644
--- a/tank/fl/jaxb.html
+++ b/tank/fl/jaxb.html
@@ -15,7 +15,7 @@
 
 				

Browsable FL Abstract Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Ralf Lämmel, Program.java, Function.java et al. generated from fl.xsd. - , (21 May – 28 July 2008)

Summary

  • Number of production rules: 11
  • Number of top alternatives: 17
  • Number of defined nonterminal symbols: 11
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 3: ObjectFactory, package-info, Program
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Apply:
+				 (21 May – 28 July 2008) 

Summary

  • Number of production rules: 11
  • Number of top alternatives: 17
  • Number of defined nonterminal symbols: 11
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 3: ObjectFactory, package-info, Program
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Apply:
         Name::string Arg::(Expr*)
 
Argument:
         Name::string
diff --git a/tank/fl/om.html b/tank/fl/om.html
index 5808a53f..631e1655 100644
--- a/tank/fl/om.html
+++ b/tank/fl/om.html
@@ -15,7 +15,7 @@
 
 				

Browsable FL Abstract Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Ralf Lämmel, Program.java, Function.java et al. - , (17 May – 28 July 2008)

Summary

  • Number of production rules: 10
  • Number of top alternatives: 16
  • Number of defined nonterminal symbols: 10
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: Program, Visitor
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Apply:
+				 (17 May – 28 July 2008) 

Summary

  • Number of production rules: 10
  • Number of top alternatives: 16
  • Number of defined nonterminal symbols: 10
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: Program, Visitor
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Apply:
         name::string args::(Expr*)
 
Argument:
         name::string
diff --git a/tank/fl/sdf.html b/tank/fl/sdf.html
index f038beaa..46ff333d 100644
--- a/tank/fl/sdf.html
+++ b/tank/fl/sdf.html
@@ -15,7 +15,7 @@
 
 				

Browsable FL Concrete Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Ralf Lämmel, Vadim Zaytsev, FL.sdf, Syntax.sdf, et al. - , (1–25 Aug 2008)

Summary

  • Number of production rules: 11
  • Number of top alternatives: 11
  • Number of defined nonterminal symbols: 4
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: Program
  • Bottom nonterminal symbols: 3: Name, Newline, Int
  • Number of used terminal symbols: 9
  • Special terminal symbols: 6: "=", "(", ")", "-", "+", "=="
  • Keywords: 3: "if", "then", "else"

Syntax

Program:
+					 (1–25 Aug 2008) 

Summary

  • Number of production rules: 11
  • Number of top alternatives: 11
  • Number of defined nonterminal symbols: 4
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: Program
  • Bottom nonterminal symbols: 3: Name, Newline, Int
  • Number of used terminal symbols: 9
  • Special terminal symbols: 6: "=", "(", ")", "-", "+", "=="
  • Keywords: 3: "if", "then", "else"

Syntax

Program:
         Function+
 
Function:
         Name Name+ "=" Expr Newline+
diff --git a/tank/fl/txl.html b/tank/fl/txl.html
index 59ec9f10..97af4366 100644
--- a/tank/fl/txl.html
+++ b/tank/fl/txl.html
@@ -15,7 +15,7 @@
 
 				

Browsable FL Concrete Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Vadim Zaytsev, FL.Txl. - , (6–7 Jul 2009)

Summary

  • Number of production rules: 4
  • Number of top alternatives: 11
  • Number of defined nonterminal symbols: 4
  • Root nonterminal symbols: program
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 3: id, newline, number
  • Number of used terminal symbols: 9
  • Special terminal symbols: 6: "=", "(", ")", "+", "-", "=="
  • Keywords: 3: "if", "then", "else"

Syntax

program:
+					 (6–7 Jul 2009) 

Summary

  • Number of production rules: 4
  • Number of top alternatives: 11
  • Number of defined nonterminal symbols: 4
  • Root nonterminal symbols: program
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 3: id, newline, number
  • Number of used terminal symbols: 9
  • Special terminal symbols: 6: "=", "(", ")", "+", "-", "=="
  • Keywords: 3: "if", "then", "else"

Syntax

program:
         fun+
 
fun:
         id id+ "=" expression newline
diff --git a/tank/fl/xsd.html b/tank/fl/xsd.html
index 76da18d3..420c04eb 100644
--- a/tank/fl/xsd.html
+++ b/tank/fl/xsd.html
@@ -15,7 +15,7 @@
 
 				

Browsable FL Abstract Syntax Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Ralf Lämmel, fl.xsd. - , (20 May – 29 July 2008)

Summary

  • Number of production rules: 10
  • Number of top alternatives: 16
  • Number of defined nonterminal symbols: 10
  • Root nonterminal symbols: Program, Fragment
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Program:
+					 (20 May – 29 July 2008) 

Summary

  • Number of production rules: 10
  • Number of top alternatives: 16
  • Number of defined nonterminal symbols: 10
  • Root nonterminal symbols: Program, Fragment
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

Program:
         function::Function+
 
Fragment:
         Expr
diff --git a/tank/metasyntax/bgf.html b/tank/metasyntax/bgf.html
index 1d2b6621..950eda39 100644
--- a/tank/metasyntax/bgf.html
+++ b/tank/metasyntax/bgf.html
@@ -15,7 +15,7 @@
 
 				

Browsable BGF in XSD Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Ralf Lämmel, Vadim Zaytsev, bgf.xsd - , (28 July 2008 – 5 February 2009)

Summary

  • Number of production rules: 8
  • Number of top alternatives: 23
  • Number of defined nonterminal symbols: 8
  • Root nonterminal symbols: grammar, production, expression
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

grammar:
+				 (28 July 2008 – 5 February 2009) 

Summary

  • Number of production rules: 8
  • Number of top alternatives: 23
  • Number of defined nonterminal symbols: 8
  • Root nonterminal symbols: grammar, production, expression
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols:

Syntax

grammar:
         root::nonterminal* production*
 
production:
         label::label? nonterminal::nonterminal expression
diff --git a/tank/metasyntax/bnf-sdf.html b/tank/metasyntax/bnf-sdf.html
index f1319a53..3c7dbd3d 100644
--- a/tank/metasyntax/bnf-sdf.html
+++ b/tank/metasyntax/bnf-sdf.html
@@ -15,7 +15,7 @@
 
 				

Browsable BNF in SDF Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Tijs van der Storm, BNF.sdf - , (28 March 2003)

Summary

  • Number of production rules: 6
  • Number of top alternatives: 19
  • Number of defined nonterminal symbols: 6
  • Root nonterminal symbols: Rules
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 9
  • Special terminal symbols: 9: "::=", "<", ">", "|", "[", "]", "{", "}", "..."

Syntax

Rules:
+				 (28 March 2003) 

Summary

  • Number of production rules: 6
  • Number of top alternatives: 19
  • Number of defined nonterminal symbols: 6
  • Root nonterminal symbols: Rules
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 9
  • Special terminal symbols: 9: "::=", "<", ">", "|", "[", "]", "{", "}", "..."

Syntax

Rules:
         Rule*
 
Rule:
         NonTerminal "::=" Elements
diff --git a/tank/metasyntax/ebnf-bgf.html b/tank/metasyntax/ebnf-bgf.html
index f647750b..92cdb7d6 100644
--- a/tank/metasyntax/ebnf-bgf.html
+++ b/tank/metasyntax/ebnf-bgf.html
@@ -15,7 +15,7 @@
 
 				

Browsable EBNF of BGF Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Vadim Zaytsev, ebnf-bgf.bgf - , (11 July 2010 – 11 February 2011)

Summary

  • Number of production rules: 28
  • Number of top alternatives: 40
  • Number of defined nonterminal symbols: 28
  • Root nonterminal symbols: grammar
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 20
  • Special terminal symbols: 15: "[", "]", ":", "\n", " ", " ", "::", "<", ">", "+", "*", "?", """, "(", ")"
  • Keywords: 5: "EMPTY", "EPSILON", "ANY", "INT", "STR"

Syntax

grammar:
+				 (11 July 2010 – 11 February 2011) 

Summary

  • Number of production rules: 28
  • Number of top alternatives: 40
  • Number of defined nonterminal symbols: 28
  • Root nonterminal symbols: grammar
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 20
  • Special terminal symbols: 15: "[", "]", ":", "\n", " ", " ", "::", "<", ">", "+", "*", "?", """, "(", ")"
  • Keywords: 5: "EMPTY", "EPSILON", "ANY", "INT", "STR"

Syntax

grammar:
         production+
 
production:
         label? string defining-metasymbol right-hand-side terminator-metasymbol
diff --git a/tank/metasyntax/ebnf-iso-1.html b/tank/metasyntax/ebnf-iso-1.html
index 80fd1936..ca72b717 100644
--- a/tank/metasyntax/ebnf-iso-1.html
+++ b/tank/metasyntax/ebnf-iso-1.html
@@ -16,7 +16,7 @@
 				

Browsable EBNF of ISO Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: ISO/IEC 14977:1996(E). Information Technology—Syntactic Metalanguage—Extended BNF - , (1996) §8.1 “The syntax of Extended BNF”, pages 8–10

Summary

  • Number of production rules: 53
  • Number of top alternatives: 172
  • Number of defined nonterminal symbols: 51
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: syntax
  • Bottom nonterminal symbols: 1: syntactic-factor
  • Number of used terminal symbols: 106
  • Special terminal symbols: 106: "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ",", "=", "|", "/", "!", "*)", ")", "]", "/)", "}", ":)", "-", "’", "*", """, "?", "(*", "(", "[", "(/", "{", "(:", ";", ".", " ", ":", "+", "_", "%", "@", "&", "#", "$", "<", ">", "\", "^", "‘", "~", "\t", "\r", "\n", "\v", "\f"

Syntax

letter:
+				 (1996) §8.1 “The syntax of Extended BNF”, pages 8–10

Summary

  • Number of production rules: 53
  • Number of top alternatives: 172
  • Number of defined nonterminal symbols: 51
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: syntax
  • Bottom nonterminal symbols: 1: syntactic-factor
  • Number of used terminal symbols: 106
  • Special terminal symbols: 106: "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ",", "=", "|", "/", "!", "*)", ")", "]", "/)", "}", ":)", "-", "’", "*", """, "?", "(*", "(", "[", "(/", "{", "(:", ";", ".", " ", ":", "+", "_", "%", "@", "&", "#", "$", "<", ">", "\", "^", "‘", "~", "\t", "\r", "\n", "\v", "\f"

Syntax

letter:
         "a"
         "b"
         "c"
diff --git a/tank/metasyntax/ebnf-iso-2.html b/tank/metasyntax/ebnf-iso-2.html
index d9e196d0..48f8b7d1 100644
--- a/tank/metasyntax/ebnf-iso-2.html
+++ b/tank/metasyntax/ebnf-iso-2.html
@@ -16,7 +16,7 @@
 				

Browsable EBNF of ISO Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: ISO/IEC 14977:1996(E). Information Technology—Syntactic Metalanguage—Extended BNF - , (1996) §8.2 “Extended BNF used to define itself informally”, page 10

Summary

  • Number of production rules: 18
  • Number of top alternatives: 28
  • Number of defined nonterminal symbols: 18
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: syntax
  • Bottom nonterminal symbols: 3: character, letter, decimal_digit
  • Number of used terminal symbols: 17
  • Special terminal symbols: 17: "=", ";", "|", ",", "-", "*", "[", "]", "{", "}", "(", ")", "’", """, "?", "(*", "*)"

Syntax

syntax:
+					 (1996) §8.2 “Extended BNF used to define itself informally”, page 10

Summary

  • Number of production rules: 18
  • Number of top alternatives: 28
  • Number of defined nonterminal symbols: 18
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: syntax
  • Bottom nonterminal symbols: 3: character, letter, decimal_digit
  • Number of used terminal symbols: 17
  • Special terminal symbols: 17: "=", ";", "|", ",", "-", "*", "[", "]", "{", "}", "(", ")", "’", """, "?", "(*", "*)"

Syntax

syntax:
         syntax_rule+
 
syntax_rule:
         meta_identifier "=" definitions_list ";"
diff --git a/tank/metasyntax/ebnf-iso-3.html b/tank/metasyntax/ebnf-iso-3.html
index 393f0968..6b9c56b6 100644
--- a/tank/metasyntax/ebnf-iso-3.html
+++ b/tank/metasyntax/ebnf-iso-3.html
@@ -16,7 +16,7 @@
 				

Browsable EBNF of ISO Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: ISO/IEC 14977:1996(E). Information Technology—Syntactic Metalanguage—Extended BNF - , (1996) §8.3 “Extended BNF defined informally”, page 10

Summary

  • Number of production rules: 18
  • Number of top alternatives: 28
  • Number of defined nonterminal symbols: 18
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: SYNTAX
  • Bottom nonterminal symbols: 3: CHARACTER, LETTER, DIGIT
  • Number of used terminal symbols: 17
  • Special terminal symbols: 17: "=", ".", "/", ",", "-", "*", "(/", "/)", "(:", ":)", "(", ")", "’", """, "?", "(*", "*)"

Syntax

SYNTAX:
+				 (1996) §8.3 “Extended BNF defined informally”, page 10

Summary

  • Number of production rules: 18
  • Number of top alternatives: 28
  • Number of defined nonterminal symbols: 18
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: SYNTAX
  • Bottom nonterminal symbols: 3: CHARACTER, LETTER, DIGIT
  • Number of used terminal symbols: 17
  • Special terminal symbols: 17: "=", ".", "/", ",", "-", "*", "(/", "/)", "(:", ":)", "(", ")", "’", """, "?", "(*", "*)"

Syntax

SYNTAX:
         SYNTAX_RULE+
 
SYNTAX_RULE:
         META_IDENTIFIER "=" DEFINITIONS_LIST "."
diff --git a/tank/metasyntax/ebnf-sdf.html b/tank/metasyntax/ebnf-sdf.html
index 3d59abe5..9fb16b62 100644
--- a/tank/metasyntax/ebnf-sdf.html
+++ b/tank/metasyntax/ebnf-sdf.html
@@ -15,7 +15,7 @@
 
 				

Browsable EBNF in SDF Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Paul Klint, W3C version of EBNF.sdf - , (27 March 2007)

Summary

  • Number of production rules: 5
  • Number of top alternatives: 12
  • Number of defined nonterminal symbols: 5
  • Root nonterminal symbols: Grammar
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 8
  • Special terminal symbols: 8: "::=", "(", ")", "?", "*", "+", "|", """

Syntax

Grammar:
+				 (27 March 2007) 

Summary

  • Number of production rules: 5
  • Number of top alternatives: 12
  • Number of defined nonterminal symbols: 5
  • Root nonterminal symbols: Grammar
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 8
  • Special terminal symbols: 8: "::=", "(", ")", "?", "*", "+", "|", """

Syntax

Grammar:
         Rule*
 
Rule:
         IdCon "::=" Expression
diff --git a/tank/metasyntax/lll-kort.html b/tank/metasyntax/lll-kort.html
index 1b82e326..d3f35eee 100644
--- a/tank/metasyntax/lll-kort.html
+++ b/tank/metasyntax/lll-kort.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable LLL Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Jan Kort, The LLL grammar format, (May 2003) GDK Reference Manual, Chapter 3, page 3

Summary

  • Number of production rules: 9
  • Number of top alternatives: 15
  • Number of defined nonterminal symbols: 9
  • Root nonterminal symbols: specification
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 2: ident, literal
  • Number of used terminal symbols: 11
  • Special terminal symbols: 11: ":", ";", "|", "%epsilon", "+", "*", "?", "{", "}", "(", ")"

Syntax

specification:
+				

Browsable LLL Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Jan Kort, The LLL grammar format (May 2003) GDK Reference Manual, Chapter 3, page 3

Summary

  • Number of production rules: 9
  • Number of top alternatives: 15
  • Number of defined nonterminal symbols: 9
  • Root nonterminal symbols: specification
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 2: ident, literal
  • Number of used terminal symbols: 11
  • Special terminal symbols: 11: ":", ";", "|", "%epsilon", "+", "*", "?", "{", "}", "(", ")"

Syntax

specification:
         rule+
 
rule:
         ident ":" disjunction ";"
diff --git a/tank/metasyntax/lll-ldta.html b/tank/metasyntax/lll-ldta.html
index f0af73fb..7ae0e742 100644
--- a/tank/metasyntax/lll-ldta.html
+++ b/tank/metasyntax/lll-ldta.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable LLL Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Jan Kort, Ralf Lämmel, Chris Verhoef, The LLL grammar format, (April 2002) GDK System Demo, page 2

Summary

  • Number of production rules: 8
  • Number of top alternatives: 11
  • Number of defined nonterminal symbols: 8
  • Root nonterminal symbols: grammar
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 2: sort, literal
  • Number of used terminal symbols: 6
  • Special terminal symbols: 6: ":", ";", "|", "*", "+", "?"

Syntax

grammar:
+				

Browsable LLL Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Jan Kort, Ralf Lämmel, Chris Verhoef, The LLL grammar format (April 2002) GDK System Demo, page 2

Summary

  • Number of production rules: 8
  • Number of top alternatives: 11
  • Number of defined nonterminal symbols: 8
  • Root nonterminal symbols: grammar
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 2: sort, literal
  • Number of used terminal symbols: 6
  • Special terminal symbols: 6: ":", ";", "|", "*", "+", "?"

Syntax

grammar:
         rule+
 
rule:
         sort ":" alts ";"
diff --git a/tank/metasyntax/txl.html b/tank/metasyntax/txl.html
index eb9d27fb..82d2aebd 100644
--- a/tank/metasyntax/txl.html
+++ b/tank/metasyntax/txl.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable TXL Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: James R. Cordy, Validated TXL Basis Grammar for TXL 10.5, (February 2009) Version 1.0

Summary

  • Number of production rules: 58
  • Number of top alternatives: 119
  • Number of defined nonterminal symbols: 58
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: program, typeidOrQuotedLiteral
  • Bottom nonterminal symbols: 14: comment, NL, stringlit, IN, EX, SP, key, TAB_24, TAB_16, TAB, lengthrule, token, id, special
  • Number of used terminal symbols: 51
  • Special terminal symbols: 17: "|", "...", "+", "[", "]", "!", ":", "~", ">", "<", "*", "?", ",", ",+", "$", "'", "#"
  • Keywords: 34: "include", "keys", "end", "compounds", "comments", "tokens", "define", "redefine", "NL", "IN", "EX", "opt", "repeat", "list", "attr", "see", "not", "push", "pop", "rule", "replace", "by", "match", "function", "external", "construct", "deconstruct", "where", "all", "assert", "import", "export", "skipping", "each"

Syntax

program:
+				

Browsable TXL Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: James R. Cordy, Validated TXL Basis Grammar for TXL 10.5 (February 2009) Version 1.0

Summary

  • Number of production rules: 58
  • Number of top alternatives: 119
  • Number of defined nonterminal symbols: 58
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: program, typeidOrQuotedLiteral
  • Bottom nonterminal symbols: 14: comment, NL, stringlit, IN, EX, SP, key, TAB_24, TAB_16, TAB, lengthrule, token, id, special
  • Number of used terminal symbols: 51
  • Special terminal symbols: 17: "|", "...", "+", "[", "]", "!", ":", "~", ">", "<", "*", "?", ",", ",+", "$", "'", "#"
  • Keywords: 34: "include", "keys", "end", "compounds", "comments", "tokens", "define", "redefine", "NL", "IN", "EX", "opt", "repeat", "list", "attr", "see", "not", "push", "pop", "rule", "replace", "by", "match", "function", "external", "construct", "deconstruct", "where", "all", "assert", "import", "export", "skipping", "each"

Syntax

program:
         statement*
 
statement:
         includeStatement
diff --git a/tank/metasyntax/yacc.html b/tank/metasyntax/yacc.html
index 5561672a..da8db818 100644
--- a/tank/metasyntax/yacc.html
+++ b/tank/metasyntax/yacc.html
@@ -15,7 +15,7 @@
 
 				

Browsable YACC Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Tank for details.

Source used for this grammar: Paul Klint, YACC.sdf - , (28 March 2007)

Summary

  • Number of production rules: 6
  • Number of top alternatives: 12
  • Number of defined nonterminal symbols: 6
  • Root nonterminal symbols: Grammar
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: C-declarations, Extra-C-code, Terminal, Literal, String, NonTerminal, C-code
  • Number of used terminal symbols: 10
  • Special terminal symbols: 10: "%%", "%token", "%left", "%right", "%nonassoc", "%start", ":", "|", ";", "%prec"

Syntax

Grammar:
+				 (28 March 2007) 

Summary

  • Number of production rules: 6
  • Number of top alternatives: 12
  • Number of defined nonterminal symbols: 6
  • Root nonterminal symbols: Grammar
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: C-declarations, Extra-C-code, Terminal, Literal, String, NonTerminal, C-code
  • Number of used terminal symbols: 10
  • Special terminal symbols: 10: "%%", "%token", "%left", "%right", "%nonassoc", "%start", ":", "|", ";", "%prec"

Syntax

Grammar:
         C-declarations Yacc-declarations "%%" Grammar-rules "%%" Extra-C-code
 
Yacc-declarations:
         Yacc-declaration*
diff --git a/zoo/ada/kellogg.html b/zoo/ada/kellogg.html
index e3cd573b..d71682ca 100644
--- a/zoo/ada/kellogg.html
+++ b/zoo/ada/kellogg.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable Ada 95 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Oliver Kellogg, , (2003)

Summary

  • Number of production rules: 315
  • Number of top alternatives: 414
  • Number of defined nonterminal symbols: 315
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 8: compilation_unit, basic_declarative_items, known_discrim_part, enumeration_aggregate, abortable_part, operator_call, WS_, COMMENT
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 141
  • Special terminal symbols: 72: "--", "..", "<<", "<>", ">>", ":=", "=>", "/=", "<=", ">=", "**", "|", "&", ".", "=", "<", ">", "+", "-", "*", "/", "(", ")", ":", ",", ";", "'", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "_", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", """, "#", " ", "\t", "\f", "\r\n", "\r", "\n"
  • Keywords: 69: "abort", "abs", "abstract", "accept", "access", "aliased", "all", "and", "array", "at", "begin", "body", "case", "constant", "declare", "delay", "delta", "digits", "do", "else", "elsif", "end", "entry", "exception", "exit", "for", "function", "generic", "goto", "if", "in", "is", "limited", "loop", "mod", "new", "not", "null", "of", "or", "others", "out", "package", "pragma", "private", "procedure", "protected", "raise", "range", "record", "rem", "renames", "requeue", "return", "reverse", "select", "separate", "subtype", "tagged", "task", "terminate", "then", "type", "until", "use", "when", "while", "with", "xor"

Syntax

compilation_unit:
+				

Browsable Ada 95 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Oliver Kellogg, (2003)

Summary

  • Number of production rules: 315
  • Number of top alternatives: 414
  • Number of defined nonterminal symbols: 315
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 8: compilation_unit, basic_declarative_items, known_discrim_part, enumeration_aggregate, abortable_part, operator_call, WS_, COMMENT
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 141
  • Special terminal symbols: 72: "--", "..", "<<", "<>", ">>", ":=", "=>", "/=", "<=", ">=", "**", "|", "&", ".", "=", "<", ">", "+", "-", "*", "/", "(", ")", ":", ",", ";", "'", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "_", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", """, "#", " ", "\t", "\f", "\r\n", "\r", "\n"
  • Keywords: 69: "abort", "abs", "abstract", "accept", "access", "aliased", "all", "and", "array", "at", "begin", "body", "case", "constant", "declare", "delay", "delta", "digits", "do", "else", "elsif", "end", "entry", "exception", "exit", "for", "function", "generic", "goto", "if", "in", "is", "limited", "loop", "mod", "new", "not", "null", "of", "or", "others", "out", "package", "pragma", "private", "procedure", "protected", "raise", "range", "record", "rem", "renames", "requeue", "return", "reverse", "select", "separate", "subtype", "tagged", "task", "terminate", "then", "type", "until", "use", "when", "while", "with", "xor"

Syntax

compilation_unit:
         context_items_opt (library_item | subunit) pragma*
 
pragma:
         PRAGMA IDENTIFIER pragma_args_opt SEMI
diff --git a/zoo/ada/laemmel-verhoef.html b/zoo/ada/laemmel-verhoef.html
index 7b81d8fc..fd1b12bc 100644
--- a/zoo/ada/laemmel-verhoef.html
+++ b/zoo/ada/laemmel-verhoef.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable Ada 95 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Ralf Lämmel, Chris Verhoef, Engineering of Grammarware. Browsable Ada 95 Grammar 1.0, (December 2000)

Summary

Syntax

pragma:
+				

Browsable Ada 95 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Ralf Lämmel, Chris Verhoef, Engineering of Grammarware. Browsable Ada 95 Grammar 1.0 (December 2000)

Summary

Syntax

pragma:
         "pragma" identifier ("(" pragma_argument_association ("," pragma_argument_association)* ")")? ";"
 
pragma_argument_association:
         (pragma_argument_identifier "=>")? name
diff --git a/zoo/c/iso-9899-1999.html b/zoo/c/iso-9899-1999.html
index 24081739..47a8d87a 100644
--- a/zoo/c/iso-9899-1999.html
+++ b/zoo/c/iso-9899-1999.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable ISO C 1999 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Programming languages — C, (December 1999) Annex A, pages 402–416

Summary

  • Number of production rules: 69
  • Number of top alternatives: 200
  • Number of defined nonterminal symbols: 69
  • Root nonterminal symbols: translation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 4: identifier, constant, string-literal, enumeration-constant
  • Number of used terminal symbols: 83
  • Special terminal symbols: 46: "{", "}", ";", ",", ":", "*", "(", ")", "[", "]", "?", "||", "&&", "|", "^", "&", "==", "!=", "<", ">", "<=", ">=", "<<", ">>", "+", "-", "/", "%", "++", "--", ".", "->", "...", "=", "~", "!", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "&=", "^=", "|="
  • Keywords: 37: "typedef", "extern", "static", "auto", "register", "void", "char", "short", "int", "long", "float", "double", "signed", "unsigned", "_Bool", "_Complex", "_Imaginary", "struct", "union", "const", "restrict", "volatile", "sizeof", "enum", "inline", "case", "default", "if", "else", "switch", "while", "do", "for", "goto", "continue", "break", "return"

Syntax

translation-unit:
+				

Browsable ISO C 1999 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Programming languages — C (December 1999) Annex A, pages 402–416

Summary

  • Number of production rules: 69
  • Number of top alternatives: 200
  • Number of defined nonterminal symbols: 69
  • Root nonterminal symbols: translation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 4: identifier, constant, string-literal, enumeration-constant
  • Number of used terminal symbols: 83
  • Special terminal symbols: 46: "{", "}", ";", ",", ":", "*", "(", ")", "[", "]", "?", "||", "&&", "|", "^", "&", "==", "!=", "<", ">", "<=", ">=", "<<", ">>", "+", "-", "/", "%", "++", "--", ".", "->", "...", "=", "~", "!", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "&=", "^=", "|="
  • Keywords: 37: "typedef", "extern", "static", "auto", "register", "void", "char", "short", "int", "long", "float", "double", "signed", "unsigned", "_Bool", "_Complex", "_Imaginary", "struct", "union", "const", "restrict", "volatile", "sizeof", "enum", "inline", "case", "default", "if", "else", "switch", "while", "do", "for", "goto", "continue", "break", "return"

Syntax

translation-unit:
         external-declaration
         translation-unit external-declaration
 
external-declaration:
diff --git a/zoo/c/iso-9899-tc2.html b/zoo/c/iso-9899-tc2.html
index 3aaedc73..2acd6bcd 100644
--- a/zoo/c/iso-9899-tc2.html
+++ b/zoo/c/iso-9899-tc2.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable ISO C 2005 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: WG14/N1124 Committee Draft, (May 2005) Annex A, pages 403–417

Summary

  • Number of production rules: 69
  • Number of top alternatives: 199
  • Number of defined nonterminal symbols: 69
  • Root nonterminal symbols: translation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 4: identifier, constant, string-literal, enumeration-constant
  • Number of used terminal symbols: 82
  • Special terminal symbols: 46: "{", "}", ";", ",", ":", "*", "(", ")", "[", "]", "?", "||", "&&", "|", "^", "&", "==", "!=", "<", ">", "<=", ">=", "<<", ">>", "+", "-", "/", "%", "++", "--", ".", "->", "...", "=", "~", "!", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "&=", "^=", "|="
  • Keywords: 36: "typedef", "extern", "static", "auto", "register", "void", "char", "short", "int", "long", "float", "double", "signed", "unsigned", "_Bool", "_Complex", "struct", "union", "const", "restrict", "volatile", "sizeof", "enum", "inline", "case", "default", "if", "else", "switch", "while", "do", "for", "goto", "continue", "break", "return"

Syntax

translation-unit:
+				

Browsable ISO C 2005 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: WG14/N1124 Committee Draft (May 2005) Annex A, pages 403–417

Summary

  • Number of production rules: 69
  • Number of top alternatives: 199
  • Number of defined nonterminal symbols: 69
  • Root nonterminal symbols: translation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 4: identifier, constant, string-literal, enumeration-constant
  • Number of used terminal symbols: 82
  • Special terminal symbols: 46: "{", "}", ";", ",", ":", "*", "(", ")", "[", "]", "?", "||", "&&", "|", "^", "&", "==", "!=", "<", ">", "<=", ">=", "<<", ">>", "+", "-", "/", "%", "++", "--", ".", "->", "...", "=", "~", "!", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "&=", "^=", "|="
  • Keywords: 36: "typedef", "extern", "static", "auto", "register", "void", "char", "short", "int", "long", "float", "double", "signed", "unsigned", "_Bool", "_Complex", "struct", "union", "const", "restrict", "volatile", "sizeof", "enum", "inline", "case", "default", "if", "else", "switch", "while", "do", "for", "goto", "continue", "break", "return"

Syntax

translation-unit:
         external-declaration
         translation-unit external-declaration
 
external-declaration:
diff --git a/zoo/c/iso-9899-tc3.html b/zoo/c/iso-9899-tc3.html
index 11225823..6a0db01b 100644
--- a/zoo/c/iso-9899-tc3.html
+++ b/zoo/c/iso-9899-tc3.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable ISO C 2007 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: WG14/N1256 Committee Draft, (September 2007) Annex A, pages 403–418

Summary

  • Number of production rules: 69
  • Number of top alternatives: 201
  • Number of defined nonterminal symbols: 69
  • Root nonterminal symbols: translation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 4: identifier, constant, string-literal, enumeration-constant
  • Number of used terminal symbols: 82
  • Special terminal symbols: 46: "{", "}", ";", ",", ":", "*", "(", ")", "[", "]", "?", "||", "&&", "|", "^", "&", "==", "!=", "<", ">", "<=", ">=", "<<", ">>", "+", "-", "/", "%", "++", "--", ".", "->", "...", "=", "~", "!", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "&=", "^=", "|="
  • Keywords: 36: "typedef", "extern", "static", "auto", "register", "void", "char", "short", "int", "long", "float", "double", "signed", "unsigned", "_Bool", "_Complex", "struct", "union", "const", "restrict", "volatile", "sizeof", "enum", "inline", "case", "default", "if", "else", "switch", "while", "do", "for", "goto", "continue", "break", "return"

Syntax

translation-unit:
+				

Browsable ISO C 2007 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: WG14/N1256 Committee Draft (September 2007) Annex A, pages 403–418

Summary

  • Number of production rules: 69
  • Number of top alternatives: 201
  • Number of defined nonterminal symbols: 69
  • Root nonterminal symbols: translation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 4: identifier, constant, string-literal, enumeration-constant
  • Number of used terminal symbols: 82
  • Special terminal symbols: 46: "{", "}", ";", ",", ":", "*", "(", ")", "[", "]", "?", "||", "&&", "|", "^", "&", "==", "!=", "<", ">", "<=", ">=", "<<", ">>", "+", "-", "/", "%", "++", "--", ".", "->", "...", "=", "~", "!", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "&=", "^=", "|="
  • Keywords: 36: "typedef", "extern", "static", "auto", "register", "void", "char", "short", "int", "long", "float", "double", "signed", "unsigned", "_Bool", "_Complex", "struct", "union", "const", "restrict", "volatile", "sizeof", "enum", "inline", "case", "default", "if", "else", "switch", "while", "do", "for", "goto", "continue", "break", "return"

Syntax

translation-unit:
         external-declaration
         translation-unit external-declaration
 
external-declaration:
diff --git a/zoo/cpp/iso-n2723.html b/zoo/cpp/iso-n2723.html
index bea86a50..44c93708 100644
--- a/zoo/cpp/iso-n2723.html
+++ b/zoo/cpp/iso-n2723.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable ISO C++ 2008 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Standard for Programming Language C++, (August 2008) Annex A, pages 1089–1101

Summary

  • Number of production rules: 159
  • Number of top alternatives: 449
  • Number of defined nonterminal symbols: 159
  • Root nonterminal symbols: translation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 3: identifier, literal, string-literal
  • Number of used terminal symbols: 119
  • Special terminal symbols: 50: ";", "::", "(", ")", "<", ">", "...", ",", "?", ":", "||", "&&", "|", "^", "&", "==", "!=", "<=", ">=", "<<", ">>", "+", "-", "*", "/", "%", ".*", "->*", "++", "--", "[", "]", ".", "->", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", "{", "}", "~", "!", "0"
  • Keywords: 69: "friend", "typedef", "constexpr", "register", "static", "thread_local", "extern", "mutable", "template", "char", "char16_t", "char32_t", "wchar_t", "bool", "short", "int", "long", "signed", "unsigned", "float", "double", "void", "auto", "decltype", "sizeof", "alignof", "dynamic_cast", "static_cast", "reinterpret_cast", "const_cast", "typeid", "this", "throw", "operator", "new", "delete", "const", "volatile", "case", "default", "if", "else", "switch", "while", "do", "for", "break", "continue", "return", "goto", "try", "catch", "typename", "class", "struct", "union", "virtual", "private", "protected", "public", "using", "static_assert", "export", "enum", "inline", "explicit", "alignas", "asm", "namespace"

Syntax

translation-unit:
+				

Browsable ISO C++ 2008 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Standard for Programming Language C++ (August 2008) Annex A, pages 1089–1101

Summary

  • Number of production rules: 159
  • Number of top alternatives: 449
  • Number of defined nonterminal symbols: 159
  • Root nonterminal symbols: translation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 3: identifier, literal, string-literal
  • Number of used terminal symbols: 119
  • Special terminal symbols: 50: ";", "::", "(", ")", "<", ">", "...", ",", "?", ":", "||", "&&", "|", "^", "&", "==", "!=", "<=", ">=", "<<", ">>", "+", "-", "*", "/", "%", ".*", "->*", "++", "--", "[", "]", ".", "->", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", "{", "}", "~", "!", "0"
  • Keywords: 69: "friend", "typedef", "constexpr", "register", "static", "thread_local", "extern", "mutable", "template", "char", "char16_t", "char32_t", "wchar_t", "bool", "short", "int", "long", "signed", "unsigned", "float", "double", "void", "auto", "decltype", "sizeof", "alignof", "dynamic_cast", "static_cast", "reinterpret_cast", "const_cast", "typeid", "this", "throw", "operator", "new", "delete", "const", "volatile", "case", "default", "if", "else", "switch", "while", "do", "for", "break", "continue", "return", "goto", "try", "catch", "typename", "class", "struct", "union", "virtual", "private", "protected", "public", "using", "static_assert", "export", "enum", "inline", "explicit", "alignas", "asm", "namespace"

Syntax

translation-unit:
         declaration-seq?
 
declaration-seq:
         declaration
diff --git a/zoo/cs/csharp-ecma-334-1.html b/zoo/cs/csharp-ecma-334-1.html
index eb4469cd..2bcf2fcc 100644
--- a/zoo/cs/csharp-ecma-334-1.html
+++ b/zoo/cs/csharp-ecma-334-1.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable C# 1.x Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: , (December 2001) Appendix A, pages 339–364

Summary

  • Number of production rules: 241
  • Number of top alternatives: 671
  • Number of defined nonterminal symbols: 241
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: compilation-unit, keyword
  • Bottom nonterminal symbols: 2: identifier, literal
  • Number of used terminal symbols: 131
  • Special terminal symbols: 44: ".", "[", "]", ",", "(", ")", "++", "--", "+", "-", "!", "~", "*", "/", "%", "<<", ">>", "<", ">", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "?", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "{", "}", ";"
  • Keywords: 87: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "is", "as", "const", "if", "else", "switch", "case", "default", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "namespace", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "extern", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "enum", "assembly", "field", "method", "module", "param", "property", "delegate", "fixed", "interface", "null", "sizeof", "stackalloc", "unsafe"

Syntax

namespace-name:
+				

Browsable C# 1.x Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: (December 2001) Appendix A, pages 339–364

Summary

  • Number of production rules: 241
  • Number of top alternatives: 671
  • Number of defined nonterminal symbols: 241
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: compilation-unit, keyword
  • Bottom nonterminal symbols: 2: identifier, literal
  • Number of used terminal symbols: 131
  • Special terminal symbols: 44: ".", "[", "]", ",", "(", ")", "++", "--", "+", "-", "!", "~", "*", "/", "%", "<<", ">>", "<", ">", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "?", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "{", "}", ";"
  • Keywords: 87: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "is", "as", "const", "if", "else", "switch", "case", "default", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "namespace", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "extern", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "enum", "assembly", "field", "method", "module", "param", "property", "delegate", "fixed", "interface", "null", "sizeof", "stackalloc", "unsafe"

Syntax

namespace-name:
         namespace-or-type-name
 
type-name:
         namespace-or-type-name
diff --git a/zoo/cs/csharp-ecma-334-2.html b/zoo/cs/csharp-ecma-334-2.html
index 8cc2add5..fc8646a7 100644
--- a/zoo/cs/csharp-ecma-334-2.html
+++ b/zoo/cs/csharp-ecma-334-2.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable C# 1.x Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: , (December 2002) Appendix A, pages 335–360

Summary

  • Number of production rules: 241
  • Number of top alternatives: 668
  • Number of defined nonterminal symbols: 241
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: compilation-unit, keyword
  • Bottom nonterminal symbols: 2: identifier, literal
  • Number of used terminal symbols: 131
  • Special terminal symbols: 44: ".", "[", "]", ",", "(", ")", "++", "--", "+", "-", "!", "~", "*", "/", "%", "<<", ">>", "<", ">", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "?", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "{", "}", ";"
  • Keywords: 87: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "is", "as", "const", "if", "else", "switch", "case", "default", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "namespace", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "extern", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "interface", "enum", "delegate", "assembly", "field", "method", "param", "property", "fixed", "null", "sizeof", "stackalloc", "unsafe", "module"

Syntax

compilation-unit:
+				

Browsable C# 1.x Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: (December 2002) Appendix A, pages 335–360

Summary

  • Number of production rules: 241
  • Number of top alternatives: 668
  • Number of defined nonterminal symbols: 241
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: compilation-unit, keyword
  • Bottom nonterminal symbols: 2: identifier, literal
  • Number of used terminal symbols: 131
  • Special terminal symbols: 44: ".", "[", "]", ",", "(", ")", "++", "--", "+", "-", "!", "~", "*", "/", "%", "<<", ">>", "<", ">", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "?", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "{", "}", ";"
  • Keywords: 87: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "is", "as", "const", "if", "else", "switch", "case", "default", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "namespace", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "extern", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "interface", "enum", "delegate", "assembly", "field", "method", "param", "property", "fixed", "null", "sizeof", "stackalloc", "unsafe", "module"

Syntax

compilation-unit:
         using-directives? global-attributes? namespace-member-declarations?
 
namespace-name:
         namespace-or-type-name
diff --git a/zoo/cs/csharp-ecma-334-3.html b/zoo/cs/csharp-ecma-334-3.html
index a661c7a7..5dfc05c5 100644
--- a/zoo/cs/csharp-ecma-334-3.html
+++ b/zoo/cs/csharp-ecma-334-3.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable C# 2.0 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: , (June 2005)

Summary

  • Number of production rules: 269
  • Number of top alternatives: 729
  • Number of defined nonterminal symbols: 269
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: compilation-unit
  • Bottom nonterminal symbols: 4: identifier, literal, right-shift, right-shift-assignment
  • Number of used terminal symbols: 129
  • Special terminal symbols: 44: ".", "?", "[", "]", ",", "(", ")", "++", "--", "::", "<", ">", "+", "-", "!", "~", "*", "/", "%", "<<", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "??", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", "{", "}", ";"
  • Keywords: 85: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "default", "delegate", "is", "as", "const", "if", "else", "switch", "case", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "yield", "namespace", "extern", "alias", "partial", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "interface", "enum", "where", "fixed", "null", "sizeof", "stackalloc", "unsafe"

Syntax

compilation-unit:
+				

Browsable C# 2.0 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: (June 2005)

Summary

  • Number of production rules: 269
  • Number of top alternatives: 729
  • Number of defined nonterminal symbols: 269
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: compilation-unit
  • Bottom nonterminal symbols: 4: identifier, literal, right-shift, right-shift-assignment
  • Number of used terminal symbols: 129
  • Special terminal symbols: 44: ".", "?", "[", "]", ",", "(", ")", "++", "--", "::", "<", ">", "+", "-", "!", "~", "*", "/", "%", "<<", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "??", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", "{", "}", ";"
  • Keywords: 85: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "default", "delegate", "is", "as", "const", "if", "else", "switch", "case", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "yield", "namespace", "extern", "alias", "partial", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "interface", "enum", "where", "fixed", "null", "sizeof", "stackalloc", "unsafe"

Syntax

compilation-unit:
         extern-alias-directives? using-directives? global-attributes? namespace-member-declarations?
 
namespace-name:
         namespace-or-type-name
diff --git a/zoo/cs/csharp-ecma-334-4.html b/zoo/cs/csharp-ecma-334-4.html
index 31af5f39..cd77bee9 100644
--- a/zoo/cs/csharp-ecma-334-4.html
+++ b/zoo/cs/csharp-ecma-334-4.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable C# 2.0 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: , (June 2006)

Summary

  • Number of production rules: 271
  • Number of top alternatives: 731
  • Number of defined nonterminal symbols: 271
  • Root nonterminal symbols: compilation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 2: identifier, literal
  • Number of used terminal symbols: 131
  • Special terminal symbols: 46: ";", "=", ".", "<", ">", ",", "?", "[", "]", "::", ":", "(", ")", "??", "||", "&&", "|", "^", "&", "==", "!=", "<=", ">=", "<<", "+", "-", "*", "/", "%", "!", "~", "{", "}", "++", "--", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", ">>"
  • Keywords: 85: "extern", "alias", "using", "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "abstract", "as", "base", "break", "case", "catch", "checked", "class", "const", "continue", "default", "delegate", "do", "else", "enum", "event", "explicit", "false", "finally", "fixed", "for", "foreach", "goto", "if", "implicit", "in", "interface", "internal", "is", "lock", "namespace", "new", "null", "operator", "out", "override", "params", "private", "protected", "public", "readonly", "ref", "return", "sealed", "sizeof", "stackalloc", "static", "struct", "switch", "this", "throw", "true", "try", "typeof", "unchecked", "unsafe", "virtual", "void", "volatile", "while", "get", "set", "yield", "add", "remove", "partial", "where"

Syntax

compilation-unit:
+				

Browsable C# 2.0 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: (June 2006)

Summary

  • Number of production rules: 271
  • Number of top alternatives: 731
  • Number of defined nonterminal symbols: 271
  • Root nonterminal symbols: compilation-unit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 2: identifier, literal
  • Number of used terminal symbols: 131
  • Special terminal symbols: 46: ";", "=", ".", "<", ">", ",", "?", "[", "]", "::", ":", "(", ")", "??", "||", "&&", "|", "^", "&", "==", "!=", "<=", ">=", "<<", "+", "-", "*", "/", "%", "!", "~", "{", "}", "++", "--", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", ">>"
  • Keywords: 85: "extern", "alias", "using", "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "abstract", "as", "base", "break", "case", "catch", "checked", "class", "const", "continue", "default", "delegate", "do", "else", "enum", "event", "explicit", "false", "finally", "fixed", "for", "foreach", "goto", "if", "implicit", "in", "interface", "internal", "is", "lock", "namespace", "new", "null", "operator", "out", "override", "params", "private", "protected", "public", "readonly", "ref", "return", "sealed", "sizeof", "stackalloc", "static", "struct", "switch", "this", "throw", "true", "try", "typeof", "unchecked", "unsafe", "virtual", "void", "volatile", "while", "get", "set", "yield", "add", "remove", "partial", "where"

Syntax

compilation-unit:
         extern-alias-directives? using-directives? global-attributes? namespace-member-declarations?
 
extern-alias-directives:
         extern-alias-directive
diff --git a/zoo/cs/csharp-iso-23270-2003.html b/zoo/cs/csharp-iso-23270-2003.html
index 328141e0..12d76fb7 100644
--- a/zoo/cs/csharp-iso-23270-2003.html
+++ b/zoo/cs/csharp-iso-23270-2003.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable C# 1.x Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Information technology — Programming languages — C#, (2003)

Summary

  • Number of production rules: 240
  • Number of top alternatives: 583
  • Number of defined nonterminal symbols: 240
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: compilation-unit
  • Bottom nonterminal symbols: 2: identifier, literal
  • Number of used terminal symbols: 127
  • Special terminal symbols: 44: ".", ",", "(", ")", "[", "]", "++", "--", "+", "-", "!", "~", "*", "/", "%", "<<", ">>", "<", ">", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "?", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "{", "}", ";"
  • Keywords: 83: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "is", "as", "const", "if", "else", "switch", "case", "default", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "namespace", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "extern", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "interface", "enum", "delegate", "assembly", "field", "method", "module", "param", "property", "type"

Syntax

compilation-unit:
+				

Browsable C# 1.x Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Information technology — Programming languages — C# (2003)

Summary

  • Number of production rules: 240
  • Number of top alternatives: 583
  • Number of defined nonterminal symbols: 240
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: compilation-unit
  • Bottom nonterminal symbols: 2: identifier, literal
  • Number of used terminal symbols: 127
  • Special terminal symbols: 44: ".", ",", "(", ")", "[", "]", "++", "--", "+", "-", "!", "~", "*", "/", "%", "<<", ">>", "<", ">", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "?", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "{", "}", ";"
  • Keywords: 83: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "is", "as", "const", "if", "else", "switch", "case", "default", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "namespace", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "extern", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "interface", "enum", "delegate", "assembly", "field", "method", "module", "param", "property", "type"

Syntax

compilation-unit:
         using-directives? global-attributes? namespace-member-declarations?
 
namespace-name:
         namespace-or-type-name
diff --git a/zoo/cs/csharp-iso-23270-2006.html b/zoo/cs/csharp-iso-23270-2006.html
index 79afb554..f5346a01 100644
--- a/zoo/cs/csharp-iso-23270-2006.html
+++ b/zoo/cs/csharp-iso-23270-2006.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable C# 2.0 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Information technology — Programming languages — C#, (September 2006)

Summary

  • Number of production rules: 269
  • Number of top alternatives: 729
  • Number of defined nonterminal symbols: 269
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: compilation-unit
  • Bottom nonterminal symbols: 4: identifier, literal, right-shift, right-shift-assignment
  • Number of used terminal symbols: 129
  • Special terminal symbols: 44: ".", "?", "[", "]", ",", "(", ")", "++", "--", "::", "<", ">", "+", "-", "!", "~", "*", "/", "%", "<<", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "??", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", "{", "}", ";"
  • Keywords: 85: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "default", "delegate", "is", "as", "const", "if", "else", "switch", "case", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "yield", "namespace", "extern", "alias", "partial", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "interface", "enum", "where", "fixed", "null", "sizeof", "stackalloc", "unsafe"

Syntax

compilation-unit:
+				

Browsable C# 2.0 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Information technology — Programming languages — C# (September 2006)

Summary

  • Number of production rules: 269
  • Number of top alternatives: 729
  • Number of defined nonterminal symbols: 269
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: compilation-unit
  • Bottom nonterminal symbols: 4: identifier, literal, right-shift, right-shift-assignment
  • Number of used terminal symbols: 129
  • Special terminal symbols: 44: ".", "?", "[", "]", ",", "(", ")", "++", "--", "::", "<", ">", "+", "-", "!", "~", "*", "/", "%", "<<", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "??", ":", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", "{", "}", ";"
  • Keywords: 85: "bool", "decimal", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "float", "double", "object", "string", "ref", "out", "this", "base", "new", "typeof", "void", "checked", "unchecked", "default", "delegate", "is", "as", "const", "if", "else", "switch", "case", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "yield", "namespace", "extern", "alias", "partial", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "implicit", "explicit", "struct", "interface", "enum", "where", "fixed", "null", "sizeof", "stackalloc", "unsafe"

Syntax

compilation-unit:
         extern-alias-directives? using-directives? global-attributes? namespace-member-declarations?
 
namespace-name:
         namespace-or-type-name
diff --git a/zoo/cs/csharp-zaytsev.html b/zoo/cs/csharp-zaytsev.html
index d18a0849..3c6efb87 100644
--- a/zoo/cs/csharp-zaytsev.html
+++ b/zoo/cs/csharp-zaytsev.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable C# 1.x Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Vadim Zaytsev, ECMA-334 C# Grammar Recovered, (2005)

Summary

  • Number of production rules: 145
  • Number of top alternatives: 418
  • Number of defined nonterminal symbols: 145
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: compilation-unit, struct-member-declarations
  • Bottom nonterminal symbols: 8: lex-csharp-extra/plus, lex-csharp-extra/minus, lex-csharp-extra/less-than, lex-csharp-extra/greater-than, lex-csharp/literal, lex-csharp/identifier, lex-csharp-extra/bar, lex-csharp-extra/ampersand
  • Number of used terminal symbols: 121
  • Special terminal symbols: 38: "!", "~", "*", "++", "--", "<<", ">>", "<=", ">=", "==", "!=", "{", "}", ";", ",", "[", "]", "(", ")", ".", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "?", ":", "||", "&&", "^", "/", "%"
  • Keywords: 83: "ref", "out", "is", "as", "implicit", "explicit", "bool", "decimal", "float", "double", "object", "string", "else", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "new", "this", "base", "typeof", "checked", "unchecked", "const", "if", "switch", "case", "default", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "namespace", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "extern", "void", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "struct", "interface", "enum", "delegate", "assembly", "field", "method", "module", "param", "property", "type"

Syntax

ref-or-out:
+				

Browsable C# 1.x Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Vadim Zaytsev, ECMA-334 C# Grammar Recovered (2005)

Summary

  • Number of production rules: 145
  • Number of top alternatives: 418
  • Number of defined nonterminal symbols: 145
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 2: compilation-unit, struct-member-declarations
  • Bottom nonterminal symbols: 8: lex-csharp-extra/plus, lex-csharp-extra/minus, lex-csharp-extra/less-than, lex-csharp-extra/greater-than, lex-csharp/literal, lex-csharp/identifier, lex-csharp-extra/bar, lex-csharp-extra/ampersand
  • Number of used terminal symbols: 121
  • Special terminal symbols: 38: "!", "~", "*", "++", "--", "<<", ">>", "<=", ">=", "==", "!=", "{", "}", ";", ",", "[", "]", "(", ")", ".", "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "?", ":", "||", "&&", "^", "/", "%"
  • Keywords: 83: "ref", "out", "is", "as", "implicit", "explicit", "bool", "decimal", "float", "double", "object", "string", "else", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "char", "new", "this", "base", "typeof", "checked", "unchecked", "const", "if", "switch", "case", "default", "while", "do", "for", "foreach", "in", "break", "continue", "goto", "return", "throw", "try", "catch", "finally", "lock", "using", "namespace", "class", "public", "protected", "internal", "private", "abstract", "sealed", "static", "readonly", "volatile", "virtual", "override", "extern", "void", "params", "get", "set", "event", "add", "remove", "operator", "true", "false", "struct", "interface", "enum", "delegate", "assembly", "field", "method", "module", "param", "property", "type"

Syntax

ref-or-out:
         "ref"
         "out"
 
expression-unary-operator:
diff --git a/zoo/dart/google.html b/zoo/dart/google.html
index 4e479924..10d53897 100644
--- a/zoo/dart/google.html
+++ b/zoo/dart/google.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable Google Dart Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Google, Inc., Dart subversion repository, (October 2011) bleeding edge branch, revision 14

Summary

  • Number of production rules: 187
  • Number of top alternatives: 425
  • Number of defined nonterminal symbols: 187
  • Root nonterminal symbols: compilationUnit, libraryUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 1: EOF
  • Number of used terminal symbols: 166
  • Special terminal symbols: 122: "#!", "\n", "\r", "#", ";", "_", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "$", "(", ")", ",", ":", ".", "[", "]", "0x", "0X", "+", "-", "@", """"", "\'\'\'", """, "\'", "\\", "<", ">", "{", "}", "=", "=>", "?", "||", "&&", "|", "^", "&", "++", "--", "!", "~", "*", "/", "%", "~/", "<<", "<=", "==", "!=", "===", "!==", "*=", "/=", "~/=", "%=", "+=", "-=", "<<=", "&=", "^=", "|="
  • Keywords: 44: "abstract", "assert", "class", "extends", "factory", "get", "implements", "import", "interface", "is", "library", "native", "negate", "operator", "set", "source", "static", "typedef", "this", "super", "null", "true", "false", "const", "new", "void", "final", "var", "while", "do", "for", "in", "if", "else", "switch", "case", "default", "try", "catch", "finally", "break", "continue", "return", "throw"

Syntax

compilationUnit:
+				

Browsable Google Dart Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Google, Inc., Dart subversion repository (October 2011) bleeding edge branch, revision 14

Summary

  • Number of production rules: 187
  • Number of top alternatives: 425
  • Number of defined nonterminal symbols: 187
  • Root nonterminal symbols: compilationUnit, libraryUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 1: EOF
  • Number of used terminal symbols: 166
  • Special terminal symbols: 122: "#!", "\n", "\r", "#", ";", "_", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "$", "(", ")", ",", ":", ".", "[", "]", "0x", "0X", "+", "-", "@", """"", "\'\'\'", """, "\'", "\\", "<", ">", "{", "}", "=", "=>", "?", "||", "&&", "|", "^", "&", "++", "--", "!", "~", "*", "/", "%", "~/", "<<", "<=", "==", "!=", "===", "!==", "*=", "/=", "~/=", "%=", "+=", "-=", "<<=", "&=", "^=", "|="
  • Keywords: 44: "abstract", "assert", "class", "extends", "factory", "get", "implements", "import", "interface", "is", "library", "native", "negate", "operator", "set", "source", "static", "typedef", "this", "super", "null", "true", "false", "const", "new", "void", "final", "var", "while", "do", "for", "in", "if", "else", "switch", "case", "default", "try", "catch", "finally", "break", "continue", "return", "throw"

Syntax

compilationUnit:
         HASHBANG? directive* topLevelDefinition* EOF
 
HASHBANG:
         "#!" any* NEWLINE?
diff --git a/zoo/eiffel/bezault.html b/zoo/eiffel/bezault.html
index 442bcf8d..896200a7 100644
--- a/zoo/eiffel/bezault.html
+++ b/zoo/eiffel/bezault.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable Eiffel Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Eric Bezault, Eiffel: The Syntax, (1999)

Summary

  • Number of production rules: 155
  • Number of top alternatives: 244
  • Number of defined nonterminal symbols: 155
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: Class_declaration
  • Bottom nonterminal symbols: 10: Manifest_string, Header_comment, Free_operator, Comment, Character_constant, Bit_constant, Real, Hexadecimal_constant, Letter, Decimal_digit
  • Number of used terminal symbols: 89
  • Special terminal symbols: 31: "--", ";", ":", ",", "-", ">", "{", "}", """, "+", "*", "/", "<", "<=", ">=", "//", "\\", "^", "(", ")", "!", ".", ":=", "?=", "..", "$", "=", "/=", "<<", ">>", "_"
  • Keywords: 58: "end", "class", "indexing", "deferred", "expanded", "separate", "obsolete", "inherit", "rename", "as", "export", "all", "redefine", "undefine", "select", "creation", "feature", "is", "Unique", "frozen", "prefix", "infix", "not", "and", "or", "xor", "then", "else", "implies", "do", "once", "external", "alias", "local", "require", "ensure", "invariant", "rescue", "BIT", "like", "Current", "if", "elseif", "inspect", "when", "from", "variant", "loop", "until", "debug", "check", "retry", "Result", "Precursor", "True", "False", "old", "Strip"

Syntax

Class_declaration:
+				

Browsable Eiffel Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Eric Bezault, Eiffel: The Syntax (1999)

Summary

  • Number of production rules: 155
  • Number of top alternatives: 244
  • Number of defined nonterminal symbols: 155
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: Class_declaration
  • Bottom nonterminal symbols: 10: Manifest_string, Header_comment, Free_operator, Comment, Character_constant, Bit_constant, Real, Hexadecimal_constant, Letter, Decimal_digit
  • Number of used terminal symbols: 89
  • Special terminal symbols: 31: "--", ";", ":", ",", "-", ">", "{", "}", """, "+", "*", "/", "<", "<=", ">=", "//", "\\", "^", "(", ")", "!", ".", ":=", "?=", "..", "$", "=", "/=", "<<", ">>", "_"
  • Keywords: 58: "end", "class", "indexing", "deferred", "expanded", "separate", "obsolete", "inherit", "rename", "as", "export", "all", "redefine", "undefine", "select", "creation", "feature", "is", "Unique", "frozen", "prefix", "infix", "not", "and", "or", "xor", "then", "else", "implies", "do", "once", "external", "alias", "local", "require", "ensure", "invariant", "rescue", "BIT", "like", "Current", "if", "elseif", "inspect", "when", "from", "variant", "loop", "until", "debug", "check", "retry", "Result", "Precursor", "True", "False", "old", "Strip"

Syntax

Class_declaration:
         Indexing? Class_header Formal_generics? Obsolete? Inheritance? Creators? Features? Invariant? "end" ("--" "class" Class_name)?
 
Indexing:
         "indexing" Index_list
diff --git a/zoo/eiffel/iso-25436-2006.html b/zoo/eiffel/iso-25436-2006.html
index 7374ca51..cf9e05ab 100644
--- a/zoo/eiffel/iso-25436-2006.html
+++ b/zoo/eiffel/iso-25436-2006.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable Eiffel Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Information technology — Eiffel: Analysis, Design and Programming Language, (2006) Syntax sections collected from pages 30–158

Summary

  • Number of production rules: 224
  • Number of top alternatives: 357
  • Number of defined nonterminal symbols: 224
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: Class_declaration
  • Bottom nonterminal symbols: 10: Identifier, Free_unary, Free_binary, Character, Real, Simple_string, Line_wrapping_part, Line_sequence, New_line, Blanks_or_tabs
  • Number of used terminal symbols: 129
  • Special terminal symbols: 67: ";", ":", ",", "=", """, "[]", "+", "-", "*", "/", "//", "\\", "^", "..", "<", ">", "<=", ">=", "{", "}", "(", ")", "?", "!", "[", "]", "->", "({", "})", ":{", ".", "/=", "~", "/~", ":=", "(|", "|)", "}.", "$", "'", "C", "C++", "--", "0", "b", "c", "x", "B", "X", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "d", "e", "f", "A", "D", "E", "F", "_"
  • Keywords: 62: "end", "note", "class", "deferred", "expanded", "frozen", "obsolete", "feature", "alias", "convert", "not", "and", "or", "xor", "then", "else", "implies", "assign", "inherit", "NONE", "rename", "as", "export", "all", "do", "once", "local", "require", "ensure", "invariant", "old", "only", "check", "variant", "redefine", "undefine", "like", "Current", "create", "TUPLE", "select", "if", "elseif", "inspect", "when", "from", "until", "loop", "debug", "attribute", "Result", "rescue", "retry", "agent", "True", "False", "external", "signature", "use", "inline", "dll", "windows"

Syntax

Class_name:
+				

Browsable Eiffel Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Information technology — Eiffel: Analysis, Design and Programming Language (2006) Syntax sections collected from pages 30–158

Summary

  • Number of production rules: 224
  • Number of top alternatives: 357
  • Number of defined nonterminal symbols: 224
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 1: Class_declaration
  • Bottom nonterminal symbols: 10: Identifier, Free_unary, Free_binary, Character, Real, Simple_string, Line_wrapping_part, Line_sequence, New_line, Blanks_or_tabs
  • Number of used terminal symbols: 129
  • Special terminal symbols: 67: ";", ":", ",", "=", """, "[]", "+", "-", "*", "/", "//", "\\", "^", "..", "<", ">", "<=", ">=", "{", "}", "(", ")", "?", "!", "[", "]", "->", "({", "})", ":{", ".", "/=", "~", "/~", ":=", "(|", "|)", "}.", "$", "'", "C", "C++", "--", "0", "b", "c", "x", "B", "X", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "d", "e", "f", "A", "D", "E", "F", "_"
  • Keywords: 62: "end", "note", "class", "deferred", "expanded", "frozen", "obsolete", "feature", "alias", "convert", "not", "and", "or", "xor", "then", "else", "implies", "assign", "inherit", "NONE", "rename", "as", "export", "all", "do", "once", "local", "require", "ensure", "invariant", "old", "only", "check", "variant", "redefine", "undefine", "like", "Current", "create", "TUPLE", "select", "if", "elseif", "inspect", "when", "from", "until", "loop", "debug", "attribute", "Result", "rescue", "retry", "agent", "True", "False", "external", "signature", "use", "inline", "dll", "windows"

Syntax

Class_name:
         Identifier
 
Class_declaration:
         Notes? Class_header Formal_generics? Obsolete? Inheritance? Creators? Converters? Features? Invariant? Notes? "end"
diff --git a/zoo/fortran/derricks.html b/zoo/fortran/derricks.html
index e4d314e0..a40afcee 100644
--- a/zoo/fortran/derricks.html
+++ b/zoo/fortran/derricks.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable Fortran-90 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Jan Derricks, , (12 July 2007)

Summary

  • Number of production rules: 331
  • Number of top alternatives: 751
  • Number of defined nonterminal symbols: 331
  • Root nonterminal symbols: ExecutableProgram
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 14: StartCommentBlock, EOS, Label, Ident, Icon, Dop, Scon, Rcon, ScalarIntLiteralConstant, Letter, Character, BinaryConstant, OctalConstant, HexConstant
  • Number of used terminal symbols: 173
  • Special terminal symbols: 38: ",", "(", ")", "=", "*", "//", "+", "-", "/", "(/", "/)", "_", "%", ":", "**", "==", "/=", "<", "<=", ">", ">=", "I", ".", "O", "B", "Z", "F", "E", "G", "L", "A", "D", "P", "T", "X", "S", "H", "=>"
  • Keywords: 135: "program", "implicit", "none", "integer", "real", "double", "precision", "complex", "character", "logical", "type", "kind", ".eqv.", ".neqv.", ".or.", ".and.", ".not.", ".true.", ".false.", ".eq.", ".ne.", ".lt.", ".le.", ".gt.", ".ge.", "len", "parameter", "format", "EN", "ES", "TL", "TR", "SP", "SS", "BN", "BZ", "entry", "result", "allocatable", "dimension", "external", "intent", "intrinsic", "optional", "pointer", "save", "target", "public", "private", "in", "out", "operator", "assignment", "common", "data", "equivalence", "namelist", "sequence", "end", "interface", "subroutine", "recursive", "function", "module", "procedure", "use", "only", "allocate", "stat", "cycle", "deallocate", "exit", "nullify", "where", "if", "assign", "to", "backspace", "unit=", "iostat=", "err=", "call", "close", "unit", "iostat", "err", "status", "continue", "file", "go", "inquire", "iolength", "exist", "opened", "number", "named", "name", "access", "sequential", "direct", "form", "formatted", "unformatted", "recl", "nextrec", "blank", "position", "action", "read", "write", "readwrite", "delim", "pad", "open", "pause", "print", "fmt", "nml", "rec", "advance", "size", "eor", "return", "rewind", "stop", "do", "while", "then", "else", "select", "case", "default", "elsewhere", "contains", "block"

Syntax

ExecutableProgram:
+				

Browsable Fortran-90 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Jan Derricks, (12 July 2007)

Summary

  • Number of production rules: 331
  • Number of top alternatives: 751
  • Number of defined nonterminal symbols: 331
  • Root nonterminal symbols: ExecutableProgram
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 14: StartCommentBlock, EOS, Label, Ident, Icon, Dop, Scon, Rcon, ScalarIntLiteralConstant, Letter, Character, BinaryConstant, OctalConstant, HexConstant
  • Number of used terminal symbols: 173
  • Special terminal symbols: 38: ",", "(", ")", "=", "*", "//", "+", "-", "/", "(/", "/)", "_", "%", ":", "**", "==", "/=", "<", "<=", ">", ">=", "I", ".", "O", "B", "Z", "F", "E", "G", "L", "A", "D", "P", "T", "X", "S", "H", "=>"
  • Keywords: 135: "program", "implicit", "none", "integer", "real", "double", "precision", "complex", "character", "logical", "type", "kind", ".eqv.", ".neqv.", ".or.", ".and.", ".not.", ".true.", ".false.", ".eq.", ".ne.", ".lt.", ".le.", ".gt.", ".ge.", "len", "parameter", "format", "EN", "ES", "TL", "TR", "SP", "SS", "BN", "BZ", "entry", "result", "allocatable", "dimension", "external", "intent", "intrinsic", "optional", "pointer", "save", "target", "public", "private", "in", "out", "operator", "assignment", "common", "data", "equivalence", "namelist", "sequence", "end", "interface", "subroutine", "recursive", "function", "module", "procedure", "use", "only", "allocate", "stat", "cycle", "deallocate", "exit", "nullify", "where", "if", "assign", "to", "backspace", "unit=", "iostat=", "err=", "call", "close", "unit", "iostat", "err", "status", "continue", "file", "go", "inquire", "iolength", "exist", "opened", "number", "named", "name", "access", "sequential", "direct", "form", "formatted", "unformatted", "recl", "nextrec", "blank", "position", "action", "read", "write", "readwrite", "delim", "pad", "open", "pause", "print", "fmt", "nml", "rec", "advance", "size", "eor", "return", "rewind", "stop", "do", "while", "then", "else", "select", "case", "default", "elsewhere", "contains", "block"

Syntax

ExecutableProgram:
         StartCommentBlock? ProgramUnit+
 
ProgramUnit:
         MainProgram
diff --git a/zoo/java/java-1-jls-impl.html b/zoo/java/java-1-jls-impl.html
index 94a2a770..e4d86663 100644
--- a/zoo/java/java-1-jls-impl.html
+++ b/zoo/java/java-1-jls-impl.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable JDK 1.0 aka Java 1 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Java Language Specification, (1996) §19: LALR(1) Grammar, pages 439–453

Summary

  • Number of production rules: 281
  • Number of top alternatives: 281
  • Number of defined nonterminal symbols: 134
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral
  • Number of used terminal symbols: 91
  • Special terminal symbols: 46: "--", ";", ",", "&", "{", "}", "(", ")", "++", "?", ":", "+", "-", "[", "]", "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", "&&", "==", "!=", "*", "/", "%", "~", "!", ".", "^", "<", ">", "<=", ">=", "||", "|", "<<", ">>", ">>>"
  • Keywords: 45: "boolean", "interface", "implements", "catch", "import", "this", "super", "throws", "finally", "return", "case", "default", "break", "if", "synchronized", "new", "extends", "else", "public", "protected", "private", "static", "abstract", "final", "native", "transient", "volatile", "throw", "package", "instanceof", "while", "for", "continue", "switch", "do", "try", "float", "double", "class", "byte", "short", "int", "long", "char", "void"

Syntax

ClassBodyDeclarations:
+				

Browsable JDK 1.0 aka Java 1 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Java Language Specification (1996) §19: LALR(1) Grammar, pages 439–453

Summary

  • Number of production rules: 281
  • Number of top alternatives: 281
  • Number of defined nonterminal symbols: 134
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral
  • Number of used terminal symbols: 91
  • Special terminal symbols: 46: "--", ";", ",", "&", "{", "}", "(", ")", "++", "?", ":", "+", "-", "[", "]", "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", "&&", "==", "!=", "*", "/", "%", "~", "!", ".", "^", "<", ">", "<=", ">=", "||", "|", "<<", ">>", ">>>"
  • Keywords: 45: "boolean", "interface", "implements", "catch", "import", "this", "super", "throws", "finally", "return", "case", "default", "break", "if", "synchronized", "new", "extends", "else", "public", "protected", "private", "static", "abstract", "final", "native", "transient", "volatile", "throw", "package", "instanceof", "while", "for", "continue", "switch", "do", "try", "float", "double", "class", "byte", "short", "int", "long", "char", "void"

Syntax

ClassBodyDeclarations:
         ClassBodyDeclaration
 
ClassBodyDeclarations:
         ClassBodyDeclarations ClassBodyDeclaration
diff --git a/zoo/java/java-1-jls-read.html b/zoo/java/java-1-jls-read.html
index 0e634c3b..060085bf 100644
--- a/zoo/java/java-1-jls-read.html
+++ b/zoo/java/java-1-jls-read.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable JDK 1.0 aka Java 1 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Java Language Specification, (1996)

Summary

  • Number of production rules: 316
  • Number of top alternatives: 316
  • Number of defined nonterminal symbols: 149
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral
  • Number of used terminal symbols: 91
  • Special terminal symbols: 46: "--", ";", ",", "&", "{", "}", ".", "(", ")", "++", "+", "-", "[", "]", "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", ":", "&&", "==", "!=", "*", "/", "%", "~", "!", "^", "<", ">", "<=", ">=", "||", "?", "|", "<<", ">>", ">>>"
  • Keywords: 45: "boolean", "interface", "implements", "catch", "if", "public", "abstract", "final", "import", "this", "super", "throws", "return", "case", "default", "break", "protected", "private", "synchronized", "new", "extends", "else", "throw", "package", "instanceof", "while", "static", "finally", "for", "continue", "switch", "native", "do", "try", "float", "double", "class", "byte", "short", "int", "long", "char", "void", "transient", "volatile"

Syntax

ClassBodyDeclarations:
+				

Browsable JDK 1.0 aka Java 1 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Java Language Specification (1996)

Summary

  • Number of production rules: 316
  • Number of top alternatives: 316
  • Number of defined nonterminal symbols: 149
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral
  • Number of used terminal symbols: 91
  • Special terminal symbols: 46: "--", ";", ",", "&", "{", "}", ".", "(", ")", "++", "+", "-", "[", "]", "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", ":", "&&", "==", "!=", "*", "/", "%", "~", "!", "^", "<", ">", "<=", ">=", "||", "?", "|", "<<", ">>", ">>>"
  • Keywords: 45: "boolean", "interface", "implements", "catch", "if", "public", "abstract", "final", "import", "this", "super", "throws", "return", "case", "default", "break", "protected", "private", "synchronized", "new", "extends", "else", "throw", "package", "instanceof", "while", "static", "finally", "for", "continue", "switch", "native", "do", "try", "float", "double", "class", "byte", "short", "int", "long", "char", "void", "transient", "volatile"

Syntax

ClassBodyDeclarations:
         ClassBodyDeclaration
 
ClassBodyDeclarations:
         ClassBodyDeclarations ClassBodyDeclaration
diff --git a/zoo/java/java-2-jls-impl.html b/zoo/java/java-2-jls-impl.html
index 1c09777a..c3621dbc 100644
--- a/zoo/java/java-2-jls-impl.html
+++ b/zoo/java/java-2-jls-impl.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable J2SE 1.2 “Playground” aka Java 2 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Java Language Specification, (1998) §18: Syntax, pages 449–456

Summary

  • Number of production rules: 182
  • Number of top alternatives: 182
  • Number of defined nonterminal symbols: 77
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, CharacterLiteral, StringLiteral, BooleanLiteral, NullLiteral
  • Number of used terminal symbols: 92
  • Special terminal symbols: 46: "++", "--", "!", "~", "+", "-", ":", ";", "=", ",", "(", ")", "{", "}", ".", "[", "]", "*", "?", "||", "&&", "|", "^", "&", "==", "!=", "<", ">", "<=", ">=", "<<", ">>", ">>>", "/", "%", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>="
  • Keywords: 46: "case", "default", "void", "final", "interface", "extends", "if", "else", "for", "while", "do", "try", "finally", "switch", "synchronized", "return", "throw", "break", "continue", "public", "protected", "private", "static", "abstract", "native", "transient", "volatile", "strictfp", "import", "package", "byte", "short", "char", "int", "long", "float", "double", "boolean", "catch", "this", "super", "new", "throws", "class", "implements", "instanceof"

Syntax

ConstantExpression:
+				

Browsable J2SE 1.2 “Playground” aka Java 2 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Java Language Specification (1998) §18: Syntax, pages 449–456

Summary

  • Number of production rules: 182
  • Number of top alternatives: 182
  • Number of defined nonterminal symbols: 77
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, CharacterLiteral, StringLiteral, BooleanLiteral, NullLiteral
  • Number of used terminal symbols: 92
  • Special terminal symbols: 46: "++", "--", "!", "~", "+", "-", ":", ";", "=", ",", "(", ")", "{", "}", ".", "[", "]", "*", "?", "||", "&&", "|", "^", "&", "==", "!=", "<", ">", "<=", ">=", "<<", ">>", ">>>", "/", "%", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>="
  • Keywords: 46: "case", "default", "void", "final", "interface", "extends", "if", "else", "for", "while", "do", "try", "finally", "switch", "synchronized", "return", "throw", "break", "continue", "public", "protected", "private", "static", "abstract", "native", "transient", "volatile", "strictfp", "import", "package", "byte", "short", "char", "int", "long", "float", "double", "boolean", "catch", "this", "super", "new", "throws", "class", "implements", "instanceof"

Syntax

ConstantExpression:
         Expression
 
PrefixOp:
         "++"
diff --git a/zoo/java/java-2-jls-read.html b/zoo/java/java-2-jls-read.html
index b6d6d78c..67815bd5 100644
--- a/zoo/java/java-2-jls-read.html
+++ b/zoo/java/java-2-jls-read.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable J2SE 1.2 “Playground” aka Java 2 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Java Language Specification, (1998)

Summary

  • Number of production rules: 347
  • Number of top alternatives: 347
  • Number of defined nonterminal symbols: 152
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral
  • Number of used terminal symbols: 92
  • Special terminal symbols: 46: "--", ";", ",", "&", ".", "(", ")", "++", "+", "-", "[", "]", "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", ":", "&&", "==", "!=", "*", "/", "%", "{", "}", "~", "!", "^", "<", ">", "<=", ">=", "||", "?", "|", "<<", ">>", ">>>"
  • Keywords: 46: "boolean", "interface", "implements", "catch", "if", "public", "protected", "private", "abstract", "static", "final", "strictfp", "import", "this", "super", "throws", "class", "void", "return", "case", "default", "break", "synchronized", "new", "extends", "else", "throw", "package", "instanceof", "while", "finally", "for", "continue", "switch", "native", "do", "try", "float", "double", "byte", "short", "int", "long", "char", "transient", "volatile"

Syntax

ClassBodyDeclarations:
+				

Browsable J2SE 1.2 “Playground” aka Java 2 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Java Language Specification (1998)

Summary

  • Number of production rules: 347
  • Number of top alternatives: 347
  • Number of defined nonterminal symbols: 152
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral
  • Number of used terminal symbols: 92
  • Special terminal symbols: 46: "--", ";", ",", "&", ".", "(", ")", "++", "+", "-", "[", "]", "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", ":", "&&", "==", "!=", "*", "/", "%", "{", "}", "~", "!", "^", "<", ">", "<=", ">=", "||", "?", "|", "<<", ">>", ">>>"
  • Keywords: 46: "boolean", "interface", "implements", "catch", "if", "public", "protected", "private", "abstract", "static", "final", "strictfp", "import", "this", "super", "throws", "class", "void", "return", "case", "default", "break", "synchronized", "new", "extends", "else", "throw", "package", "instanceof", "while", "finally", "for", "continue", "switch", "native", "do", "try", "float", "double", "byte", "short", "int", "long", "char", "transient", "volatile"

Syntax

ClassBodyDeclarations:
         ClassBodyDeclaration
 
ClassBodyDeclarations:
         ClassBodyDeclarations ClassBodyDeclaration
diff --git a/zoo/java/java-5-habelitz.html b/zoo/java/java-5-habelitz.html
index 723aec9d..976117e0 100644
--- a/zoo/java/java-5-habelitz.html
+++ b/zoo/java/java-5-habelitz.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Dieter Habelitz, , (2008)

Summary

  • Number of production rules: 226
  • Number of top alternatives: 397
  • Number of defined nonterminal symbols: 226
  • Root nonterminal symbols: javaSource
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 166
  • Special terminal symbols: 115: "@", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "(", "=", "+", "-", "++", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", ")", "\'", "\\", "\"", """, "[", "]", "{", ",", "}", "<", "?", ">", ">>", ">>>", ";", "&", "...", ":", "--", "~", "!", "*", "/", "%", "<<", "<=", ">=", "==", "!=", "^", "|", "&&", "||", ".*"
  • Keywords: 51: "true", "false", "null", "new", "boolean", "char", "byte", "short", "int", "long", "float", "double", "extends", "super", "final", "public", "protected", "private", "static", "abstract", "native", "synchronized", "transient", "volatile", "strictfp", "class", "implements", "interface", "throws", "void", "enum", "default", "assert", "if", "else", "for", "while", "do", "try", "catch", "finally", "switch", "case", "return", "throw", "break", "continue", "this", "instanceof", "package", "import"

Syntax

javaSource:
+				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Dieter Habelitz, (2008)

Summary

  • Number of production rules: 226
  • Number of top alternatives: 397
  • Number of defined nonterminal symbols: 226
  • Root nonterminal symbols: javaSource
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 166
  • Special terminal symbols: 115: "@", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "(", "=", "+", "-", "++", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", ")", "\'", "\\", "\"", """, "[", "]", "{", ",", "}", "<", "?", ">", ">>", ">>>", ";", "&", "...", ":", "--", "~", "!", "*", "/", "%", "<<", "<=", ">=", "==", "!=", "^", "|", "&&", "||", ".*"
  • Keywords: 51: "true", "false", "null", "new", "boolean", "char", "byte", "short", "int", "long", "float", "double", "extends", "super", "final", "public", "protected", "private", "static", "abstract", "native", "synchronized", "transient", "volatile", "strictfp", "class", "implements", "interface", "throws", "void", "enum", "default", "assert", "if", "else", "for", "while", "do", "try", "catch", "finally", "switch", "case", "return", "throw", "break", "continue", "this", "instanceof", "package", "import"

Syntax

javaSource:
         compilationUnit
 
compilationUnit:
         annotationList packageDeclaration? importDeclaration* typeDecls*
diff --git a/zoo/java/java-5-jls-impl.html b/zoo/java/java-5-jls-impl.html
index f1f66b58..d2c0eeb0 100644
--- a/zoo/java/java-5-jls-impl.html
+++ b/zoo/java/java-5-jls-impl.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Java Language Specification, (2004) §18: Syntax, pages 585–596

Summary

  • Number of production rules: 246
  • Number of top alternatives: 246
  • Number of defined nonterminal symbols: 116
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, CharacterLiteral, StringLiteral, BooleanLiteral, NullLiteral
  • Number of used terminal symbols: 96
  • Special terminal symbols: 48: ":", ";", "(", ")", "{", "}", "@", "=", ".", ",", "<", ">", "[", "]", "...", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "++", "--", "*", "?", "||", "&&", "|", "^", "&", "==", "!=", "<=", ">=", "<<", ">>", ">>>", "+", "-", "/", "%", "!", "~"
  • Keywords: 48: "class", "extends", "implements", "assert", "if", "else", "for", "while", "do", "try", "finally", "switch", "synchronized", "return", "throw", "break", "continue", "catch", "static", "interface", "this", "super", "new", "throws", "case", "default", "void", "public", "protected", "private", "abstract", "final", "native", "transient", "volatile", "strictfp", "enum", "instanceof", "import", "byte", "short", "char", "int", "long", "float", "double", "boolean", "package"

Syntax

NormalClassDeclaration:
+				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Java Language Specification (2004) §18: Syntax, pages 585–596

Summary

  • Number of production rules: 246
  • Number of top alternatives: 246
  • Number of defined nonterminal symbols: 116
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, CharacterLiteral, StringLiteral, BooleanLiteral, NullLiteral
  • Number of used terminal symbols: 96
  • Special terminal symbols: 48: ":", ";", "(", ")", "{", "}", "@", "=", ".", ",", "<", ">", "[", "]", "...", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=", "++", "--", "*", "?", "||", "&&", "|", "^", "&", "==", "!=", "<=", ">=", "<<", ">>", ">>>", "+", "-", "/", "%", "!", "~"
  • Keywords: 48: "class", "extends", "implements", "assert", "if", "else", "for", "while", "do", "try", "finally", "switch", "synchronized", "return", "throw", "break", "continue", "catch", "static", "interface", "this", "super", "new", "throws", "case", "default", "void", "public", "protected", "private", "abstract", "final", "native", "transient", "volatile", "strictfp", "enum", "instanceof", "import", "byte", "short", "char", "int", "long", "float", "double", "boolean", "package"

Syntax

NormalClassDeclaration:
         "class" Identifier TypeParameters? ("extends" Type)? ("implements" TypeList)? ClassBody
 
ExplicitGenericInvocation:
         NonWildcardTypeArguments ExplicitGenericInvocationSuffix
diff --git a/zoo/java/java-5-jls-read.html b/zoo/java/java-5-jls-read.html
index d83f4904..1a753c3c 100644
--- a/zoo/java/java-5-jls-read.html
+++ b/zoo/java/java-5-jls-read.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Java Language Specification, (2004)

Summary

  • Number of production rules: 440
  • Number of top alternatives: 440
  • Number of defined nonterminal symbols: 201
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral
  • Number of used terminal symbols: 96
  • Special terminal symbols: 48: "--", ",", "&", "{", "}", ".", ";", "(", ")", "@", "++", "[", "]", "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", ":", "&&", "==", "!=", "*", "/", "%", "~", "!", "<", ">", "...", "^", "<=", ">=", "?", "+", "-", "|", "||", "<<", ">>", ">>>"
  • Keywords: 48: "class", "boolean", "implements", "catch", "new", "if", "public", "protected", "private", "abstract", "static", "final", "strictfp", "import", "interface", "this", "super", "throws", "void", "extends", "case", "default", "break", "synchronized", "else", "for", "return", "enum", "throw", "package", "instanceof", "while", "finally", "continue", "switch", "assert", "native", "do", "try", "float", "double", "byte", "short", "int", "long", "char", "transient", "volatile"

Syntax

ClassBodyDeclarations:
+				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Java Language Specification (2004)

Summary

  • Number of production rules: 440
  • Number of top alternatives: 440
  • Number of defined nonterminal symbols: 201
  • Root nonterminal symbols: CompilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 7: Identifier, IntegerLiteral, FloatingPointLiteral, BooleanLiteral, CharacterLiteral, StringLiteral, NullLiteral
  • Number of used terminal symbols: 96
  • Special terminal symbols: 48: "--", ",", "&", "{", "}", ".", ";", "(", ")", "@", "++", "[", "]", "=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", ":", "&&", "==", "!=", "*", "/", "%", "~", "!", "<", ">", "...", "^", "<=", ">=", "?", "+", "-", "|", "||", "<<", ">>", ">>>"
  • Keywords: 48: "class", "boolean", "implements", "catch", "new", "if", "public", "protected", "private", "abstract", "static", "final", "strictfp", "import", "interface", "this", "super", "throws", "void", "extends", "case", "default", "break", "synchronized", "else", "for", "return", "enum", "throw", "package", "instanceof", "while", "finally", "continue", "switch", "assert", "native", "do", "try", "float", "double", "byte", "short", "int", "long", "char", "transient", "volatile"

Syntax

ClassBodyDeclarations:
         ClassBodyDeclaration
 
ClassBodyDeclarations:
         ClassBodyDeclarations ClassBodyDeclaration
diff --git a/zoo/java/java-5-parr.html b/zoo/java/java-5-parr.html
index 6beb6d45..aa598206 100644
--- a/zoo/java/java-5-parr.html
+++ b/zoo/java/java-5-parr.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Terence Parr, , (2006)

Summary

  • Number of production rules: 151
  • Number of top alternatives: 425
  • Number of defined nonterminal symbols: 151
  • Root nonterminal symbols: compilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 157
  • Special terminal symbols: 106: "@", "(", ")", ".", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ",", "=", "?", ":", "||", "&&", "|", "^", "&", "==", "!=", "+", "-", "*", "/", "%", "++", "--", "~", "!", "[", "]", "<", ">", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "{", "}", ";", "...", "\'", "\\", "\"", """
  • Keywords: 51: "instanceof", "boolean", "char", "byte", "short", "int", "long", "float", "double", "extends", "super", "this", "new", "class", "void", "static", "final", "public", "protected", "private", "abstract", "strictfp", "implements", "enum", "interface", "native", "synchronized", "transient", "volatile", "throws", "default", "if", "else", "for", "while", "do", "try", "finally", "switch", "return", "throw", "break", "continue", "assert", "catch", "case", "null", "true", "false", "package", "import"

Syntax

compilationUnit:
+				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Terence Parr, (2006)

Summary

  • Number of production rules: 151
  • Number of top alternatives: 425
  • Number of defined nonterminal symbols: 151
  • Root nonterminal symbols: compilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 157
  • Special terminal symbols: 106: "@", "(", ")", ".", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ",", "=", "?", ":", "||", "&&", "|", "^", "&", "==", "!=", "+", "-", "*", "/", "%", "++", "--", "~", "!", "[", "]", "<", ">", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "{", "}", ";", "...", "\'", "\\", "\"", """
  • Keywords: 51: "instanceof", "boolean", "char", "byte", "short", "int", "long", "float", "double", "extends", "super", "this", "new", "class", "void", "static", "final", "public", "protected", "private", "abstract", "strictfp", "implements", "enum", "interface", "native", "synchronized", "transient", "volatile", "throws", "default", "if", "else", "for", "while", "do", "try", "finally", "switch", "return", "throw", "break", "continue", "assert", "catch", "case", "null", "true", "false", "package", "import"

Syntax

compilationUnit:
         annotations ((packageDeclaration importDeclaration* typeDeclaration*) | (classOrInterfaceDeclaration typeDeclaration*))
         packageDeclaration? importDeclaration* typeDeclaration*
 
annotations:
diff --git a/zoo/java/java-5-stahl.html b/zoo/java/java-5-stahl.html
index 96d9383a..5aa4a647 100644
--- a/zoo/java/java-5-stahl.html
+++ b/zoo/java/java-5-stahl.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Michael Stahl, , (2004)

Summary

  • Number of production rules: 155
  • Number of top alternatives: 262
  • Number of defined nonterminal symbols: 155
  • Root nonterminal symbols: compilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 167
  • Special terminal symbols: 115: "@", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "_", "$", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "(", "=", "++", "--", "-", "+", "~", "!", "[", "]", ")", "<", "?", ",", ">", ">>", ">>>", "+=", "-=", "*=", "/=", "%=", ">>=", ">>>=", "<<=", "&=", "^=", "|=", "\'", "\\", """, "{", ";", "}", "&", "...", ":", "*", "/", "%", "<<", "<=", ">=", "!=", "==", "^", "|", "&&", "||"
  • Keywords: 52: "package", "instanceof", "void", "boolean", "byte", "char", "short", "int", "float", "long", "double", "extends", "super", "this", "class", "true", "false", "null", "new", "static", "private", "public", "protected", "transient", "final", "abstract", "native", "threadsafe", "synchronized", "volatile", "strictfp", "enum", "implements", "interface", "throws", "if", "else", "for", "while", "do", "break", "continue", "return", "switch", "throw", "case", "default", "try", "catch", "finally", "assert", "import"

Syntax

compilationUnit:
+				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Michael Stahl, (2004)

Summary

  • Number of production rules: 155
  • Number of top alternatives: 262
  • Number of defined nonterminal symbols: 155
  • Root nonterminal symbols: compilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 167
  • Special terminal symbols: 115: "@", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "_", "$", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "(", "=", "++", "--", "-", "+", "~", "!", "[", "]", ")", "<", "?", ",", ">", ">>", ">>>", "+=", "-=", "*=", "/=", "%=", ">>=", ">>>=", "<<=", "&=", "^=", "|=", "\'", "\\", """, "{", ";", "}", "&", "...", ":", "*", "/", "%", "<<", "<=", ">=", "!=", "==", "^", "|", "&&", "||"
  • Keywords: 52: "package", "instanceof", "void", "boolean", "byte", "char", "short", "int", "float", "long", "double", "extends", "super", "this", "class", "true", "false", "null", "new", "static", "private", "public", "protected", "transient", "final", "abstract", "native", "threadsafe", "synchronized", "volatile", "strictfp", "enum", "implements", "interface", "throws", "if", "else", "for", "while", "do", "break", "continue", "return", "switch", "throw", "case", "default", "try", "catch", "finally", "assert", "import"

Syntax

compilationUnit:
         (packageDefinition | ε) importDefinition* typeDefinition*
 
packageDefinition:
         annotations p::"package" identifier SEMI
diff --git a/zoo/java/java-5-studman.html b/zoo/java/java-5-studman.html
index 19fc109b..7ca2fbc9 100644
--- a/zoo/java/java-5-studman.html
+++ b/zoo/java/java-5-studman.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Michael Studman, , (2004)

Summary

  • Number of production rules: 161
  • Number of top alternatives: 267
  • Number of defined nonterminal symbols: 161
  • Root nonterminal symbols: compilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 168
  • Special terminal symbols: 116: "@", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "_", "$", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "(", "++", "--", "-", "+", "~", "!", "[", "]", ")", "<", "?", ",", ">", ">>", ">>>", "=", "+=", "-=", "*=", "/=", "%=", ">>=", ">>>=", "<<=", "&=", "^=", "|=", "..", "\'", "\\", """, "{", "&", "...", ";", "}", ":", "*", "/", "%", "<<", "<=", ">=", "!=", "==", "^", "|", "&&", "||"
  • Keywords: 52: "package", "instanceof", "void", "boolean", "byte", "char", "short", "int", "float", "long", "double", "extends", "super", "this", "class", "true", "false", "null", "new", "static", "private", "public", "protected", "transient", "final", "abstract", "native", "threadsafe", "synchronized", "volatile", "strictfp", "implements", "interface", "throws", "enum", "if", "else", "while", "do", "break", "continue", "return", "switch", "throw", "assert", "for", "case", "default", "try", "catch", "finally", "import"

Syntax

compilationUnit:
+				

Browsable J2SE 5.0 “Tiger” aka Java 5 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Michael Studman, (2004)

Summary

  • Number of production rules: 161
  • Number of top alternatives: 267
  • Number of defined nonterminal symbols: 161
  • Root nonterminal symbols: compilationUnit
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: —
  • Number of used terminal symbols: 168
  • Special terminal symbols: 116: "@", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "_", "$", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "(", "++", "--", "-", "+", "~", "!", "[", "]", ")", "<", "?", ",", ">", ">>", ">>>", "=", "+=", "-=", "*=", "/=", "%=", ">>=", ">>>=", "<<=", "&=", "^=", "|=", "..", "\'", "\\", """, "{", "&", "...", ";", "}", ":", "*", "/", "%", "<<", "<=", ">=", "!=", "==", "^", "|", "&&", "||"
  • Keywords: 52: "package", "instanceof", "void", "boolean", "byte", "char", "short", "int", "float", "long", "double", "extends", "super", "this", "class", "true", "false", "null", "new", "static", "private", "public", "protected", "transient", "final", "abstract", "native", "threadsafe", "synchronized", "volatile", "strictfp", "implements", "interface", "throws", "enum", "if", "else", "while", "do", "break", "continue", "return", "switch", "throw", "assert", "for", "case", "default", "try", "catch", "finally", "import"

Syntax

compilationUnit:
         (packageDefinition | ε) importDefinition* typeDefinition*
 
packageDefinition:
         annotations p::"package" identifier SEMI
diff --git a/zoo/modula/sdf.html b/zoo/modula/sdf.html
index 3ee15c4c..452ff5df 100644
--- a/zoo/modula/sdf.html
+++ b/zoo/modula/sdf.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable Modula-3 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Jurgen Vinju, Tijs van der Storm, , (13 February 2006 – 19 September 2008)

Summary

  • Number of production rules: 79
  • Number of top alternatives: 158
  • Number of defined nonterminal symbols: 79
  • Root nonterminal symbols: Compilation
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 2: Literal, TextLiteral
  • Number of used terminal symbols: 88
  • Special terminal symbols: 27: ";", ".", "=", ",", "<:", ":", "(", ")", "+", "-", "#", "<", "<=", ">", ">=", "&", "*", "/", "^", "[", "]", ":=", "{", "}", "..", "|", "=>"
  • Keywords: 61: "UNSAFE", "INTERFACE", "END", "NOT", "ROOT", "IMPORT", "AS", "FROM", "CONST", "TYPE", "EXCEPTION", "VAR", "REVEAL", "ARRAY", "OF", "BITS", "FOR", "OR", "AND", "IN", "DIV", "MOD", "OBJECT", "METHODS", "OVERRIDES", "UNTRACED", "BRANDED", "RAISES", "VALUE", "READONLY", "ANY", "PROCEDURE", "RECORD", "REF", "SET", "BEGIN", "CASE", "ELSE", "EXIT", "EVAL", "TO", "BY", "DO", "IF", "THEN", "ELSIF", "LOCK", "LOOP", "RAISE", "REPEAT", "UNTIL", "RETURN", "TRY", "FINALLY", "EXCEPT", "TYPECASE", "WHILE", "WITH", "MODULE", "EXPORTS", "GENERIC"

Syntax

Compilation:
+				

Browsable Modula-3 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Jurgen Vinju, Tijs van der Storm, (13 February 2006 – 19 September 2008)

Summary

  • Number of production rules: 79
  • Number of top alternatives: 158
  • Number of defined nonterminal symbols: 79
  • Root nonterminal symbols: Compilation
  • Other top nonterminal symbols: —
  • Bottom nonterminal symbols: 2: Literal, TextLiteral
  • Number of used terminal symbols: 88
  • Special terminal symbols: 27: ";", ".", "=", ",", "<:", ":", "(", ")", "+", "-", "#", "<", "<=", ">", ">=", "&", "*", "/", "^", "[", "]", ":=", "{", "}", "..", "|", "=>"
  • Keywords: 61: "UNSAFE", "INTERFACE", "END", "NOT", "ROOT", "IMPORT", "AS", "FROM", "CONST", "TYPE", "EXCEPTION", "VAR", "REVEAL", "ARRAY", "OF", "BITS", "FOR", "OR", "AND", "IN", "DIV", "MOD", "OBJECT", "METHODS", "OVERRIDES", "UNTRACED", "BRANDED", "RAISES", "VALUE", "READONLY", "ANY", "PROCEDURE", "RECORD", "REF", "SET", "BEGIN", "CASE", "ELSE", "EXIT", "EVAL", "TO", "BY", "DO", "IF", "THEN", "ELSIF", "LOCK", "LOOP", "RAISE", "REPEAT", "UNTIL", "RETURN", "TRY", "FINALLY", "EXCEPT", "TYPECASE", "WHILE", "WITH", "MODULE", "EXPORTS", "GENERIC"

Syntax

Compilation:
         "UNSAFE"? (Interface | Module | GenInf | GenMod)
 
Interface:
         "INTERFACE" Id ";" Import* Decl* "END" Id "."
diff --git a/zoo/modula/src-052.html b/zoo/modula/src-052.html
index 096bc697..df40805a 100644
--- a/zoo/modula/src-052.html
+++ b/zoo/modula/src-052.html
@@ -13,7 +13,7 @@
 				    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 				  })();
 
-				

Browsable Modula-3 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, Greg Nelson, SRC 052: Modula-3 Report (revised), (1 November 1989) §9 Syntax, pages 56–60

Summary

  • Number of production rules: 95
  • Number of top alternatives: 394
  • Number of defined nonterminal symbols: 95
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 5: Compilation, Repeatstmt, Literal, Operator, OtherChar
  • Bottom nonterminal symbols: 4: TypeID, RepeatStmt, Expt, UtherChar
  • Number of used terminal symbols: 254
  • Special terminal symbols: 197: ";", ".", "=", "<:", ":", "(", ")", "&", ":=", "{", ",", "}", "|", "=>", "..", "[", "]", "+", "-", "#", "<", "<=", ">", ">=", "*", "/", "^", "_", "$", "’", """, "\", "n", "t", "r", "f", "E", "e", "D", "d", "A", "B", "C", "F", "a", "b", "c", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "g", "h", "i", "j", "k", "l", "m", "o", "p", "q", "s", "u", "v", "w", "x", "y", "z", " ", "!", "%", "?", "@", "‘", "~", " ", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "­", "®", "¯", "°", "±", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ"
  • Keywords: 57: "UNSAFE", "INTERFACE", "END", "MODULE", "EXPORTS", "FROM", "IMPORT", "BEGIN", "CONST", "TYPE", "EXCEPTION", "VAR", "REVEAL", "PROCEDURE", "RAISES", "VALUE", "READONLY", "CASE", "OF", "ELSE", "EXIT", "EVAL", "FOR", "TO", "BY", "DO", "IF", "THEN", "ELSIF", "LOCK", "LOOP", "RAISE", "REPEAT", "UNTIL", "RETURN", "TYPECASE", "TRY", "EXCEPT", "FINALLY", "WHILE", "WITH", "ARRAY", "BITS", "OBJECT", "METHODS", "RECORD", "UNTRACED", "REF", "SET", "BRANDED", "OR", "AND", "NOT", "IN", "DIV", "MOD", "ROOT"

Syntax

Compilation:
+				

Browsable Modula-3 Grammar

CC-BY

Extracted and/or recovered by Vadim Zaytsev, see Grammar Zoo for details.

Source used for this grammar: Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, Greg Nelson, SRC 052: Modula-3 Report (revised) (1 November 1989) §9 Syntax, pages 56–60

Summary

  • Number of production rules: 95
  • Number of top alternatives: 394
  • Number of defined nonterminal symbols: 95
  • Root nonterminal symbols: —
  • Other top nonterminal symbols: 5: Compilation, Repeatstmt, Literal, Operator, OtherChar
  • Bottom nonterminal symbols: 4: TypeID, RepeatStmt, Expt, UtherChar
  • Number of used terminal symbols: 254
  • Special terminal symbols: 197: ";", ".", "=", "<:", ":", "(", ")", "&", ":=", "{", ",", "}", "|", "=>", "..", "[", "]", "+", "-", "#", "<", "<=", ">", ">=", "*", "/", "^", "_", "$", "’", """, "\", "n", "t", "r", "f", "E", "e", "D", "d", "A", "B", "C", "F", "a", "b", "c", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "g", "h", "i", "j", "k", "l", "m", "o", "p", "q", "s", "u", "v", "w", "x", "y", "z", " ", "!", "%", "?", "@", "‘", "~", " ", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "­", "®", "¯", "°", "±", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ"
  • Keywords: 57: "UNSAFE", "INTERFACE", "END", "MODULE", "EXPORTS", "FROM", "IMPORT", "BEGIN", "CONST", "TYPE", "EXCEPTION", "VAR", "REVEAL", "PROCEDURE", "RAISES", "VALUE", "READONLY", "CASE", "OF", "ELSE", "EXIT", "EVAL", "FOR", "TO", "BY", "DO", "IF", "THEN", "ELSIF", "LOCK", "LOOP", "RAISE", "REPEAT", "UNTIL", "RETURN", "TYPECASE", "TRY", "EXCEPT", "FINALLY", "WHILE", "WITH", "ARRAY", "BITS", "OBJECT", "METHODS", "RECORD", "UNTRACED", "REF", "SET", "BRANDED", "OR", "AND", "NOT", "IN", "DIV", "MOD", "ROOT"

Syntax

Compilation:
         "UNSAFE"? (Interface | Module)
 
Interface:
         "INTERFACE" Ident ";" Import* Declaration* "END" Ident "."