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
--- 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