From 9a88c5293ab0ad48a8f72a5dc271cbe1e9fcccb4 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Mon, 2 Jan 2017 09:45:19 +0100 Subject: [PATCH] simplify examples of grammars --- examples2/grammar/anormalization.test.1.xml | 65 +++--- examples2/grammar/anormalization.test.2.xml | 88 +++----- examples2/grammar/anormalization.test.3.xml | 226 ++++++-------------- examples2/grammar/contextFree.xml | 61 +++--- examples2/grammar/contextSensitive.xml | 125 +++++------ examples2/grammar/leftRegular.xml | 79 +++---- examples2/grammar/leftRegular2.xml | 97 +++++---- examples2/grammar/rightRegular.xml | 81 +++---- examples2/grammar/rightRegular2.xml | 97 +++++---- examples2/grammar/rightRegular3.xml | 135 ++++++------ 10 files changed, 480 insertions(+), 574 deletions(-) diff --git a/examples2/grammar/anormalization.test.1.xml b/examples2/grammar/anormalization.test.1.xml index 9b53cf09c2..98ea657afd 100644 --- a/examples2/grammar/anormalization.test.1.xml +++ b/examples2/grammar/anormalization.test.1.xml @@ -1,32 +1,37 @@ +<?xml version="1.0"?> <EpsilonFreeCFG> - <nonterminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>[</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><String>text</String></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>]</Character></PrimitiveLabel></LabeledSymbol> - </terminalAlphabet> - <initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol> - <rules> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><String>text</String></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>[</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>]</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - </rules> - <generatesEpsilon><false /></generatesEpsilon> + <nonterminalAlphabet> + <Character>S</Character> + </nonterminalAlphabet> + <terminalAlphabet> + <Character>[</Character> + <String>text</String> + <Character>]</Character> + </terminalAlphabet> + <initialSymbol> + <Character>S</Character> + </initialSymbol> + <rules> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <String>text</String> + </rhs> + </rule> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>[</Character> + <Character>S</Character> + <Character>]</Character> + </rhs> + </rule> + </rules> + <generatesEpsilon> + <false/> + </generatesEpsilon> </EpsilonFreeCFG> diff --git a/examples2/grammar/anormalization.test.2.xml b/examples2/grammar/anormalization.test.2.xml index e0a7d6a1d8..5a6a6659f2 100644 --- a/examples2/grammar/anormalization.test.2.xml +++ b/examples2/grammar/anormalization.test.2.xml @@ -1,65 +1,29 @@ <?xml version="1.0"?> <EpsilonFreeCFG> - <nonterminalAlphabet> - <LabeledSymbol> - <PrimitiveLabel> - <String>M</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>V</String> - </PrimitiveLabel> - </LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol> - <PrimitiveLabel> - <String>i</String> - </PrimitiveLabel> - </LabeledSymbol> - </terminalAlphabet> - <initialSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>V</String> - </PrimitiveLabel> - </LabeledSymbol> - </initialSymbol> - <rules> - <rule> - <lhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>M</String> - </PrimitiveLabel> - </LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>V</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>M</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>V</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>V</String> - </PrimitiveLabel> - </LabeledSymbol> - </rhs> - </rule> - </rules> - <generatesEpsilon> - <false/> - </generatesEpsilon> + <nonterminalAlphabet> + <String>M</String> + <String>V</String> + </nonterminalAlphabet> + <terminalAlphabet> + <String>i</String> + </terminalAlphabet> + <initialSymbol> + <String>V</String> + </initialSymbol> + <rules> + <rule> + <lhs> + <String>M</String> + </lhs> + <rhs> + <String>V</String> + <String>M</String> + <String>V</String> + <String>V</String> + </rhs> + </rule> + </rules> + <generatesEpsilon> + <false/> + </generatesEpsilon> </EpsilonFreeCFG> diff --git a/examples2/grammar/anormalization.test.3.xml b/examples2/grammar/anormalization.test.3.xml index 390d5d48c7..4f27012836 100644 --- a/examples2/grammar/anormalization.test.3.xml +++ b/examples2/grammar/anormalization.test.3.xml @@ -1,164 +1,68 @@ <?xml version="1.0"?> <EpsilonFreeCFG> - <nonterminalAlphabet> - <LabeledSymbol> - <PrimitiveLabel> - <String>C</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>X</String> - </PrimitiveLabel> - </LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol> - <PrimitiveLabel> - <String>d</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>l</String> - </PrimitiveLabel> - </LabeledSymbol> - </terminalAlphabet> - <initialSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>C</String> - </PrimitiveLabel> - </LabeledSymbol> - </initialSymbol> - <rules> - <rule> - <lhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>C</String> - </PrimitiveLabel> - </LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>l</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>l</String> - </PrimitiveLabel> - </LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>X</String> - </PrimitiveLabel> - </LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>X</String> - </PrimitiveLabel> - </LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>X</String> - </PrimitiveLabel> - </LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>d</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>d</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>d</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>l</String> - </PrimitiveLabel> - </LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>X</String> - </PrimitiveLabel> - </LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>l</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>X</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>d</String> - </PrimitiveLabel> - </LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>X</String> - </PrimitiveLabel> - </LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol> - <PrimitiveLabel> - <String>l</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>X</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>d</String> - </PrimitiveLabel> - </LabeledSymbol> - <LabeledSymbol> - <PrimitiveLabel> - <String>C</String> - </PrimitiveLabel> - </LabeledSymbol> - </rhs> - </rule> - </rules> - <generatesEpsilon> - <true/> - </generatesEpsilon> + <nonterminalAlphabet> + <String>C</String> + <String>X</String> + </nonterminalAlphabet> + <terminalAlphabet> + <String>d</String> + <String>l</String> + </terminalAlphabet> + <initialSymbol> + <String>C</String> + </initialSymbol> + <rules> + <rule> + <lhs> + <String>C</String> + </lhs> + <rhs> + <String>l</String> + <String>l</String> + </rhs> + </rule> + <rule> + <lhs> + <String>X</String> + </lhs> + <rhs> + <String>X</String> + </rhs> + </rule> + <rule> + <lhs> + <String>X</String> + </lhs> + <rhs> + <String>d</String> + <String>d</String> + <String>d</String> + <String>l</String> + </rhs> + </rule> + <rule> + <lhs> + <String>X</String> + </lhs> + <rhs> + <String>l</String> + <String>X</String> + <String>d</String> + </rhs> + </rule> + <rule> + <lhs> + <String>X</String> + </lhs> + <rhs> + <String>l</String> + <String>X</String> + <String>d</String> + <String>C</String> + </rhs> + </rule> + </rules> + <generatesEpsilon> + <true/> + </generatesEpsilon> </EpsilonFreeCFG> diff --git a/examples2/grammar/contextFree.xml b/examples2/grammar/contextFree.xml index 977a140f7e..7da881d6b9 100644 --- a/examples2/grammar/contextFree.xml +++ b/examples2/grammar/contextFree.xml @@ -1,31 +1,34 @@ +<?xml version="1.0"?> <CFG> - <nonterminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>[</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>text</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>]</Character></PrimitiveLabel></LabeledSymbol> - </terminalAlphabet> - <initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol> - <rules> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>text</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>[</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>]</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - </rules> + <nonterminalAlphabet> + <Character>S</Character> + </nonterminalAlphabet> + <terminalAlphabet> + <Character>[</Character> + <Character>text</Character> + <Character>]</Character> + </terminalAlphabet> + <initialSymbol> + <Character>S</Character> + </initialSymbol> + <rules> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>text</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>[</Character> + <Character>S</Character> + <Character>]</Character> + </rhs> + </rule> + </rules> </CFG> diff --git a/examples2/grammar/contextSensitive.xml b/examples2/grammar/contextSensitive.xml index c56f59132f..f2da5bbbbc 100644 --- a/examples2/grammar/contextSensitive.xml +++ b/examples2/grammar/contextSensitive.xml @@ -1,64 +1,69 @@ +<?xml version="1.0"?> <CSG> - <nonterminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>k</Character></PrimitiveLabel></LabeledSymbol> - </terminalAlphabet> - <initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol> - <rules> - <rule> - <lContext> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> + <nonterminalAlphabet> + <Character>S</Character> + </nonterminalAlphabet> + <terminalAlphabet> + <Character>a</Character> + <Character>b</Character> + <Character>c</Character> + <Character>d</Character> + <Character>k</Character> + </terminalAlphabet> + <initialSymbol> + <Character>S</Character> + </initialSymbol> + <rules> + <rule> + <lContext> + <Character>a</Character> + <Character>b</Character> + </lContext> + <lhs> + <Character>S</Character> + </lhs> + <rContext> + <Character>c</Character> + <Character>d</Character> + </rContext> + <rhs> + <Character>k</Character> + </rhs> + </rule> + <rule> + <lContext> </lContext> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rContext> - <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol> + <lhs> + <Character>S</Character> + </lhs> + <rContext> + <Character>c</Character> + <Character>d</Character> + </rContext> + <rhs> + <Character>a</Character> + <Character>b</Character> + <Character>k</Character> + </rhs> + </rule> + <rule> + <lContext> + <Character>a</Character> + <Character>b</Character> + </lContext> + <lhs> + <Character>S</Character> + </lhs> + <rContext> </rContext> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>k</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lContext> - </lContext> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rContext> - <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol> - </rContext> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>k</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lContext> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </lContext> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rContext> - </rContext> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>k</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - </rules> - <generatesEpsilon><false /></generatesEpsilon> + <rhs> + <Character>k</Character> + <Character>c</Character> + <Character>d</Character> + </rhs> + </rule> + </rules> + <generatesEpsilon> + <false/> + </generatesEpsilon> </CSG> diff --git a/examples2/grammar/leftRegular.xml b/examples2/grammar/leftRegular.xml index 8b29416174..deaabad564 100644 --- a/examples2/grammar/leftRegular.xml +++ b/examples2/grammar/leftRegular.xml @@ -1,39 +1,44 @@ +<?xml version="1.0"?> <LeftRG> - <nonterminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </terminalAlphabet> - <initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol> - <rules> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - </rules> - <generatesEpsilon><true /></generatesEpsilon> + <nonterminalAlphabet> + <Character>S</Character> + <Character>A</Character> + </nonterminalAlphabet> + <terminalAlphabet> + <Character>a</Character> + <Character>b</Character> + </terminalAlphabet> + <initialSymbol> + <Character>S</Character> + </initialSymbol> + <rules> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>A</Character> + <Character>a</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>A</Character> + </lhs> + <rhs> + <Character>a</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>b</Character> + </rhs> + </rule> + </rules> + <generatesEpsilon> + <true/> + </generatesEpsilon> </LeftRG> diff --git a/examples2/grammar/leftRegular2.xml b/examples2/grammar/leftRegular2.xml index 4ab06adb48..9b1b0d33fd 100644 --- a/examples2/grammar/leftRegular2.xml +++ b/examples2/grammar/leftRegular2.xml @@ -1,48 +1,53 @@ +<?xml version="1.0"?> <LeftRG> - <nonterminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </terminalAlphabet> - <initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol> - <rules> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - </rules> - <generatesEpsilon><false /></generatesEpsilon> + <nonterminalAlphabet> + <Character>S</Character> + <Character>A</Character> + </nonterminalAlphabet> + <terminalAlphabet> + <Character>a</Character> + <Character>b</Character> + </terminalAlphabet> + <initialSymbol> + <Character>S</Character> + </initialSymbol> + <rules> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>A</Character> + <Character>a</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>A</Character> + </lhs> + <rhs> + <Character>a</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>A</Character> + </lhs> + <rhs> + <Character>S</Character> + <Character>b</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>b</Character> + </rhs> + </rule> + </rules> + <generatesEpsilon> + <false/> + </generatesEpsilon> </LeftRG> diff --git a/examples2/grammar/rightRegular.xml b/examples2/grammar/rightRegular.xml index a57665734a..e7eacdc3f9 100644 --- a/examples2/grammar/rightRegular.xml +++ b/examples2/grammar/rightRegular.xml @@ -1,40 +1,45 @@ +<?xml version="1.0"?> <RightRG> - <nonterminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </terminalAlphabet> - <initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol> - <rules> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - </rules> - <generatesEpsilon><true /></generatesEpsilon> + <nonterminalAlphabet> + <Character>S</Character> + <Character>A</Character> + </nonterminalAlphabet> + <terminalAlphabet> + <Character>a</Character> + <Character>b</Character> + </terminalAlphabet> + <initialSymbol> + <Character>S</Character> + </initialSymbol> + <rules> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>a</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>b</Character> + <Character>A</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>A</Character> + </lhs> + <rhs> + <Character>a</Character> + <Character>A</Character> + </rhs> + </rule> + </rules> + <generatesEpsilon> + <true/> + </generatesEpsilon> </RightRG> diff --git a/examples2/grammar/rightRegular2.xml b/examples2/grammar/rightRegular2.xml index 1fa9073b07..2a2a4dba8a 100644 --- a/examples2/grammar/rightRegular2.xml +++ b/examples2/grammar/rightRegular2.xml @@ -1,48 +1,53 @@ +<?xml version="1.0"?> <RightRG> - <nonterminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </terminalAlphabet> - <initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol> - <rules> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - </rules> - <generatesEpsilon><false /></generatesEpsilon> + <nonterminalAlphabet> + <Character>S</Character> + <Character>A</Character> + </nonterminalAlphabet> + <terminalAlphabet> + <Character>a</Character> + <Character>b</Character> + </terminalAlphabet> + <initialSymbol> + <Character>S</Character> + </initialSymbol> + <rules> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>a</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>b</Character> + <Character>A</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>A</Character> + </lhs> + <rhs> + <Character>a</Character> + <Character>S</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>A</Character> + </lhs> + <rhs> + <Character>b</Character> + </rhs> + </rule> + </rules> + <generatesEpsilon> + <false/> + </generatesEpsilon> </RightRG> diff --git a/examples2/grammar/rightRegular3.xml b/examples2/grammar/rightRegular3.xml index 660439b7f2..b028685f74 100644 --- a/examples2/grammar/rightRegular3.xml +++ b/examples2/grammar/rightRegular3.xml @@ -1,67 +1,72 @@ +<?xml version="1.0"?> <RightRG> - <nonterminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol> - </nonterminalAlphabet> - <terminalAlphabet> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </terminalAlphabet> - <initialSymbol><LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol></initialSymbol> - <rules> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>S</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - <LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - <rule> - <lhs> - <LabeledSymbol><PrimitiveLabel><Character>A</Character></PrimitiveLabel></LabeledSymbol> - </lhs> - <rhs> - <LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol> - </rhs> - </rule> - </rules> - <generatesEpsilon><false /></generatesEpsilon> + <nonterminalAlphabet> + <Character>S</Character> + <Character>A</Character> + <Character>B</Character> + </nonterminalAlphabet> + <terminalAlphabet> + <Character>a</Character> + <Character>b</Character> + </terminalAlphabet> + <initialSymbol> + <Character>S</Character> + </initialSymbol> + <rules> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>a</Character> + <Character>A</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>S</Character> + </lhs> + <rhs> + <Character>a</Character> + <Character>B</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>B</Character> + </lhs> + <rhs> + <Character>b</Character> + <Character>B</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>B</Character> + </lhs> + <rhs> + <Character>b</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>A</Character> + </lhs> + <rhs> + <Character>a</Character> + <Character>B</Character> + </rhs> + </rule> + <rule> + <lhs> + <Character>A</Character> + </lhs> + <rhs> + <Character>a</Character> + </rhs> + </rule> + </rules> + <generatesEpsilon> + <false/> + </generatesEpsilon> </RightRG> -- GitLab