parsers/smalltalk/PPSmalltalkWhitespaceParser.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 03 Nov 2014 11:30:59 +0000
changeset 407 a0e6299c7337
parent 390 17ba167b8ee1
child 417 3c0a91182e65
permissions -rw-r--r--
Removed unused / obsolete methods from PPToken * remove PPToken class>>on:start:stop * remove PPToken>>initializeOn:start:stop
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
390
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/parsers/smalltalk' }"
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
PPParser subclass:#PPSmalltalkWhitespaceParser
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:'separator'
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'PetitSmalltalk-Core'
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!PPSmalltalkWhitespaceParser methodsFor:'analysis'!
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
isNullable
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
	^ true
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
! !
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
!PPSmalltalkWhitespaceParser methodsFor:'initialization'!
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
initialize
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	super initialize.
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
	separator := PPCharSetPredicate on: [ :char | char isSeparator ].
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
! !
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
!PPSmalltalkWhitespaceParser methodsFor:'parsing'!
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
parseOn: aPPContext
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	[ [aPPContext atEnd not and: [ separator value: aPPContext uncheckedPeek ] ]
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
		whileTrue: [ aPPContext next ].
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
		
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
	 aPPContext atEnd not and: [ aPPContext uncheckedPeek = $" ] ] whileTrue: [
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
		aPPContext next.
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
		aPPContext upTo: $".
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
	].
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
! !
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
!PPSmalltalkWhitespaceParser class methodsFor:'documentation'!
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
version_HG
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
    ^ '$Changeset: <not expanded> $'
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
! !
17ba167b8ee1 Updated to PetitSmalltalk-JanKurs.75
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42