SmaCC__SmaCCTerminalSymbol.st
changeset 1 b8cca2663544
child 15 8b8cd1701c33
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SmaCC__SmaCCTerminalSymbol.st	Thu Apr 10 09:11:12 2008 +0000
@@ -0,0 +1,62 @@
+"{ Package: 'stx:goodies/smaCC' }"
+
+"{ NameSpace: SmaCC }"
+
+SmaCCSymbol subclass:#SmaCCTerminalSymbol
+	instanceVariableNames:'regularExpression createIdMethod'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'SmaCC-Parser Generator'
+!
+
+SmaCCTerminalSymbol comment:'SmaCCTerminalSymbol represents a terminal symbol in our grammar.
+
+Instance Variables:
+	createIdMethod	<Boolean>	should we create a symbolNameId method for this symbol.
+	regularExpression	<SmaCCRegularExpression>	our regular expression that we must match for this terminal symbol'
+!
+
+
+!SmaCCTerminalSymbol methodsFor:'accessing'!
+
+createIdMethod
+	^createIdMethod
+!
+
+createIdMethod: aBoolean
+	createIdMethod := aBoolean
+!
+
+regularExpression
+	^regularExpression
+!
+
+regularExpression: aScannerNode
+	regularExpression := aScannerNode
+! !
+
+!SmaCCTerminalSymbol methodsFor:'initialize-release'!
+
+name: aString 
+	super name: aString.
+	firstItems add: self.
+	createIdMethod := false
+! !
+
+!SmaCCTerminalSymbol methodsFor:'private'!
+
+calculateFirstTerminals
+	^false
+! !
+
+!SmaCCTerminalSymbol methodsFor:'public'!
+
+isTerminal
+	^true
+! !
+
+!SmaCCTerminalSymbol class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /opt/data/cvs/stx/goodies/smaCC/SmaCC__SmaCCTerminalSymbol.st,v 1.1 2006-02-09 21:14:35 vranyj1 Exp $'
+! !