compiler/PPCNodeVisitor.st
changeset 452 9f4558b3be66
parent 438 20598d7ce9fa
child 464 f6d77fee9811
--- a/compiler/PPCNodeVisitor.st	Thu Apr 30 23:43:14 2015 +0200
+++ b/compiler/PPCNodeVisitor.st	Sun May 10 06:28:36 2015 +0100
@@ -12,307 +12,275 @@
 !PPCNodeVisitor class methodsFor:'instance creation'!
 
 new
-	^ self basicNew initialize
+    ^ self basicNew initialize
 ! !
 
 !PPCNodeVisitor methodsFor:'accessing'!
 
 arguments: args
-	arguments := args
+    arguments := args
 ! !
 
 !PPCNodeVisitor methodsFor:'hooks'!
 
 afterAccept: node retval: retval
-	"nothing to do"
-	^ retval
+    "nothing to do"
+    ^ retval
 !
 
 beforeAccept: node
-	"nothing to do"
+    "nothing to do"
 !
 
 closedDetected: node
-	^ #closed
+    ^ #closed
 !
 
 openDetected: node
-	^ #open
+    ^ #open
 ! !
 
 !PPCNodeVisitor methodsFor:'initialization'!
 
 initialize
-	super initialize.
-	openSet := IdentitySet new.
-	closeSet := IdentitySet new.	
-	cache := IdentityDictionary new.
+    super initialize.
+    openSet := IdentitySet new.
+    closeSet := IdentitySet new.	
+    cache := IdentityDictionary new.
 ! !
 
 !PPCNodeVisitor methodsFor:'traversing'!
 
 close: node
-	self assert: (self isOpen: node) description: 'should be opened first!!'.
-	
-	openSet remove: node.
-	closeSet add: node
+    self assert: (self isOpen: node) description: 'should be opened first!!'.
+    
+    openSet remove: node.
+    closeSet add: node
 !
 
 isClosed: child
-	^ closeSet includes: child
+    ^ closeSet includes: child
 !
 
 isOpen: child
-	^ openSet includes: child
+    ^ openSet includes: child
 !
 
 open: node
-	self assert: (self isOpen: node) not description: 'already opened!!'.
-	openSet add: node
+    self assert: (self isOpen: node) not description: 'already opened!!'.
+    openSet add: node
 !
 
 visit: node
-	| retval |
-	(self isOpen: node) ifTrue: [ 
-		^ self openDetected: node
-	].
+    | retval |
+    (self isOpen: node) ifTrue: [ 
+        ^ self openDetected: node
+    ].
 
-	(self isCached: node) ifTrue: [ 
-		^ self cachedDetected: node.
-	].
+    (self isCached: node) ifTrue: [ 
+        ^ self cachedDetected: node.
+    ].
 
-	(self isClosed: node) ifTrue: [ 
-		self closedDetected: node
-	].
+    (self isClosed: node) ifTrue: [ 
+        self closedDetected: node
+    ].
 
-	self open: node.
-	self beforeAccept: node.
-	retval := node accept: self.
-	retval := self afterAccept: node retval: retval.
-	self close: node.
-	self cache: node value: retval.	
-	
-	^ retval
+    self open: node.
+    self beforeAccept: node.
+    retval := node accept: self.
+    retval := self afterAccept: node retval: retval.
+    self close: node.
+    self cache: node value: retval.	
+    
+    ^ retval
 !
 
 visitChildren: node
-	node children do: [ :child | 
-		self visit: child
-	]
+    node children do: [ :child | 
+        self visit: child
+    ]
 ! !
 
 !PPCNodeVisitor methodsFor:'traversing - caching'!
 
 cache: node value: retval
-	self assert: (cache includesKey: node) not.
-	cache at: node put: retval
+    self assert: (cache includesKey: node) not.
+    cache at: node put: retval
 !
 
 cachedDetected: node
-	^ self cachedValue: node
+    ^ self cachedValue: node
 !
 
 cachedValue: node
-	^ cache at: node
+    ^ cache at: node
 !
 
 isCached: node
-	^ cache includesKey: node
+    ^ cache includesKey: node
 ! !
 
 !PPCNodeVisitor methodsFor:'visiting'!
 
 visitActionNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitAndNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitAnyNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitCharSetPredicateNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitCharacterNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitChoiceNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
+!
+
+visitDeterministicChoiceNode: node
+    ^ self visitNode: node
 !
 
 visitEndOfFileNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
+!
+
+visitEndOfInputNode: node
+    ^ self visitNode: node
 !
 
 visitForwardNode: node
-	^ self visitNode: node
-!
-
-visitInlineAnyNode: node
-	^ self visitNode: node
-!
-
-visitInlineCharSetPredicateNode: node
-	^ self visitNode: node
-!
-
-visitInlineCharacterNode: node
-	^ self visitNode: node
-!
-
-visitInlineLiteralNode: node
-	^ self visitNode: node
-!
-
-visitInlineMessagePredicateNode: node
-	^ self visitNode: node
-!
-
-visitInlineNilNode: node
-	^ self visitNode: node
-!
-
-visitInlineNotCharSetPredicateNode: node
-	^ self visitNode: node
-!
-
-visitInlineNotLiteralNode: node
-	^ self visitNode: node
-!
-
-visitInlineNotMessagePredicateNode: node
-	^ self visitNode: node
-!
-
-visitInlinePluggableNode: node
-	^ self visitNode: node
-!
-
-visitInlineTokenStarMessagePredicateNode: node
-	^ self visitNode: node
-!
-
-visitInlineTokenStarSeparatorNode: node
-	^ self visitNode: node
-!
-
-visitLLChoiceNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitLiteralNode: node
-	"default implementation"
-	^ self visitNode: node.
+    "default implementation"
+    ^ self visitNode: node.
 !
 
 visitMessagePredicateNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitNilNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitNode: node
-	self visitChildren: node.
-	^ node
+    self visitChildren: node.
+    ^ node
 !
 
 visitNotCharSetPredicateNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitNotLiteralNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitNotMessagePredicateNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitNotNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitOptionalNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitPluggableNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitPlusNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitPredicateNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
+!
+
+visitRecognizingSequenceNode: node
+    ^ self visitNode: node
 !
 
 visitSequenceNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitStarAnyNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitStarCharSetPredicateNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitStarMessagePredicateNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitStarNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitSymbolActionNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitTokenActionNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
+!
+
+visitTokenChoiceNode: node
+    ^ self visitNode: node
 !
 
 visitTokenConsumeNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitTokenNode: node
-	^ self visitNode: node
-!
-
-visitTokenSequenceNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitTokenStarMessagePredicateNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitTokenStarSeparatorNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
+!
+
+visitTokenWhitespaceNode: node
+    ^ self visitNode: node
+!
+
+visitTokenizingParserNode: node
+    ^ self visitNode: node
 !
 
 visitTrimNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitTrimmingTokenNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 !
 
 visitUnknownNode: node
-	^ self visitNode: node
+    ^ self visitNode: node
 ! !