# Generated by the Waxeye Parser Generator - version 0.8.0
# www.waxeye.org

from waxeye import Edge, State, FA, WaxeyeParser

class Parser (WaxeyeParser):
    start = 0
    eof_check = True
    automata = [FA("alarmDsl", [State([Edge(32, 1, False)], False),
            State([Edge(23, 1, False),
                Edge(32, 2, False)], False),
            State([Edge(10, 2, False),
                Edge(32, 3, False)], False),
            State([Edge(18, 3, False)], True)], FA.LEFT),
        FA("metricName", [State([Edge("m", 1, True)], False),
            State([Edge("e", 2, True)], False),
            State([Edge("t", 3, True)], False),
            State([Edge("r", 4, True)], False),
            State([Edge("i", 5, True)], False),
            State([Edge("c", 6, True)], False),
            State([Edge("[", 7, True)], False),
            State([Edge("\"", 8, True),
                Edge("\'", 12, True)], False),
            State([Edge(5, 9, False)], False),
            State([Edge("\"", 10, True)], False),
            State([Edge("]", 11, True)], False),
            State([], True),
            State([Edge(5, 13, False)], False),
            State([Edge("\'", 10, True)], False)], FA.LEFT),
        FA("dimension", [State([Edge("d", 1, True)], False),
            State([Edge("i", 2, True)], False),
            State([Edge("m", 3, True)], False),
            State([Edge("e", 4, True)], False),
            State([Edge("n", 5, True)], False),
            State([Edge("s", 6, True)], False),
            State([Edge("i", 7, True)], False),
            State([Edge("o", 8, True)], False),
            State([Edge("n", 9, True)], False),
            State([Edge("[", 10, True)], False),
            State([Edge("\"", 11, True),
                Edge("\'", 15, True)], False),
            State([Edge(5, 12, False)], False),
            State([Edge("\"", 13, True)], False),
            State([Edge("]", 14, True)], False),
            State([], True),
            State([Edge(5, 16, False)], False),
            State([Edge("\'", 13, True)], False)], FA.LEFT),
        FA("metricModifier", [State([Edge("r", 1, False)], False),
            State([Edge("a", 2, False)], False),
            State([Edge("t", 3, False)], False),
            State([Edge("e", 4, False)], False),
            State([], True)], FA.LEFT),
        FA("metric", [State([Edge(3, 1, False),
                Edge(1, 6, False)], False),
            State([Edge("(", 2, True)], False),
            State([Edge(32, 3, False)], False),
            State([Edge(1, 4, False)], False),
            State([Edge(32, 5, False)], False),
            State([Edge(")", 6, True)], False),
            State([], True)], FA.PRUNE),
        FA("name", [State([Edge(["-", "_", (97, 122)], 1, False),
                Edge(" ", 1, False),
                Edge([(48, 57)], 1, False)], False),
            State([Edge(["-", "_", (97, 122)], 1, False),
                Edge(" ", 1, False),
                Edge([(48, 57)], 1, False)], True)], FA.LEFT),
        FA("inExp", [State([Edge(4, 1, False),
                Edge(2, 4, False)], False),
            State([Edge(32, 2, False)], False),
            State([Edge(7, 3, False)], False),
            State([], True),
            State([Edge(32, 5, False)], False),
            State([Edge(22, 6, False)], False),
            State([Edge(32, 7, False)], False),
            State([Edge(13, 3, False)], False)], FA.PRUNE),
        FA("rhs", [State([Edge(21, 1, False),
                Edge(22, 4, False)], False),
            State([Edge(32, 2, False)], False),
            State([Edge(12, 3, False)], False),
            State([], True),
            State([Edge(32, 5, False)], False),
            State([Edge(13, 3, False)], False)], FA.LEFT),
        FA("condExp", [State([Edge(32, 1, False)], False),
            State([Edge("(", 2, True),
                Edge(6, 6, False)], False),
            State([Edge(32, 3, False)], False),
            State([Edge(6, 4, False)], False),
            State([Edge(32, 5, False)], False),
            State([Edge(")", 6, True)], False),
            State([Edge(32, 7, False)], False),
            State([], True)], FA.PRUNE),
        FA("conj", [State([Edge("&", 1, False),
                Edge("|", 3, False)], False),
            State([Edge("&", 2, False)], False),
            State([], True),
            State([Edge("|", 2, False)], False)], FA.LEFT),
        FA("ifStatement", [State([Edge("i", 1, True)], False),
            State([Edge("f", 2, True)], False),
            State([Edge(32, 3, False)], False),
            State([Edge("(", 4, True)], False),
            State([Edge(32, 5, False)], False),
            State([Edge(8, 6, False)], False),
            State([Edge(9, 7, False),
                Edge(")", 9, True)], False),
            State([Edge(32, 8, False)], False),
            State([Edge(8, 6, False)], False),
            State([Edge(32, 10, False)], False),
            State([Edge(11, 11, False)], False),
            State([Edge(32, 12, False)], False),
            State([], True)], FA.LEFT),
        FA("block", [State([Edge("{", 1, True)], False),
            State([Edge(32, 2, False)], False),
            State([Edge(18, 3, False)], False),
            State([Edge(32, 4, False)], False),
            State([Edge("}", 5, True)], False),
            State([], True)], FA.LEFT),
        FA("nValue", [State([Edge(16, 1, False),
                Edge(4, 1, False)], False),
            State([], True)], FA.LEFT),
        FA("tValue", [State([Edge(14, 1, False),
                Edge(4, 1, False)], False),
            State([], True)], FA.LEFT),
        FA("string", [State([Edge("\"", 1, True),
                Edge("\'", 6, True)], False),
            State([Edge("\\", 2, True),
                Edge(34, 3, False),
                Edge("\"", 5, True)], False),
            State([Edge(15, 1, False)], False),
            State([Edge(33, 4, False)], False),
            State([Edge(-1, 1, False)], False),
            State([], True),
            State([Edge("\\", 7, True),
                Edge(36, 8, False),
                Edge("\'", 5, True)], False),
            State([Edge(15, 6, False)], False),
            State([Edge(35, 9, False)], False),
            State([Edge(-1, 6, False)], False)], FA.LEFT),
        FA("escaped", [State([Edge("u", 1, False),
                Edge(["\"", "\'", "/", "\\", "b", "f", "n", "r", "t"], 5, False)], False),
            State([Edge([(48, 57), (65, 70), (97, 102)], 2, False)], False),
            State([Edge([(48, 57), (65, 70), (97, 102)], 3, False)], False),
            State([Edge([(48, 57), (65, 70), (97, 102)], 4, False)], False),
            State([Edge([(48, 57), (65, 70), (97, 102)], 5, False)], False),
            State([], True)], FA.PRUNE),
        FA("number", [State([Edge("-", 1, False),
                Edge("0", 2, False),
                Edge([(49, 57)], 8, False)], False),
            State([Edge("0", 2, False),
                Edge([(49, 57)], 8, False)], False),
            State([Edge(".", 3, False),
                Edge(["E", "e"], 5, False)], True),
            State([Edge([(48, 57)], 4, False)], False),
            State([Edge([(48, 57)], 4, False),
                Edge(["E", "e"], 5, False)], True),
            State([Edge(["+", "-"], 6, False),
                Edge([(48, 57)], 7, False)], False),
            State([Edge([(48, 57)], 7, False)], False),
            State([Edge([(48, 57)], 7, False)], True),
            State([Edge([(48, 57)], 8, False),
                Edge(".", 3, False),
                Edge(["E", "e"], 5, False)], True)], FA.LEFT),
        FA("wholeNumber", [State([Edge([(49, 57)], 1, False)], False),
            State([Edge([(48, 57)], 1, False)], True)], FA.LEFT),
        FA("return", [State([Edge("r", 1, False)], False),
            State([Edge("e", 2, False)], False),
            State([Edge("t", 3, False)], False),
            State([Edge("u", 4, False)], False),
            State([Edge("r", 5, False)], False),
            State([Edge("n", 6, False)], False),
            State([Edge(" ", 7, False)], False),
            State([Edge(32, 8, False)], False),
            State([Edge(19, 9, False)], False),
            State([Edge(32, 10, False)], False),
            State([Edge(",", 11, True)], True),
            State([Edge(32, 12, False)], False),
            State([Edge(20, 13, False)], False),
            State([Edge(32, 14, False)], False),
            State([], True)], FA.LEFT),
        FA("alertStates", [State([Edge("C", 1, False),
                Edge("O", 9, False),
                Edge("W", 10, False)], False),
            State([Edge("R", 2, False)], False),
            State([Edge("I", 3, False)], False),
            State([Edge("T", 4, False)], False),
            State([Edge("I", 5, False)], False),
            State([Edge("C", 6, False)], False),
            State([Edge("A", 7, False)], False),
            State([Edge("L", 8, False)], False),
            State([], True),
            State([Edge("K", 8, False)], False),
            State([Edge("A", 11, False)], False),
            State([Edge("R", 12, False)], False),
            State([Edge("N", 13, False)], False),
            State([Edge("I", 14, False)], False),
            State([Edge("N", 15, False)], False),
            State([Edge("G", 8, False)], False)], FA.LEFT),
        FA("alertStateReason", [State([Edge(14, 1, False)], False),
            State([], True)], FA.LEFT),
        FA("nOp", [State([Edge(">", 1, False),
                Edge("<", 4, False),
                Edge(">", 2, False),
                Edge("<", 2, False),
                Edge("=", 5, False),
                Edge("!", 6, False)], False),
            State([Edge("=", 2, False)], False),
            State([Edge(32, 3, False)], False),
            State([], True),
            State([Edge("=", 2, False)], False),
            State([Edge("=", 2, False)], False),
            State([Edge("=", 2, False)], False)], FA.LEFT),
        FA("tOp", [State([Edge("n", 1, False),
                Edge("r", 8, False),
                Edge("=", 12, False),
                Edge("!", 13, False)], False),
            State([Edge("r", 2, False)], False),
            State([Edge("e", 3, False)], False),
            State([Edge("g", 4, False)], False),
            State([Edge("e", 5, False)], False),
            State([Edge("x", 6, False)], False),
            State([Edge(32, 7, False)], False),
            State([], True),
            State([Edge("e", 9, False)], False),
            State([Edge("g", 10, False)], False),
            State([Edge("e", 11, False)], False),
            State([Edge("x", 6, False)], False),
            State([Edge("=", 6, False)], False),
            State([Edge("=", 6, False)], False)], FA.LEFT),
        FA("setStatement", [State([Edge(":", 1, True)], False),
            State([Edge("s", 2, True)], False),
            State([Edge("e", 3, True)], False),
            State([Edge("t", 4, True)], False),
            State([Edge(32, 5, False)], False),
            State([Edge(24, 6, False)], False),
            State([Edge(32, 7, False)], False),
            State([], True)], FA.LEFT),
        FA("inSetStatement", [State([Edge(26, 1, False),
                Edge(27, 1, False)], False),
            State([], True)], FA.PRUNE),
        FA("consistencyLevel", [State([Edge("O", 1, False),
                Edge("Q", 4, False),
                Edge("A", 9, False)], False),
            State([Edge("N", 2, False)], False),
            State([Edge("E", 3, False)], False),
            State([], True),
            State([Edge("U", 5, False)], False),
            State([Edge("O", 6, False)], False),
            State([Edge("R", 7, False)], False),
            State([Edge("U", 8, False)], False),
            State([Edge("M", 3, False)], False),
            State([Edge("L", 10, False)], False),
            State([Edge("L", 3, False)], False)], FA.LEFT),
        FA("setConsistencyLevel", [State([Edge("c", 1, True)], False),
            State([Edge("o", 2, True)], False),
            State([Edge("n", 3, True)], False),
            State([Edge("s", 4, True)], False),
            State([Edge("i", 5, True)], False),
            State([Edge("s", 6, True)], False),
            State([Edge("t", 7, True)], False),
            State([Edge("e", 8, True)], False),
            State([Edge("n", 9, True)], False),
            State([Edge("c", 10, True)], False),
            State([Edge("y", 11, True)], False),
            State([Edge("L", 12, True)], False),
            State([Edge("e", 13, True)], False),
            State([Edge("v", 14, True)], False),
            State([Edge("e", 15, True)], False),
            State([Edge("l", 16, True)], False),
            State([Edge(32, 17, False)], False),
            State([Edge("=", 18, True)], False),
            State([Edge(32, 19, False)], False),
            State([Edge(25, 20, False)], False),
            State([], True)], FA.LEFT),
        FA("setConsecutiveCount", [State([Edge("c", 1, True)], False),
            State([Edge("o", 2, True)], False),
            State([Edge("n", 3, True)], False),
            State([Edge("s", 4, True)], False),
            State([Edge("e", 5, True)], False),
            State([Edge("c", 6, True)], False),
            State([Edge("u", 7, True)], False),
            State([Edge("t", 8, True)], False),
            State([Edge("i", 9, True)], False),
            State([Edge("v", 10, True)], False),
            State([Edge("e", 11, True)], False),
            State([Edge("C", 12, True)], False),
            State([Edge("o", 13, True)], False),
            State([Edge("u", 14, True)], False),
            State([Edge("n", 15, True)], False),
            State([Edge("t", 16, True)], False),
            State([Edge(32, 17, False)], False),
            State([Edge("=", 18, True)], False),
            State([Edge(32, 19, False)], False),
            State([Edge(17, 20, False)], False),
            State([], True)], FA.LEFT),
        FA("sComment", [State([Edge("#", 1, False)], False),
            State([Edge(38, 2, False),
                Edge(30, 3, False),
                Edge(37, 3, False)], False),
            State([Edge(-1, 1, False)], False),
            State([], True)], FA.VOID),
        FA("mComment", [State([Edge("/", 1, False)], False),
            State([Edge("*", 2, False)], False),
            State([Edge(29, 2, False),
                Edge(39, 3, False),
                Edge("*", 4, False)], False),
            State([Edge(-1, 2, False)], False),
            State([Edge("/", 5, False)], False),
            State([], True)], FA.VOID),
        FA("endOfLine", [State([Edge("\r", 1, False),
                Edge("\n", 2, False),
                Edge("\r", 2, False)], False),
            State([Edge("\n", 2, False)], False),
            State([], True)], FA.VOID),
        FA("wsp", [State([Edge(["\t", " "], 0, False)], True)], FA.VOID),
        FA("ws", [State([Edge(30, 0, False),
                Edge(28, 0, False),
                Edge(29, 0, False),
                Edge(["\t", " "], 0, False)], True)], FA.VOID),
        FA("", [State([Edge("\"", 1, False)], False),
            State([], True)], FA.NEG),
        FA("", [State([Edge("\\", 1, False)], False),
            State([], True)], FA.NEG),
        FA("", [State([Edge("\'", 1, False)], False),
            State([], True)], FA.NEG),
        FA("", [State([Edge("\\", 1, False)], False),
            State([], True)], FA.NEG),
        FA("", [State([Edge(-1, 1, False)], False),
            State([], True)], FA.NEG),
        FA("", [State([Edge(30, 1, False)], False),
            State([], True)], FA.NEG),
        FA("", [State([Edge("*", 1, False)], False),
            State([Edge("/", 2, False)], False),
            State([], True)], FA.NEG)]

    def __init__(self):
        WaxeyeParser.__init__(self, Parser.start, Parser.eof_check, Parser.automata)

