# Path: src/som/compiler/symbol.py
# class Symbol(object):
#     NONE             = -1
#     Integer          =  0
#     Double           =  1
#     Not              =  2
#     And              =  3
#     Or               =  4
#     Star             =  5
#     Div              =  6
#     Mod              =  7
#     Plus             =  8
#     Minus            =  9
#     Equal            = 10
#     More             = 11
#     Less             = 12
#     Comma            = 13
#     At               = 14
#     Per              = 15
#     NewBlock         = 16
#     EndBlock         = 17
#     Colon            = 18
#     Period           = 19
#     Exit             = 20
#     Assign           = 21
#     NewTerm          = 22
#     EndTerm          = 23
#     Pound            = 24
#     Primitive        = 25
#     Separator        = 26
#     STString         = 27
#     Identifier       = 28
#     Keyword          = 29
#     KeywordSequence  = 30
#     OperatorSequence = 31


from rtruffle.source_section import SourceCoordinate
from .symbol import Symbol


class Lexer(object):

    _SEPARATOR = "----"
    _PRIMITIVE = "primitive"

    def __init__(self, input_file):
        self._line_number = 0
        self._chars_read  = 0 # all characters read, excluding the current line
        self._infile      = input_file

# Path: src/som/compiler/symbol.py
# class Symbol(object):
#     NONE             = -1
#     Integer          =  0
#     Double           =  1
#     Not              =  2
#     And              =  3
#     Or               =  4
#     Star             =  5
#     Div              =  6
#     Mod              =  7
#     Plus             =  8
#     Minus            =  9
#     Equal            = 10
#     More             = 11
#     Less             = 12
#     Comma            = 13
#     At               = 14
#     Per              = 15
#     NewBlock         = 16
#     EndBlock         = 17
#     Colon            = 18
#     Period           = 19
#     Exit             = 20
#     Assign           = 21
#     NewTerm          = 22
#     EndTerm          = 23
#     Pound            = 24
#     Primitive        = 25
#     Separator        = 26
#     STString         = 27
#     Identifier       = 28
#     Keyword          = 29
#     KeywordSequence  = 30
#     OperatorSequence = 31


# Path: src/som/compiler/lexer.py
from rtruffle.source_section import SourceCoordinate
from .symbol import Symbol



class Lexer(object):

    _SEPARATOR = "----"
    _PRIMITIVE = "primitive"

    def __init__(self, input_file):
        self._line_number = 0
        self._chars_read  = 0 # all characters read, excluding the current line
        self._infile      = input_file

        self._sym         = Symbol.NONE