"{ Package: 'stx:goodies/petitparser/compiler' }"
"{ NameSpace: Smalltalk }"
PPCDelegateNode subclass:#PPCOptionalNode
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Nodes'
!
!PPCOptionalNode methodsFor:'analyzing'!
isNullable
^ true
! !
!PPCOptionalNode methodsFor:'as yet unclassified'!
acceptsEpsilon
^ true
!
acceptsEpsilonOpenSet: set
^ true
!
compileWith: compiler effect: effect id: id
compiler startMethod: id.
compiler addVariable: 'retval'.
compiler add: 'retval := '.
compiler callOnLine: (child compileWith: compiler ).
compiler add: '^ error ifFalse: [ retval ] ifTrue: [ self clearError. nil ]'.
^ compiler stopMethod.
!
prefix
^ #opt
! !