ParseNodeVisitor.st
author HG Automerge
Thu, 12 Jan 2017 09:44:22 +0000
branchjv
changeset 4088 529963173d68
parent 3968 4e4f134b6e26
child 4723 524785227024
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3841
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
     1
"
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
     3
              All Rights Reserved
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
     4
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
     5
 This software is furnished under a license and may be used
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
     6
 only in accordance with the terms of that license and with the
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
     8
 be provided or otherwise made available to, or used by, any
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
     9
 other person.  No title to or ownership of the software is
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    10
 hereby transferred.
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    11
"
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
"{ Package: 'stx:libcomp' }"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
3781
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    14
"{ NameSpace: Smalltalk }"
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    15
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
Object subclass:#ParseNodeVisitor
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	instanceVariableNames:''
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	classVariableNames:''
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	poolDictionaries:''
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	category:'System-Compiler-Support'
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
3781
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    23
!ParseNodeVisitor class methodsFor:'documentation'!
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    24
3841
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    25
copyright
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    26
"
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    27
 COPYRIGHT (c) 2006 by eXept Software AG
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    28
              All Rights Reserved
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    29
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    30
 This software is furnished under a license and may be used
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    31
 only in accordance with the terms of that license and with the
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    33
 be provided or otherwise made available to, or used by, any
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    34
 other person.  No title to or ownership of the software is
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    35
 hereby transferred.
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    36
"
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    37
!
a22f33410bdf Reduced dependencies
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3807
diff changeset
    38
3781
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    39
documentation
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    40
"
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    41
    a whitebox expandable abstract parsenode visitor.
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    42
    Subclasses should redefine those acceptXXX methods, in which they are interested.
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    43
"    
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    44
! !
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
!ParseNodeVisitor methodsFor:'visiting'!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
visit:anObject 
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    | stmt |
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
3781
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    52
    ^anObject isStatementNode 
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    53
        ifTrue:[
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    54
            stmt := anObject.
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    55
            [ stmt isNil ] whileFalse:[
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    56
                stmt acceptVisitor:self.
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    57
                stmt := stmt nextStatement.
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    58
            ]
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    59
        ] 
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    60
        ifFalse:[
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
    61
            anObject acceptVisitor: self.
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
        ]
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    "Modified: / 25-07-2011 / 22:33:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
visitAssignmentNode:anObject 
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    self visit: anObject variable.
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    self visit: anObject expression.
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "Modified: / 25-07-2011 / 22:30:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
visitBinaryNode:anObject 
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    ^self visitMessageNode: anObject
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    "Modified: / 25-07-2011 / 22:30:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
visitBlockNode:anObject 
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
    anObject statements ifNotNil:[
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
        self visit: anObject statements
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    ].
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    "Modified: / 25-07-2011 / 22:45:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
visitCascadeNode:anObject 
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
    self visitMessageNode: anObject.
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    "Modified: / 25-07-2011 / 22:37:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
visitConstantNode:anObject
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    "Modified: / 25-07-2011 / 22:41:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
visitECompletionConstantNode:anObject 
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
    "dispatched back from the visited eCompletionConstantNode-object (visitor pattern)"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
    "fall back to general object-case - please change as required"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
    ^ self visitObject:anObject
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
visitMessageNode:anObject 
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    self visit: anObject receiver.
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
    anObject arguments do:[:arg|
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
        self visit: arg.
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
    ]
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
    "Modified: / 25-07-2011 / 22:37:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
visitObject:anObject 
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
    "dispatched back from the visited objects (visitor pattern)"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
    "general fallBack - please change as required"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
    self halt:'not yet implemented'
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
visitParseErrorNode:anObject
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
    "Modified: / 25-07-2011 / 22:38:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
visitPrimitiveNode:anObject
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    "Modified: / 25-07-2011 / 22:38:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
visitReturnNode:anObject 
3807
b310b46dae58 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3781
diff changeset
   140
    self visit: anObject expression.
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
3807
b310b46dae58 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3781
diff changeset
   143
visitSelfNode:anObject 
b310b46dae58 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3781
diff changeset
   144
    "/ to be redefined in subclasses
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
visitStatementNode:anObject 
3964
f24f12ed11a1 #OTHER by mawalch
mawalch
parents: 3807
diff changeset
   148
    |expr|
f24f12ed11a1 #OTHER by mawalch
mawalch
parents: 3807
diff changeset
   149
f24f12ed11a1 #OTHER by mawalch
mawalch
parents: 3807
diff changeset
   150
    (expr := anObject expression) notNil ifTrue:[
f24f12ed11a1 #OTHER by mawalch
mawalch
parents: 3807
diff changeset
   151
        self visit: expr.
f24f12ed11a1 #OTHER by mawalch
mawalch
parents: 3807
diff changeset
   152
    ]
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
3807
b310b46dae58 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3781
diff changeset
   155
visitSuperNode:anObject 
b310b46dae58 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3781
diff changeset
   156
    "/ to be redefined in subclasses
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
visitUnaryNode:anObject 
3807
b310b46dae58 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3781
diff changeset
   160
    ^self visitMessageNode: anObject
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
3807
b310b46dae58 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3781
diff changeset
   163
visitVariableNode:anObject 
b310b46dae58 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 3781
diff changeset
   164
    "/ to be redefined in subclasses
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
! !
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
!ParseNodeVisitor class methodsFor:'documentation'!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
version
3781
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
   170
    ^ '$Header$'
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
!
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
version_CVS
3781
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
   174
    ^ '$Header$'
2584
9ad2a6f1a1c7 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
! !
3781
05e4db8b31e3 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 2584
diff changeset
   176