Updated to PetitCompiler-JanKurs.160, PetitCompiler-Tests-JanKurs.112, PetitCompiler-Extras-Tests-JanKurs.25, PetitCompiler-Benchmarks-JanKurs.17
Name: PetitCompiler-JanKurs.160
Author: JanKurs
Time: 17-08-2015, 09:52:26.291 AM
UUID: 3b4bfc98-8098-4951-af83-a59e2585b121
Name: PetitCompiler-Tests-JanKurs.112
Author: JanKurs
Time: 16-08-2015, 05:00:32.936 PM
UUID: 85613d47-08f3-406f-9823-9cdab451e805
Name: PetitCompiler-Extras-Tests-JanKurs.25
Author: JanKurs
Time: 16-08-2015, 05:00:10.328 PM
UUID: 09731810-51a1-4151-8d3a-56b636fbd1f7
Name: PetitCompiler-Benchmarks-JanKurs.17
Author: JanKurs
Time: 05-08-2015, 05:29:32.407 PM
UUID: e544b5f1-bcf8-470b-93a6-d2363e4dfc8a
"{ Package: 'stx:goodies/petitparser/parsers/java' }"
"{ NameSpace: Smalltalk }"
PPParser subclass:#PPJavaWhitespaceParser
instanceVariableNames:'separator'
classVariableNames:''
poolDictionaries:''
category:'PetitJava-Core'
!
!PPJavaWhitespaceParser methodsFor:'as yet unclassified'!
acceptsEpsilon
^ true
!
acceptsEpsilonOpenSet: set
^ true
!
firstCharParser
^ PPFailingParser new
!
firstCharSet
^ PPCharSetPredicate on: [:e | false ]
!
isNullable
^ true
!
name
^ 'java_ws'
!
parseOn: context
| start |
[
| peekTwice |
[ context atEnd not and: [ context peek isSeparator ] ]
whileTrue: [ context next ].
peekTwice := context peekTwice.
((peekTwice first = $/) and:
[ (peekTwice second = $*) or: [peekTwice second = $/]])
] whileTrue: [
context next.
start := context position.
(context next = $*)
ifTrue: [ context upToAll: '*/' ]
ifFalse: [
| position |
position := context position.
context upToAnyOf: CharacterSet crlf].
].
! !