Updated to PetitSmalltalk-JanKurs.75
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sun, 26 Oct 2014 01:06:11 +0100
changeset 390 17ba167b8ee1
parent 389 009c2e13973c
child 391 553a5456963b
Updated to PetitSmalltalk-JanKurs.75 Author: JanKurs Time: 13-10-2014, 05:00:14 AM UUID: 6254f8f7-aa47-4ddd-a373-167bccb0d4e5 Ancestors: Smalltalk token decomposed into the PEG expression
parsers/smalltalk/Make.proto
parsers/smalltalk/Make.spec
parsers/smalltalk/PPSmalltalkParser.st
parsers/smalltalk/PPSmalltalkWhitespaceParser.st
parsers/smalltalk/abbrev.stc
parsers/smalltalk/bc.mak
parsers/smalltalk/extensions.st
parsers/smalltalk/libInit.cc
parsers/smalltalk/smalltalk.rc
parsers/smalltalk/stx_goodies_petitparser_parsers_smalltalk.st
parsers/smalltalk/tests/Make.proto
parsers/smalltalk/tests/bc.mak
parsers/smalltalk/tests/stx_goodies_petitparser_parsers_smalltalk_tests.st
parsers/smalltalk/tests/tests.rc
--- a/parsers/smalltalk/Make.proto	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/Make.proto	Sun Oct 26 01:06:11 2014 +0100
@@ -127,6 +127,7 @@
 $(OUTDIR)PPSmalltalkGrammar.$(O) PPSmalltalkGrammar.$(H): PPSmalltalkGrammar.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPCompositeParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPDelegateParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)PPSmalltalkToken.$(O) PPSmalltalkToken.$(H): PPSmalltalkToken.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPToken.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)PPSmalltalkTokenParser.$(O) PPSmalltalkTokenParser.$(H): PPSmalltalkTokenParser.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPDelegateParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPFlattenParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPTokenParser.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPSmalltalkWhitespaceParser.$(O) PPSmalltalkWhitespaceParser.$(H): PPSmalltalkWhitespaceParser.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)stx_goodies_petitparser_parsers_smalltalk.$(O) stx_goodies_petitparser_parsers_smalltalk.$(H): stx_goodies_petitparser_parsers_smalltalk.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 $(OUTDIR)PPSmalltalkParser.$(O) PPSmalltalkParser.$(H): PPSmalltalkParser.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPCompositeParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPDelegateParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk/PPSmalltalkGrammar.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNode.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBToken.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBValueToken.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/parsers/smalltalk/Make.spec	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/Make.spec	Sun Oct 26 01:06:11 2014 +0100
@@ -53,6 +53,7 @@
 	PPSmalltalkGrammar \
 	PPSmalltalkToken \
 	PPSmalltalkTokenParser \
+	PPSmalltalkWhitespaceParser \
 	stx_goodies_petitparser_parsers_smalltalk \
 	PPSmalltalkParser \
 
@@ -63,6 +64,7 @@
     $(OUTDIR_SLASH)PPSmalltalkGrammar.$(O) \
     $(OUTDIR_SLASH)PPSmalltalkToken.$(O) \
     $(OUTDIR_SLASH)PPSmalltalkTokenParser.$(O) \
+    $(OUTDIR_SLASH)PPSmalltalkWhitespaceParser.$(O) \
     $(OUTDIR_SLASH)stx_goodies_petitparser_parsers_smalltalk.$(O) \
     $(OUTDIR_SLASH)PPSmalltalkParser.$(O) \
     $(OUTDIR_SLASH)extensions.$(O) \
--- a/parsers/smalltalk/PPSmalltalkParser.st	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/PPSmalltalkParser.st	Sun Oct 26 01:06:11 2014 +0100
@@ -10,6 +10,7 @@
 PPSmalltalkParser comment:'Enhances the Smalltalk grammar with production actions to build parse-tree nodes of the refactoring browser.'
 !
 
+
 !PPSmalltalkParser methodsFor:'accessing'!
 
 startExpression
@@ -308,3 +309,10 @@
 	^ super unaryToken ==> [ :token | (RBIdentifierToken value: token inputValue start: token start) comments: token comments; yourself ]
 ! !
 
