# HG changeset patch # User Jan Vrany # Date 1412463920 -3600 # Node ID 8fe3cb4e607f8de8bc4f892dd8b422ef5998107b # Parent 451b5ae38b72fb5f3c7f32c187a400eaaea46ba0 Remove Pharoisms to make code more portable and running on Smalltalk/X * Use ANSI `(Character codePoint: 13)` (`10`) instead of `Character cr` (`lf`), This is more portable and does not depend on dialects interpretation of `#cr` - Smalltalk/X convert it according to platform line end convention (UNIX/Windows/Mac) * Do not assume exact value of a printstring in tests, i.e., instead of `msg includesSubstring: '$a' code `msg includesSubstring: $a printString. This way, the test is independent on the printString value, which may differ among dialects. Q: Is printString value of String and/or Character defined in ANSI? * In assestions, instead of `#equals:` use plain old `#=`, which is more portable. * Removed Character>>- used to create range parser. Use portable `(Interval from: $a to: $z) asParser` instead of just `$a - $z`. Do not use ($a to: $z) asParser as in Pharo, Character>>to: does not create an Interval but an Array (sigh). diff -r 451b5ae38b72 -r 8fe3cb4e607f PPFailingParser.st --- a/PPFailingParser.st Fri Oct 03 03:11:33 2014 +0100 +++ b/PPFailingParser.st Sun Oct 05 00:05:20 2014 +0100 @@ -52,6 +52,11 @@ ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPFailingParser.st,v 1.4 2014-03-04 14:32:28 cg Exp $' ! +version_HG + + ^ '$Changeset: $' +! + version_SVN ^ '$Id: PPFailingParser.st,v 1.4 2014-03-04 14:32:28 cg Exp $' ! ! diff -r 451b5ae38b72 -r 8fe3cb4e607f PPGreedyRepeatingParser.st --- a/PPGreedyRepeatingParser.st Fri Oct 03 03:11:33 2014 +0100 +++ b/PPGreedyRepeatingParser.st Sun Oct 05 00:05:20 2014 +0100 @@ -46,5 +46,10 @@ version_CVS ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPGreedyRepeatingParser.st,v 1.1 2014-03-04 14:32:42 cg Exp $' +! + +version_HG + + ^ '$Changeset: $' ! ! diff -r 451b5ae38b72 -r 8fe3cb4e607f PPPredicateObjectParser.st --- a/PPPredicateObjectParser.st Fri Oct 03 03:11:33 2014 +0100 +++ b/PPPredicateObjectParser.st Sun Oct 05 00:05:20 2014 +0100 @@ -42,7 +42,9 @@ ! cr - ^ self char: Character cr message: 'carriage return expected' + ^ self char: (Character codePoint: 13) message: 'carriage return expected' + + "Modified: / 03-10-2014 / 23:56:14 / Jan Vrany " ! digit @@ -71,7 +73,9 @@ ! newline - ^ self chars: (String with: Character cr with: Character lf) message: 'newline expected' + ^ self chars: (String with: (Character codePoint: 13) with: (Character codePoint: 10)) message: 'newline expected' + + "Modified: / 03-10-2014 / 23:56:27 / Jan Vrany " ! punctuation diff -r 451b5ae38b72 -r 8fe3cb4e607f PPStream.st --- a/PPStream.st Fri Oct 03 03:11:33 2014 +0100 +++ b/PPStream.st Sun Oct 05 00:05:20 2014 +0100 @@ -64,17 +64,21 @@ !PPStream methodsFor:'queries'! insideCRLF - (position < 1) ifTrue: [ ^ false ]. - - ^ (self peek = Character lf) and: [ self peekBack = Character cr ] + (position < 1) ifTrue: [ ^ false ]. + + ^ (self peek = (Character codePoint: 10)) and: [ self peekBack = (Character codePoint: 13) ] + + "Modified: / 03-10-2014 / 23:52:33 / Jan Vrany " ! isStartOfLine - (position = 0) ifTrue: [ ^ true ]. + (position = 0) ifTrue: [ ^ true ]. - self insideCRLF ifTrue: [ ^ false ]. - - ^ (self peekBack = Character cr) or: [ self peekBack = Character lf]. + self insideCRLF ifTrue: [ ^ false ]. + + ^ (self peekBack = (Character codePoint: 13)) or: [ self peekBack = (Character codePoint: 10)]. + + "Modified: / 03-10-2014 / 23:52:56 / Jan Vrany " ! ! !PPStream class methodsFor:'documentation'! diff -r 451b5ae38b72 -r 8fe3cb4e607f PPToken.st --- a/PPToken.st Fri Oct 03 03:11:33 2014 +0100 +++ b/PPToken.st Sun Oct 05 00:05:20 2014 +0100 @@ -11,9 +11,15 @@ !PPToken class methodsFor:'initialization'! initialize - "Platform independent newline sequence. LF: Unix, CR+LF: Windows, and CR: Apple." + "Platform independent newline sequence. LF: Unix, CR+LF: Windows, and CR: Apple." + + | cr lf | - NewLineParser := (Character lf asParser) / (Character cr asParser , Character lf asParser optional) + cr := Character codePoint: 13. + lf := Character codePoint: 10. + NewLineParser := lf asParser / (cr asParser , lf asParser optional) + + "Modified: / 04-10-2014 / 00:03:39 / Jan Vrany " ! ! !PPToken class methodsFor:'instance creation'! @@ -127,13 +133,14 @@ newline "Parser a platform independent newline sequence. LF: Unix, CR+LF: Windows, and CR: Apple." - |cr| + | cr lf | - cr := Smalltalk isSmalltalkX - ifTrue:[Character return] - ifFalse:[Character cr]. - ^ (Character lf asParser) - / (cr asParser , Character lf asParser optional) + cr := Character codePoint: 13. + lf := Character codePoint: 10. + ^ lf asParser + / (cr asParser , lf asParser optional) + + "Modified: / 04-10-2014 / 00:02:15 / Jan Vrany " ! ! !PPToken methodsFor:'querying'! diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/PPListPattern.st --- a/analyzer/PPListPattern.st Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/PPListPattern.st Sun Oct 05 00:05:20 2014 +0100 @@ -16,5 +16,10 @@ version_CVS ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/PPListPattern.st,v 1.2 2014-03-04 20:27:47 cg Exp $' +! + +version_HG + + ^ '$Changeset: $' ! ! diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/PPRule.st --- a/analyzer/PPRule.st Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/PPRule.st Sun Oct 05 00:05:20 2014 +0100 @@ -57,5 +57,10 @@ version_CVS ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/PPRule.st,v 1.2 2014-03-04 20:27:51 cg Exp $' +! + +version_HG + + ^ '$Changeset: $' ! ! diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/analyzer.rc --- a/analyzer/analyzer.rc Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/analyzer.rc Sun Oct 05 00:05:20 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", "Fri, 03 Oct 2014 02:10:43 GMT\0" + VALUE "ProductDate", "Sat, 04 Oct 2014 23:03:58 GMT\0" END END diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/tests/Make.proto --- a/analyzer/tests/Make.proto Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/tests/Make.proto Sun Oct 05 00:05:20 2014 +0100 @@ -1,4 +1,4 @@ -# $Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/Make.proto,v 1.1 2014-03-04 20:26:22 cg Exp $ +# $Header$ # # DO NOT EDIT # automagically generated from the projectDefinition: stx_goodies_petitparser_analyzer_tests. @@ -34,7 +34,7 @@ # add the path(es) here:, # ********** OPTIONAL: MODIFY the next lines *** # LOCALINCLUDES=-Ifoo -Ibar -LOCALINCLUDES= -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 -I$(INCLUDE_TOP)/stx/goodies/petitparser/analyzer -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic # if you need any additional defines for embedded C code, @@ -70,12 +70,19 @@ +# Enforce recompilation of package definition class if Mercurial working +# copy state changes. Together with --guessVersion it ensures that package +# definition class always contains correct binary revision string. +ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**')) +stx_goodies_petitparser_analyzer_tests.$(O): $(shell hg root)/.hg/dirstate +endif + # run default testsuite for this package test: $(TOP)/goodies/builder/reports - $(MAKE) -C $(TOP)/goodies/builder/reports + $(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init $(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE) @@ -96,7 +103,9 @@ prereq: cd ../../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd ../../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" + cd ../../../../libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd ../../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" + cd ../../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd ../../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd ../../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd ../../tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" @@ -119,9 +128,6 @@ # BEGINMAKEDEPEND --- do not remove this line; make depend needs it -$(OUTDIR)PPAnalyzerTest.$(O) PPAnalyzerTest.$(H): PPAnalyzerTest.st $(INCLUDE_TOP)/stx/goodies/petitparser/tests/PPAbstractParserTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)PPRewriterTest.$(O) PPRewriterTest.$(H): PPRewriterTest.st $(INCLUDE_TOP)/stx/goodies/petitparser/tests/PPAbstractParserTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)PPSearcherTest.$(O) PPSearcherTest.$(H): PPSearcherTest.st $(INCLUDE_TOP)/stx/goodies/petitparser/tests/PPAbstractParserTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)stx_goodies_petitparser_analyzer_tests.$(O) stx_goodies_petitparser_analyzer_tests.$(H): stx_goodies_petitparser_analyzer_tests.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR) # ENDMAKEDEPEND --- do not remove this line diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/tests/Make.spec --- a/analyzer/tests/Make.spec Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/tests/Make.spec Sun Oct 05 00:05:20 2014 +0100 @@ -1,4 +1,4 @@ -# $Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/Make.spec,v 1.1 2014-03-04 20:26:19 cg Exp $ +# $Header$ # # DO NOT EDIT # automagically generated from the projectDefinition: stx_goodies_petitparser_analyzer_tests. @@ -50,18 +50,12 @@ STCWARNINGS=-warnNonStandard COMMON_CLASSES= \ - PPAnalyzerTest \ - PPRewriterTest \ - PPSearcherTest \ stx_goodies_petitparser_analyzer_tests \ COMMON_OBJS= \ - $(OUTDIR_SLASH)PPAnalyzerTest.$(O) \ - $(OUTDIR_SLASH)PPRewriterTest.$(O) \ - $(OUTDIR_SLASH)PPSearcherTest.$(O) \ $(OUTDIR_SLASH)stx_goodies_petitparser_analyzer_tests.$(O) \ diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/tests/PPAnalyzerTest.st --- a/analyzer/tests/PPAnalyzerTest.st Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/tests/PPAnalyzerTest.st Sun Oct 05 00:05:20 2014 +0100 @@ -537,5 +537,10 @@ version_CVS ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/PPAnalyzerTest.st,v 1.4 2014-03-04 20:44:21 cg Exp $' +! + +version_HG + + ^ '$Changeset: $' ! ! diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/tests/bc.mak --- a/analyzer/tests/bc.mak Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/tests/bc.mak Sun Oct 05 00:05:20 2014 +0100 @@ -1,4 +1,4 @@ -# $Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/bc.mak,v 1.1 2014-03-04 20:26:28 cg Exp $ +# $Header$ # # DO NOT EDIT # automagically generated from the projectDefinition: stx_goodies_petitparser_analyzer_tests. @@ -34,7 +34,7 @@ -LOCALINCLUDES= -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 -I$(INCLUDE_TOP)\stx\goodies\petitparser\analyzer -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic LOCALDEFINES= STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME) @@ -52,7 +52,9 @@ prereq: pushd ..\..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + pushd ..\..\..\..\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + pushd ..\.. & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " @@ -72,9 +74,15 @@ # BEGINMAKEDEPEND --- do not remove this line; make depend needs it -$(OUTDIR)PPAnalyzerTest.$(O) PPAnalyzerTest.$(H): PPAnalyzerTest.st $(INCLUDE_TOP)\stx\goodies\petitparser\tests\PPAbstractParserTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)PPRewriterTest.$(O) PPRewriterTest.$(H): PPRewriterTest.st $(INCLUDE_TOP)\stx\goodies\petitparser\tests\PPAbstractParserTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)PPSearcherTest.$(O) PPSearcherTest.$(H): PPSearcherTest.st $(INCLUDE_TOP)\stx\goodies\petitparser\tests\PPAbstractParserTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)stx_goodies_petitparser_analyzer_tests.$(O) stx_goodies_petitparser_analyzer_tests.$(H): stx_goodies_petitparser_analyzer_tests.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR) # ENDMAKEDEPEND --- do not remove this line + +# **Must be at end** + +# Enforce recompilation of package definition class if Mercurial working +# copy state changes. Together with --guessVersion it ensures that package +# definition class always contains correct binary revision string. +!IFDEF HGROOT +$(OUTDIR)stx_goodies_petitparser_analyzer_tests.$(O): $(HGROOT)\.hg\dirstate +!ENDIF diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/tests/libInit.cc --- a/analyzer/tests/libInit.cc Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/tests/libInit.cc Sun Oct 05 00:05:20 2014 +0100 @@ -1,5 +1,5 @@ /* - * $Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/libInit.cc,v 1.1 2014-03-04 20:26:49 cg Exp $ + * $Header$ * * DO NOT EDIT * automagically generated from the projectDefinition: stx_goodies_petitparser_analyzer_tests. @@ -27,9 +27,6 @@ void _libstx_goodies_petitparser_analyzer_tests_Init(pass, __pRT__, snd) OBJ snd; struct __vmData__ *__pRT__; { __BEGIN_PACKAGE2__("libstx_goodies_petitparser_analyzer_tests", _libstx_goodies_petitparser_analyzer_tests_Init, "stx:goodies/petitparser/analyzer/tests"); -_PPAnalyzerTest_Init(pass,__pRT__,snd); -_PPRewriterTest_Init(pass,__pRT__,snd); -_PPSearcherTest_Init(pass,__pRT__,snd); _stx_137goodies_137petitparser_137analyzer_137tests_Init(pass,__pRT__,snd); diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/tests/stx_goodies_petitparser_analyzer_tests.st --- a/analyzer/tests/stx_goodies_petitparser_analyzer_tests.st Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/tests/stx_goodies_petitparser_analyzer_tests.st Sun Oct 05 00:05:20 2014 +0100 @@ -67,9 +67,9 @@ ^ #( " or ( attributes...) in load order" - PPAnalyzerTest - PPRewriterTest - PPSearcherTest + (PPAnalyzerTest autoload) + (PPRewriterTest autoload) + (PPSearcherTest autoload) #'stx_goodies_petitparser_analyzer_tests' ) ! @@ -116,5 +116,10 @@ version_CVS ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/tests/stx_goodies_petitparser_analyzer_tests.st,v 1.1 2014-03-04 20:26:59 cg Exp $' +! + +version_HG + + ^ '$Changeset: $' ! ! diff -r 451b5ae38b72 -r 8fe3cb4e607f analyzer/tests/tests.rc --- a/analyzer/tests/tests.rc Fri Oct 03 03:11:33 2014 +0100 +++ b/analyzer/tests/tests.rc Sun Oct 05 00:05:20 2014 +0100 @@ -3,8 +3,8 @@ // automagically generated from the projectDefinition: stx_goodies_petitparser_analyzer_tests. // VS_VERSION_INFO VERSIONINFO - FILEVERSION 6,2,0,1 - PRODUCTVERSION 6,2,3,0 + FILEVERSION 6,2,32767,32767 + PRODUCTVERSION 6,2,4,0 #if (__BORLANDC__) FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD @@ -20,12 +20,12 @@ BEGIN VALUE "CompanyName", "eXept Software AG\0" VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0" - VALUE "FileVersion", "6.2.0.1\0" + VALUE "FileVersion", "6.2.32767.32767\0" VALUE "InternalName", "stx:goodies/petitparser/analyzer/tests\0" VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2014\nCopyright eXept Software AG 1998-2014\0" VALUE "ProductName", "Smalltalk/X\0" - VALUE "ProductVersion", "6.2.3.0\0" - VALUE "ProductDate", "Tue, 04 Mar 2014 20:26:17 GMT\0" + VALUE "ProductVersion", "6.2.4.0\0" + VALUE "ProductDate", "Sat, 04 Oct 2014 23:04:00 GMT\0" END END diff -r 451b5ae38b72 -r 8fe3cb4e607f petitparser.rc --- a/petitparser.rc Fri Oct 03 03:11:33 2014 +0100 +++ b/petitparser.rc Sun Oct 05 00:05:20 2014 +0100 @@ -25,7 +25,7 @@ VALUE "LegalCopyright", "(C) Lukas Renggli\0" VALUE "ProductName", "Petit Parser\0" VALUE "ProductVersion", "6.2.4.0\0" - VALUE "ProductDate", "Fri, 03 Oct 2014 02:10:40 GMT\0" + VALUE "ProductDate", "Sat, 04 Oct 2014 23:03:54 GMT\0" END END diff -r 451b5ae38b72 -r 8fe3cb4e607f tests/PPExtensionTest.st --- a/tests/PPExtensionTest.st Fri Oct 03 03:11:33 2014 +0100 +++ b/tests/PPExtensionTest.st Sun Oct 05 00:05:20 2014 +0100 @@ -72,13 +72,13 @@ testRange | parser | - parser := ($a to: $c) asParser. + parser := (Interval from: $a to: $c) asParser. self assert: parser parse: 'a' to: $a. self assert: parser parse: 'b' to: $b. self assert: parser parse: 'c' to: $c. self assert: parser fail: 'd' - "Modified: / 03-10-2014 / 03:07:37 / Jan Vrany " + "Modified: / 05-10-2014 / 00:02:52 / Jan Vrany " ! testSequence diff -r 451b5ae38b72 -r 8fe3cb4e607f tests/PPLambdaParser.st --- a/tests/PPLambdaParser.st Fri Oct 03 03:11:33 2014 +0100 +++ b/tests/PPLambdaParser.st Sun Oct 05 00:05:20 2014 +0100 @@ -68,6 +68,11 @@ ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLambdaParser.st,v 1.4 2014-03-04 14:34:00 cg Exp $' ! +version_HG + + ^ '$Changeset: $' +! + version_SVN ^ '$Id: PPLambdaParser.st,v 1.4 2014-03-04 14:34:00 cg Exp $' ! ! diff -r 451b5ae38b72 -r 8fe3cb4e607f tests/PPParserTest.st --- a/tests/PPParserTest.st Fri Oct 03 03:11:33 2014 +0100 +++ b/tests/PPParserTest.st Sun Oct 05 00:05:20 2014 +0100 @@ -931,21 +931,23 @@ ! testPrint - | parser | - parser := PPParser new. - self assert: (parser printString includesSubstring: 'PPParser'). - - parser := PPParser named: 'choice'. - self assert: (parser printString includesSubstring: 'PPParser(choice'). - - parser := PPLiteralObjectParser on: $a. - self assert: (parser printString includesSubstring: '$a'). - - parser := PPFailingParser message: 'error'. - self assert: (parser printString includesSubstring: 'error'). - - parser := PPPredicateObjectParser on: [ :c | true ] message: 'error'. - self assert: (parser printString includesSubstring: 'error') + | parser | + parser := PPParser new. + self assert: (parser printString includesSubstring: 'PPParser'). + + parser := PPParser named: 'choice'. + self assert: (parser printString includesSubstring: 'PPParser(choice'). + + parser := PPLiteralObjectParser on: $a. + self assert: (parser printString includesSubstring: $a printString). + + parser := PPFailingParser message: 'error'. + self assert: (parser printString includesSubstring: 'error'). + + parser := PPPredicateObjectParser on: [ :c | true ] message: 'error'. + self assert: (parser printString includesSubstring: 'error') + + "Modified: / 03-10-2014 / 23:43:04 / Jan Vrany " ! ! !PPParserTest methodsFor:'testing-fixtures'! @@ -1456,16 +1458,16 @@ parser := $a asParser. self assert: (parser parse: 'a') equals: $a. self assert: (result := parser parse: 'b') isPetitFailure. - self assert: (result message includesSubstring: '$a'). + self assert: (result message includesSubstring: $a printString). self assert: (result message includesSubstring: 'expected'). self assert: result position equals: 0. self assert: (parser parse: 'a' readStream) equals: $a. self assert: (result := parser parse: 'b' readStream) isPetitFailure. - self assert: (result message includesSubstring: '$a'). + self assert: (result message includesSubstring: $a printString). self assert: (result message includesSubstring: 'expected'). self assert: result position equals: 0 - "Modified (format): / 03-10-2014 / 02:48:29 / Jan Vrany " + "Modified: / 03-10-2014 / 23:42:27 / Jan Vrany " ! testParseOnError0 @@ -1479,35 +1481,39 @@ ! testParseOnError1 - | parser result seen | - parser := $a asParser. - result := parser parse: 'a' onError: [ self signalFailure: 'Not supposed to report an error' ]. - self assert: result equals: $a. - result := parser - parse: 'b' - onError: [ :failure | - self assert: failure position equals: 0. - self assert: (failure message includesSubstring: '$a'). - self assert: (failure message includesSubstring: 'expected'). - seen := true ]. - self assert: result. - self assert: seen + | parser result seen | + parser := $a asParser. + result := parser parse: 'a' onError: [ self signalFailure: 'Not supposed to report an error' ]. + self assert: result equals: $a. + result := parser + parse: 'b' + onError: [ :failure | + self assert: failure position equals: 0. + self assert: (failure message includesSubstring: $a printString). + self assert: (failure message includesSubstring: 'expected'). + seen := true ]. + self assert: result. + self assert: seen + + "Modified: / 03-10-2014 / 23:42:40 / Jan Vrany " ! testParseOnError2 - | parser result seen | - parser := $a asParser. - result := parser parse: 'a' onError: [ self signalFailure: 'Not supposed to report an error' ]. - self assert: result equals: $a. - result := parser - parse: 'b' - onError: [ :msg :pos | - self assert: (msg includesSubstring: '$a'). - self assert: (msg includesSubstring: 'expected'). - self assert: pos equals: 0. - seen := true ]. - self assert: result. - self assert: seen + | parser result seen | + parser := $a asParser. + result := parser parse: 'a' onError: [ self signalFailure: 'Not supposed to report an error' ]. + self assert: result equals: $a. + result := parser + parse: 'b' + onError: [ :msg :pos | + self assert: (msg includesSubstring: $a printString). + self assert: (msg includesSubstring: 'expected'). + self assert: pos equals: 0. + seen := true ]. + self assert: result. + self assert: seen + + "Modified: / 03-10-2014 / 23:42:51 / Jan Vrany " ! testParser diff -r 451b5ae38b72 -r 8fe3cb4e607f tests/PPPredicateTest.st --- a/tests/PPPredicateTest.st Fri Oct 03 03:11:33 2014 +0100 +++ b/tests/PPPredicateTest.st Sun Oct 05 00:05:20 2014 +0100 @@ -59,10 +59,12 @@ ! testCr - | parser | - parser := #cr asParser. - self assertCharacterSets: parser. - self assert: parser parse: (String with: Character cr) to: Character cr + | parser | + parser := #cr asParser. + self assertCharacterSets: parser. + self assert: parser parse: (String with: (Character codePoint: 13)) to: (Character codePoint: 13) + + "Modified: / 04-10-2014 / 12:03:43 / Jan Vrany " ! testDigit diff -r 451b5ae38b72 -r 8fe3cb4e607f tests/PPScriptingTest.st --- a/tests/PPScriptingTest.st Fri Oct 03 03:11:33 2014 +0100 +++ b/tests/PPScriptingTest.st Sun Oct 05 00:05:20 2014 +0100 @@ -20,7 +20,7 @@ add := PPUnresolvedParser new. mul := PPUnresolvedParser new. prim := PPUnresolvedParser new. - dec := ($0 to: $9) asParser ==> [ :token | token codePoint - $0 codePoint ]. + dec := (Interval from: $0 to: $9) asParser ==> [ :token | token codePoint - $0 codePoint ]. add def: ((mul , $+ asParser , add) ==> [ :nodes | (nodes at: 1) + (nodes at: 3) ]) / mul. mul def: ((prim , $* asParser , mul) ==> [ :nodes | (nodes at: 1) * (nodes at: 3) ]) @@ -29,7 +29,7 @@ / dec. ^ add end - "Modified: / 03-10-2014 / 02:54:06 / Jan Vrany " + "Modified: / 05-10-2014 / 00:02:58 / Jan Vrany " ! expressionParser @@ -39,7 +39,7 @@ add := PPUnresolvedParser new. mul := PPUnresolvedParser new. prim := PPUnresolvedParser new. - dec := ($0 to: $9) asParser. + dec := (Interval from: $0 to: $9) asParser. add def: (mul , $+ asParser , add) / mul. mul def: (prim , $* asParser , mul) @@ -48,7 +48,7 @@ / dec. ^ add end - "Modified: / 03-10-2014 / 02:54:42 / Jan Vrany " + "Modified: / 05-10-2014 / 00:03:01 / Jan Vrany " ! straightLineParser @@ -61,11 +61,11 @@ mulExp := PPUnresolvedParser new. primExp := PPUnresolvedParser new. - lower := ($a to: $z) asParser. - upper := ($A to: $Z) asParser. + lower := (Interval from: $a to: $z) asParser. + upper := (Interval from: $A to: $Z) asParser. char := lower / upper. - nonzero := ($1 to: $9) asParser. - dec := ($0 to: $9) asParser. + nonzero := (Interval from: $1 to: $9) asParser. + dec := (Interval from: $0 to: $9) asParser. id := char, ( char / dec ) star. num := $0 asParser / ( nonzero, dec star). @@ -81,7 +81,7 @@ / ( $( asParser, stmList, $, asParser, exp, $) asParser ). ^ goal - "Modified: / 03-10-2014 / 02:56:03 / Jan Vrany " + "Modified: / 05-10-2014 / 00:03:11 / Jan Vrany " ! ! !PPScriptingTest methodsFor:'tests'! diff -r 451b5ae38b72 -r 8fe3cb4e607f tests/PPTokenTest.st --- a/tests/PPTokenTest.st Fri Oct 03 03:11:33 2014 +0100 +++ b/tests/PPTokenTest.st Sun Oct 05 00:05:20 2014 +0100 @@ -89,21 +89,25 @@ !PPTokenTest methodsFor:'testing-querying'! testColumn - | input parser result | - input := '1' , (String with: Character cr) , '12' , (String with: Character cr with: Character lf) , '123' - , (String with: Character lf) , '1234'. - parser := #any asParser token star. - result := parser parse: input. - result with: #(1 2 1 2 3 4 1 2 3 4 1 2 3 4) do: [ :token :line | self assert: token column equals: line ] + | input parser result | + input := '1' , (String with: (Character codePoint: 13)) , '12' , (String with: (Character codePoint: 13) with: (Character codePoint: 10)) , '123' + , (String with: (Character codePoint: 10)) , '1234'. + parser := #any asParser token star. + result := parser parse: input. + result with: #(1 2 1 2 3 4 1 2 3 4 1 2 3 4) do: [ :token :line | self assert: token column equals: line ] + + "Modified: / 03-10-2014 / 23:53:40 / Jan Vrany " ! testLine - | input parser result | - input := '1' , (String with: Character cr) , '12' , (String with: Character cr with: Character lf) , '123' - , (String with: Character lf) , '1234'. - parser := #any asParser token star. - result := parser parse: input. - result with: #(1 1 2 2 2 2 3 3 3 3 4 4 4 4) do: [ :token :line | self assert: token line equals: line ] + | input parser result | + input := '1' , (String with: (Character codePoint: 13)) , '12' , (String with:(Character codePoint: 13) with: (Character codePoint: 10)) , '123' + , (String with: (Character codePoint: 10)) , '1234'. + parser := #any asParser token star. + result := parser parse: input. + result with: #(1 1 2 2 2 2 3 3 3 3 4 4 4 4) do: [ :token :line | self assert: token line equals: line ] + + "Modified: / 03-10-2014 / 23:54:22 / Jan Vrany " ! ! !PPTokenTest methodsFor:'testing-values'! diff -r 451b5ae38b72 -r 8fe3cb4e607f tests/tests.rc --- a/tests/tests.rc Fri Oct 03 03:11:33 2014 +0100 +++ b/tests/tests.rc Sun Oct 05 00:05:20 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", "Fri, 03 Oct 2014 02:10:41 GMT\0" + VALUE "ProductDate", "Sat, 04 Oct 2014 23:03:56 GMT\0" END END