--- a/compiler/PPCStarAnyNode.st Thu Apr 30 23:43:14 2015 +0200
+++ b/compiler/PPCStarAnyNode.st Sun May 10 06:28:36 2015 +0100
@@ -12,12 +12,30 @@
!PPCStarAnyNode methodsFor:'as yet unclassified'!
prefix
- ^ #starAny
+ ^ #starAny
+! !
+
+!PPCStarAnyNode methodsFor:'first follow next'!
+
+firstSets: aFirstDictionary into: aSet suchThat: aBlock
+ "
+ First and follow should be performed on the non-specialized tree, i.e. on a tree
+ with star -> messageNode. Not on myself.
+
+ The reason for that is, that:
+ - I am terminal
+ - I am nullable
+
+ This means, I look like epsilon node for the first follow analysis. And epsilons
+ are ignored in sequences, thus sequence of StarMessagePredicate, Literal
+ leads to { Literal } as firstSet and not expected { MessagePredicate, Literal }
+ "
+ ^ self error: 'Cannot perform first/follow analysis on myself, sorry for that :('
! !
!PPCStarAnyNode methodsFor:'visiting'!
accept: visitor
- ^ visitor visitStarAnyNode: self
+ ^ visitor visitStarAnyNode: self
! !