+!PPSmalltalkParser class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parsers/smalltalk/PPSmalltalkWhitespaceParser.st	Sun Oct 26 01:06:11 2014 +0100
@@ -0,0 +1,42 @@
+"{ Package: 'stx:goodies/petitparser/parsers/smalltalk' }"
+
+PPParser subclass:#PPSmalltalkWhitespaceParser
+	instanceVariableNames:'separator'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'PetitSmalltalk-Core'
+!
+
+
+!PPSmalltalkWhitespaceParser methodsFor:'analysis'!
+
+isNullable
+	^ true
+! !
+
+!PPSmalltalkWhitespaceParser methodsFor:'initialization'!
+
+initialize
+	super initialize.
+	separator := PPCharSetPredicate on: [ :char | char isSeparator ].
+! !
+
+!PPSmalltalkWhitespaceParser methodsFor:'parsing'!
+
+parseOn: aPPContext
+	[ [aPPContext atEnd not and: [ separator value: aPPContext uncheckedPeek ] ]
+		whileTrue: [ aPPContext next ].
+		
+	 aPPContext atEnd not and: [ aPPContext uncheckedPeek = $" ] ] whileTrue: [
+		aPPContext next.
+		aPPContext upTo: $".
+	].
+! !
+
+!PPSmalltalkWhitespaceParser class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/parsers/smalltalk/abbrev.stc	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/abbrev.stc	Sun Oct 26 01:06:11 2014 +0100
@@ -4,5 +4,6 @@
 PPSmalltalkGrammar PPSmalltalkGrammar stx:goodies/petitparser/parsers/smalltalk 'PetitSmalltalk-Core' 0
 PPSmalltalkToken PPSmalltalkToken stx:goodies/petitparser/parsers/smalltalk 'PetitSmalltalk-Core' 0
 PPSmalltalkTokenParser PPSmalltalkTokenParser stx:goodies/petitparser/parsers/smalltalk 'PetitSmalltalk-Core' 0
+PPSmalltalkWhitespaceParser PPSmalltalkWhitespaceParser stx:goodies/petitparser/parsers/smalltalk 'PetitSmalltalk-Core' 0
 stx_goodies_petitparser_parsers_smalltalk stx_goodies_petitparser_parsers_smalltalk stx:goodies/petitparser/parsers/smalltalk '* Projects & Packages *' 3
 PPSmalltalkParser PPSmalltalkParser stx:goodies/petitparser/parsers/smalltalk 'PetitSmalltalk-Core' 0
--- a/parsers/smalltalk/bc.mak	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/bc.mak	Sun Oct 26 01:06:11 2014 +0100
@@ -73,6 +73,7 @@
 $(OUTDIR)PPSmalltalkGrammar.$(O) PPSmalltalkGrammar.$(H): PPSmalltalkGrammar.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPSmalltalkToken.$(O) PPSmalltalkToken.$(H): PPSmalltalkToken.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPToken.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPSmalltalkTokenParser.$(O) PPSmalltalkTokenParser.$(H): PPSmalltalkTokenParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPFlattenParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPTokenParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPSmalltalkWhitespaceParser.$(O) PPSmalltalkWhitespaceParser.$(H): PPSmalltalkWhitespaceParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)stx_goodies_petitparser_parsers_smalltalk.$(O) stx_goodies_petitparser_parsers_smalltalk.$(H): stx_goodies_petitparser_parsers_smalltalk.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
 $(OUTDIR)PPSmalltalkParser.$(O) PPSmalltalkParser.$(H): PPSmalltalkParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk\PPSmalltalkGrammar.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNode.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBToken.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBValueToken.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/parsers/smalltalk/extensions.st	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/extensions.st	Sun Oct 26 01:06:11 2014 +0100
@@ -3,7 +3,11 @@
 !PPParser methodsFor:'*petitsmalltalk-operations'!
 
 smalltalkToken
