compiler/tests/extras/PPCLRPState.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 19 Mar 2016 00:12:47 +0100
changeset 556 51c6afba5c91
parent 534 a949c4fe44df
permissions -rw-r--r--
CI: Use VM provided by Pharo team on both Linux and Windows. Hand-crafter Pharo VM is no longer needed as the Linux slave in SWING build farm has been upgraded so it has compatible GLIBC. This makes CI scripts simpler and more usable for other people.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
511
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/compiler/tests/extras' }"
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
PPCLRPContainedElement subclass:#PPCLRPState
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'name body nestedMachine startTime compareMachines'
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'PetitCompiler-Extras-Tests-LRP'
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
534
a949c4fe44df PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    12
511
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!PPCLRPState class methodsFor:'instance creation'!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
name: aString body: anArray
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    |retval|
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    retval := self new.
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    retval name: aString.
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    retval body: anArray.
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    ^retval
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
! !
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!PPCLRPState methodsFor:'accessing'!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
body
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    ^ body
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
body: anObject
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
    body := anObject.
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    body do: [ :aBodyElement|
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
        (aBodyElement isKindOf: PPCLRPContainedElement)
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
            ifTrue: [aBodyElement container: self] ].
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
fullName
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    ^self container fullName, '/', self name 
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
machines
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    ^self body select:[:item | item class = PPCLRPMachine]
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
name
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    ^ name
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
name: anObject
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    name := anObject
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
! !
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
!PPCLRPState methodsFor:'error handing'!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
onErrorNode: aBlock parser: aPPCLRPParser
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    ^body do:[:aNode| aNode onErrorNode: aBlock parser: aPPCLRPParser]
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
! !
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
!PPCLRPState methodsFor:'printing'!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
printOn: aStream
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    aStream nextPutAll: 'PPCLRPState '.
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    aStream nextPutAll: self name.
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    aStream nextPutAll: ' : '.
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    aStream nextPutAll: self body asString.
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
! !
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
!PPCLRPState methodsFor:'visiting'!
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
acceptVisitor: aPPCLRPNodeVisitor
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    aPPCLRPNodeVisitor visitStateNode: self.
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
! !
527038bc8edf Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
534
a949c4fe44df PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    75
!PPCLRPState class methodsFor:'documentation'!
a949c4fe44df PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    76
a949c4fe44df PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    77
version_HG
a949c4fe44df PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    78
a949c4fe44df PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    79
    ^ '$Changeset: <not expanded> $'
a949c4fe44df PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    80
! !
a949c4fe44df PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 511
diff changeset
    81