programtoken.py
"""
Provides generic programming language token classes for the GiPSy scanner.
Library Version 1.1
Copyright 2013 Paul Griffiths
Email: mail@paulgriffiths.net
Distributed under the terms of the GNU General Public License.
http://www.gnu.org/licenses/
"""
from gipsy.token import Token
class DelimiterToken(Token):
"""
Generic delimiter token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
Token.__init__(self, value)
self._token_type_string = "Delimiter"
class SeparatorToken(Token):
"""
Generic separator token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
Token.__init__(self, value)
self._token_type_string = "Separator"
class OperatorToken(Token):
"""
Generic operator token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
Token.__init__(self, value)
self._token_type_string = "Operator"
class NumberToken(Token):
"""
Generic number token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
Token.__init__(self, value)
self._token_type_string = "Number"
class IntegerToken(NumberToken):
"""
Generic integer number token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
NumberToken.__init__(self, value)
self._token_type_string = "Integer"
class FloatToken(NumberToken):
"""
Generic floating-point number token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
NumberToken.__init__(self, value)
self._token_type_string = "Float"
class StringToken(Token):
"""
Generic string token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
Token.__init__(self, value)
self._token_type_string = "String"
class CommentToken(Token):
"""
Generic comment token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
Token.__init__(self, value)
self._token_type_string = "Comment"
class IdentifierToken(Token):
"""
Generic identifier token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
Token.__init__(self, value)
self._token_type_string = "Identifier"
class KeywordToken(IdentifierToken):
"""
Generic keyword token class.
"""
def __init__(self, value):
"""
Class initializer.
Arguments:
value -- the string to be tokenized.
"""
IdentifierToken.__init__(self, value)
self._token_type_string = "Keyword"