-	^ PPSmalltalkTokenParser on: self
+	| ws |
+	ws := PPSmalltalkWhitespaceParser new.
+	^ ((ws, ((PPTokenParser on: self) tokenClass: PPSmalltalkToken; yourself), ws) ==> #second)
+		name: 'trimmingToken';
+		yourself
 ! !
 
 !RBProgramNode methodsFor:'*petitsmalltalk-accessing'!
--- a/parsers/smalltalk/libInit.cc	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/libInit.cc	Sun Oct 26 01:06:11 2014 +0100
@@ -30,6 +30,7 @@
 _PPSmalltalkGrammar_Init(pass,__pRT__,snd);
 _PPSmalltalkToken_Init(pass,__pRT__,snd);
 _PPSmalltalkTokenParser_Init(pass,__pRT__,snd);
+_PPSmalltalkWhitespaceParser_Init(pass,__pRT__,snd);
 _stx_137goodies_137petitparser_137parsers_137smalltalk_Init(pass,__pRT__,snd);
 _PPSmalltalkParser_Init(pass,__pRT__,snd);
 
--- a/parsers/smalltalk/smalltalk.rc	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/smalltalk.rc	Sun Oct 26 01:06:11 2014 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2014\nCopyright eXept Software AG 1998-2014\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.4.0\0"
-      VALUE "ProductDate", "Tue, 07 Oct 2014 23:05:51 GMT\0"
+      VALUE "ProductDate", "Sun, 26 Oct 2014 00:05:08 GMT\0"
     END
 
   END
--- a/parsers/smalltalk/stx_goodies_petitparser_parsers_smalltalk.st	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/stx_goodies_petitparser_parsers_smalltalk.st	Sun Oct 26 01:06:11 2014 +0100
@@ -112,6 +112,7 @@
         PPSmalltalkGrammar
         PPSmalltalkToken
         PPSmalltalkTokenParser
+        PPSmalltalkWhitespaceParser
         #'stx_goodies_petitparser_parsers_smalltalk'
         PPSmalltalkParser
     )
--- a/parsers/smalltalk/tests/Make.proto	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/tests/Make.proto	Sun Oct 26 01:06:11 2014 +0100
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
 
 
 # if you need any additional defines for embedded C code,
--- a/parsers/smalltalk/tests/bc.mak	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/tests/bc.mak	Sun Oct 26 01:06:11 2014 +0100
@@ -34,7 +34,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
--- a/parsers/smalltalk/tests/stx_goodies_petitparser_parsers_smalltalk_tests.st	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/tests/stx_goodies_petitparser_parsers_smalltalk_tests.st	Sun Oct 26 01:06:11 2014 +0100
@@ -54,9 +54,9 @@
      by searching along the inheritance chain of all of my classes."
 
     ^ #(
-	#'stx:goodies/petitparser/tests'    "PPAbstractParserTest - superclass of PPSmalltalkClassesTests"
-	#'stx:goodies/sunit'    "TestAsserter - superclass of PPSmalltalkClassesTests"
-	#'stx:libbasic'    "LibraryDefinition - superclass of stx_goodies_petitparser_parsers_smalltalk_tests"
+        #'stx:goodies/petitparser/tests'    "PPAbstractParserTest - superclass of PPSmalltalkClassesTests"
+        #'stx:goodies/sunit'    "TestAsserter - superclass of PPSmalltalkClassesTests"
+        #'stx:libbasic'    "LibraryDefinition - superclass of stx_goodies_petitparser_parsers_smalltalk_tests"
     )
 !
 
@@ -68,7 +68,8 @@
      by searching all classes (and their packages) which are referenced by my classes."
 
     ^ #(
-	#'stx:goodies/petitparser/parsers/smalltalk'    "PPSmalltalkGrammar - referenced by PPSmalltalkGrammarTests>>parserClass"
+        #'stx:goodies/petitparser/parsers/smalltalk'    "PPSmalltalkGrammar - referenced by PPSmalltalkGrammarTests>>parserClass"
+        #'stx:goodies/refactoryBrowser/parser'    "RBFormatter - referenced by PPSmalltalkParserTests>>assert:format:"
     )
 !
 
@@ -91,14 +92,12 @@
      Attributes are: #autoload or #<os> where os is one of win32, unix,..."
 
     ^ #(
-	"<className> or (<className> attributes...) in load order"
-	(PPSmalltalkClassesTests autoload)
-	(PPSmalltalkGrammarTests autoload)
-	#'stx_goodies_petitparser_parsers_smalltalk_tests'
-	(PPSmalltalkParserTests autoload)
+        "<className> or (<className> attributes...) in load order"
+        (PPSmalltalkClassesTests autoload)
+        (PPSmalltalkGrammarTests autoload)
+        #'stx_goodies_petitparser_parsers_smalltalk_tests'
+        (PPSmalltalkParserTests autoload)
     )
-
-    "Modified: / 07-10-2014 / 09:22:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 extensionMethodNames
--- a/parsers/smalltalk/tests/tests.rc	Tue Oct 14 23:16:37 2014 +0100
+++ b/parsers/smalltalk/tests/tests.rc	Sun Oct 26 01:06:11 2014 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2014\nCopyright eXept Software AG 1998-2014\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.4.0\0"
-      VALUE "ProductDate", "Tue, 07 Oct 2014 23:05:52 GMT\0"
+      VALUE "ProductDate", "Sun, 26 Oct 2014 00:05:09 GMT\0"
     END
 
   END