[
  "Lexer",
  [
    "LexerToken",
    [
      [
        "WithSymbol",
        "Abstract",
        false,
        false
      ],
      [
        "WithSymbol",
        "All",
        false,
        false
      ],
      [
        "WithSymbol",
        "Amp",
        false,
        false
      ],
      [
        "WithSymbol",
        "Arrow",
        false,
        false
      ],
      [
        "WithSymbol",
        "Assign",
        false,
        false
      ],
      [
        "WithSymbol",
        "At",
        false,
        false
      ],
      [
        "WithSymbol",
        "Case",
        false,
        false
      ],
      [
        "WithSymbol",
        "Char",
        false,
        false
      ],
      [
        "WithSymbol",
        "Colon",
        false,
        false
      ],
      [
        "WithSymbol",
        "Comma",
        false,
        false
      ],
      [
        "WithSymbol",
        "Dot",
        false,
        false
      ],
      [
        "WithSymbol",
        "End",
        false,
        false
      ],
      [
        "WithSymbol",
        "Extends",
        false,
        false
      ],
      [
        "WithSymbol",
        "For",
        false,
        false
      ],
      [
        "WithSymbol",
        "Identifier",
        false,
        false
      ],
      [
        "WithSymbol",
        "Is",
        false,
        false
      ],
      [
        "WithSymbol",
        "Limited",
        false,
        false
      ],
      [
        "WithSymbol",
        "Null",
        false,
        false
      ],
      [
        "WithSymbol",
        "Others",
        false,
        false
      ],
      [
        "WithSymbol",
        "Package",
        false,
        false
      ],
      [
        "WithSymbol",
        "ParClose",
        false,
        false
      ],
      [
        "WithSymbol",
        "ParOpen",
        false,
        false
      ],
      [
        "WithSymbol",
        "Pipe",
        false,
        false
      ],
      [
        "WithSymbol",
        "Pragma",
        false,
        false
      ],
      [
        "WithSymbol",
        "Private",
        false,
        false
      ],
      [
        "WithSymbol",
        "Renames",
        false,
        false
      ],
      [
        "WithSymbol",
        "Semicolon",
        false,
        false
      ],
      [
        "WithSymbol",
        "Tick",
        false,
        false
      ],
      [
        "WithSymbol",
        "Type",
        false,
        false
      ],
      [
        "WithSymbol",
        "Use",
        false,
        false
      ],
      [
        "WithSymbol",
        "When",
        false,
        false
      ],
      [
        "WithSymbol",
        "With",
        false,
        false
      ],
      [
        "WithText",
        "Label",
        false,
        false
      ],
      [
        "WithText",
        "Number",
        false,
        false
      ],
      [
        "WithText",
        "String",
        false,
        false
      ],
      [
        "WithText",
        "Termination",
        false,
        false
      ],
      [
        "WithTrivia",
        "Comment",
        false,
        false
      ],
      [
        "WithTrivia",
        "LexingFailure",
        false,
        false
      ],
      [
        "WithTrivia",
        "Whitespace",
        false,
        false
      ]
    ],
    [
      [
        "TokenFamily",
        "Alphanumericals",
        [
          [
            "WithSymbol",
            "Abstract",
            false,
            false
          ],
          [
            "WithSymbol",
            "All",
            false,
            false
          ],
          [
            "WithSymbol",
            "At",
            false,
            false
          ],
          [
            "WithSymbol",
            "Case",
            false,
            false
          ],
          [
            "WithSymbol",
            "Char",
            false,
            false
          ],
          [
            "WithSymbol",
            "End",
            false,
            false
          ],
          [
            "WithSymbol",
            "Extends",
            false,
            false
          ],
          [
            "WithSymbol",
            "For",
            false,
            false
          ],
          [
            "WithSymbol",
            "Identifier",
            false,
            false
          ],
          [
            "WithSymbol",
            "Is",
            false,
            false
          ],
          [
            "WithSymbol",
            "Limited",
            false,
            false
          ],
          [
            "WithSymbol",
            "Null",
            false,
            false
          ],
          [
            "WithSymbol",
            "Others",
            false,
            false
          ],
          [
            "WithSymbol",
            "Package",
            false,
            false
          ],
          [
            "WithSymbol",
            "Pragma",
            false,
            false
          ],
          [
            "WithSymbol",
            "Renames",
            false,
            false
          ],
          [
            "WithSymbol",
            "Type",
            false,
            false
          ],
          [
            "WithSymbol",
            "Use",
            false,
            false
          ],
          [
            "WithSymbol",
            "When",
            false,
            false
          ],
          [
            "WithSymbol",
            "With",
            false,
            false
          ],
          [
            "WithText",
            "Label",
            false,
            false
          ],
          [
            "WithText",
            "Number",
            false,
            false
          ],
          [
            "WithText",
            "String",
            false,
            false
          ]
        ]
      ],
      [
        "TokenFamily",
        "DefaultFamily",
        [
          [
            "WithSymbol",
            "Amp",
            false,
            false
          ],
          [
            "WithSymbol",
            "Arrow",
            false,
            false
          ],
          [
            "WithSymbol",
            "Assign",
            false,
            false
          ],
          [
            "WithSymbol",
            "Colon",
            false,
            false
          ],
          [
            "WithSymbol",
            "Comma",
            false,
            false
          ],
          [
            "WithSymbol",
            "Dot",
            false,
            false
          ],
          [
            "WithSymbol",
            "ParClose",
            false,
            false
          ],
          [
            "WithSymbol",
            "ParOpen",
            false,
            false
          ],
          [
            "WithSymbol",
            "Pipe",
            false,
            false
          ],
          [
            "WithSymbol",
            "Private",
            false,
            false
          ],
          [
            "WithSymbol",
            "Semicolon",
            false,
            false
          ],
          [
            "WithSymbol",
            "Tick",
            false,
            false
          ],
          [
            "WithText",
            "Termination",
            false,
            false
          ],
          [
            "WithTrivia",
            "Comment",
            false,
            false
          ],
          [
            "WithTrivia",
            "LexingFailure",
            false,
            false
          ],
          [
            "WithTrivia",
            "Whitespace",
            false,
            false
          ]
        ]
      ]
    ],
    [
      [
        "Abstract",
        "Alphanumericals"
      ],
      [
        "All",
        "Alphanumericals"
      ],
      [
        "Amp",
        "DefaultFamily"
      ],
      [
        "Arrow",
        "DefaultFamily"
      ],
      [
        "Assign",
        "DefaultFamily"
      ],
      [
        "At",
        "Alphanumericals"
      ],
      [
        "Case",
        "Alphanumericals"
      ],
      [
        "Char",
        "Alphanumericals"
      ],
      [
        "Colon",
        "DefaultFamily"
      ],
      [
        "Comma",
        "DefaultFamily"
      ],
      [
        "Comment",
        "DefaultFamily"
      ],
      [
        "Dot",
        "DefaultFamily"
      ],
      [
        "End",
        "Alphanumericals"
      ],
      [
        "Extends",
        "Alphanumericals"
      ],
      [
        "For",
        "Alphanumericals"
      ],
      [
        "Identifier",
        "Alphanumericals"
      ],
      [
        "Is",
        "Alphanumericals"
      ],
      [
        "Label",
        "Alphanumericals"
      ],
      [
        "LexingFailure",
        "DefaultFamily"
      ],
      [
        "Limited",
        "Alphanumericals"
      ],
      [
        "Null",
        "Alphanumericals"
      ],
      [
        "Number",
        "Alphanumericals"
      ],
      [
        "Others",
        "Alphanumericals"
      ],
      [
        "Package",
        "Alphanumericals"
      ],
      [
        "ParClose",
        "DefaultFamily"
      ],
      [
        "ParOpen",
        "DefaultFamily"
      ],
      [
        "Pipe",
        "DefaultFamily"
      ],
      [
        "Pragma",
        "Alphanumericals"
      ],
      [
        "Private",
        "DefaultFamily"
      ],
      [
        "Renames",
        "Alphanumericals"
      ],
      [
        "Semicolon",
        "DefaultFamily"
      ],
      [
        "String",
        "Alphanumericals"
      ],
      [
        "Termination",
        "DefaultFamily"
      ],
      [
        "Tick",
        "DefaultFamily"
      ],
      [
        "Type",
        "Alphanumericals"
      ],
      [
        "Use",
        "Alphanumericals"
      ],
      [
        "When",
        "Alphanumericals"
      ],
      [
        "Whitespace",
        "DefaultFamily"
      ],
      [
        "With",
        "Alphanumericals"
      ]
    ]
  ],
  [
    [
      "digit",
      "[0-9]"
    ],
    [
      "integer",
      "({digit}(_?{digit})*)"
    ],
    [
      "p_string",
      "\\\"(\\\"\\\"|[^\\n\\\"])*\\\""
    ]
  ],
  [
    [
      "RuleAssoc",
      [
        "Pattern",
        "[ \\t\\r\\n]+"
      ],
      [
        "WithTrivia",
        "Whitespace",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Pattern",
        "--(.?)+"
      ],
      [
        "WithTrivia",
        "Comment",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "all"
      ],
      [
        "WithSymbol",
        "All",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "abstract"
      ],
      [
        "WithSymbol",
        "Abstract",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "at"
      ],
      [
        "WithSymbol",
        "At",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "case"
      ],
      [
        "WithSymbol",
        "Case",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "end"
      ],
      [
        "WithSymbol",
        "End",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "for"
      ],
      [
        "WithSymbol",
        "For",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "is"
      ],
      [
        "WithSymbol",
        "Is",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "limited"
      ],
      [
        "WithSymbol",
        "Limited",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "private"
      ],
      [
        "WithSymbol",
        "Private",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "null"
      ],
      [
        "WithSymbol",
        "Null",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "others"
      ],
      [
        "WithSymbol",
        "Others",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "package"
      ],
      [
        "WithSymbol",
        "Package",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "renames"
      ],
      [
        "WithSymbol",
        "Renames",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "type"
      ],
      [
        "WithSymbol",
        "Type",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "use"
      ],
      [
        "WithSymbol",
        "Use",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "pragma"
      ],
      [
        "WithSymbol",
        "Pragma",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "when"
      ],
      [
        "WithSymbol",
        "When",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "with"
      ],
      [
        "WithSymbol",
        "With",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "NoCaseLiteral",
        "extends"
      ],
      [
        "WithSymbol",
        "Extends",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        "("
      ],
      [
        "WithSymbol",
        "ParOpen",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        ")"
      ],
      [
        "WithSymbol",
        "ParClose",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        ";"
      ],
      [
        "WithSymbol",
        "Semicolon",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        ":"
      ],
      [
        "WithSymbol",
        "Colon",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        ","
      ],
      [
        "WithSymbol",
        "Comma",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        "."
      ],
      [
        "WithSymbol",
        "Dot",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        "&"
      ],
      [
        "WithSymbol",
        "Amp",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        "'"
      ],
      [
        "WithSymbol",
        "Tick",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        "|"
      ],
      [
        "WithSymbol",
        "Pipe",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        ":="
      ],
      [
        "WithSymbol",
        "Assign",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Literal",
        "=>"
      ],
      [
        "WithSymbol",
        "Arrow",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Pattern",
        "{integer}"
      ],
      [
        "WithText",
        "Number",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Pattern",
        "[_a-zA-Z][_a-zA-Z0-9]*"
      ],
      [
        "WithSymbol",
        "Identifier",
        false,
        false
      ]
    ],
    [
      "RuleAssoc",
      [
        "Pattern",
        "{p_string}"
      ],
      [
        "WithText",
        "String",
        false,
        false
      ]
    ]
  ],
  false,
  [
    [
      "Alphanumericals",
      [
        "Alphanumericals"
      ]
    ]
  ],
  [
    "Comment"
  ]
]