compiler/PPCChoiceNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 05 May 2015 15:07:56 +0200
changeset 450 914c2567c987
parent 438 20598d7ce9fa
child 452 9f4558b3be66
permissions -rw-r--r--
Oops, merged lost Smalltalk/X compatibility fixes

"{ Package: 'stx:goodies/petitparser/compiler' }"

"{ NameSpace: Smalltalk }"

PPCListNode subclass:#PPCChoiceNode
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'PetitCompiler-Nodes'
!

!PPCChoiceNode methodsFor:'accessing'!

prefix
	^ #ch
! !

!PPCChoiceNode methodsFor:'analysis'!

acceptsEpsilon
	^ self acceptsEpsilonOpenSet: IdentitySet new.
!

acceptsEpsilonOpenSet: set
	set add: self.
	^ self children anySatisfy: [:e | e acceptsEpsilonOpenSet: set ].
! !

!PPCChoiceNode methodsFor:'visiting'!

accept: visitor
	^ visitor visitChoiceNode: self
! !