compiler/PPCUnknownNode.st
changeset 438 20598d7ce9fa
parent 422 116d2b2af905
child 452 9f4558b3be66
--- a/compiler/PPCUnknownNode.st	Tue Apr 21 17:20:11 2015 +0100
+++ b/compiler/PPCUnknownNode.st	Thu Apr 30 23:43:14 2015 +0200
@@ -52,7 +52,7 @@
 	^ #parser
 ! !
 
-!PPCUnknownNode methodsFor:'as yet unclassified'!
+!PPCUnknownNode methodsFor:'analysis'!
 
 firstCharSet
 	^ parser firstCharSet
@@ -69,38 +69,18 @@
 	^ super hash bitXor: parser hash
 ! !
 
-!PPCUnknownNode methodsFor:'compiling'!
-
-compileWith: compiler effect: effect id: id
-	| compiledChild compiledParser |
-	compiler startMethod: id.
-	
-	compiledParser := parser copy.
-	"Compile all the children and call compiled version of them instead of the original one"
-	compiledParser children do: [ :child | 
-		compiledChild := child compileWith: compiler.
-		compiledParser replace: child with: compiledChild bridge.
-	].
-	
-	compiler addConstant: compiledParser as: id. 
-	
-	compiler addVariable: 'retval'.
-	compiler add: 'self clearError.'.
-	compiler add: '(retval := ', id, ' parseOn: context) isPetitFailure'.
-	compiler indent.
-	compiler add: ' ifTrue: [self error: retval message at: retval position ].'.
-	compiler dedent.
-	compiler add: 'error := retval isPetitFailure.'.
-	compiler add: '^ retval'.
- ^ compiler stopMethod.
-! !
-
 !PPCUnknownNode methodsFor:'transformation'!
 
 replace: node with: anotherNode
 	parser replace: node with: anotherNode
 ! !
 
+!PPCUnknownNode methodsFor:'visiting'!
+
+accept: visitor
+	^ visitor visitUnknownNode: self
+! !
+
 !PPCUnknownNode class methodsFor:'documentation'!
 
 version_HG