class: PPAnalyzerTest
authorClaus Gittinger <cg@exept.de>
Tue, 04 Mar 2014 21:10:20 +0100
changeset 259 0f1afe248885
parent 258 2b307d16da02
child 260 3f2ec5ba0500
class: PPAnalyzerTest changed: #grammarD
analyzer/tests/PPAnalyzerTest.st
--- a/analyzer/tests/PPAnalyzerTest.st	Tue Mar 04 21:10:06 2014 +0100
+++ b/analyzer/tests/PPAnalyzerTest.st	Tue Mar 04 21:10:20 2014 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "{ Package: 'stx:goodies/petitparser/analyzer/tests' }"
 
 PPAbstractParserTest subclass:#PPAnalyzerTest
@@ -17,7 +19,7 @@
 !PPAnalyzerTest methodsFor:'accessing'!
 
 grammarA
-	"Güting, Erwig, Übersetzerbau, Springer (p.63)"
+	"Güting, Erwig, Übersetzerbau, Springer (p.63)"
 
 	| grammar |
 	grammar := Dictionary new.
@@ -67,7 +69,20 @@
 !
 
 grammarD
-	"A highly ambiguous grammar from: Saichaitanya Jampana. Exploring the problem of ambiguity in context-free grammars. Masters thesis, Oklahoma State Un                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
+        "A highly ambiguous grammar from: Saichaitanya Jampana. Exploring the problem of ambiguity in context-free grammars. Master’s thesis, Oklahoma State University, July 2005."
+
+        | grammar |
+        grammar := Dictionary new.
+        #(S A a B b)                    do: [ :each | grammar at: each put: (PPUnresolvedParser named: each) ].
+
+        (grammar at: #a)                def: $a asParser.
+        (grammar at: #b)                def: $b asParser.
+
+        (grammar at: #S)                def: (grammar at: #A) , (grammar at: #B) / (grammar at: #a).
+        (grammar at: #A)                def: (grammar at: #S) , (grammar at: #B) / (grammar at: #b).
+        (grammar at: #B)                def: (grammar at: #B) , (grammar at: #A) / (grammar at: #a).
+
+        ^ grammar
 !
 
 grammarE
@@ -517,10 +532,10 @@
 !PPAnalyzerTest class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/PPAnalyzerTest.st,v 1.1 2014-03-04 15:42:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/PPAnalyzerTest.st,v 1.2 2014-03-04 20:10:20 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/PPAnalyzerTest.st,v 1.1 2014-03-04 15:42:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/PPAnalyzerTest.st,v 1.2 2014-03-04 20:10:20 cg Exp $'
 ! !