# modc-mh/1
# Generated by Mod-c 0.26.5
@module Lexer
@format 1
export enum TokenKind complete
export const TOK_EOF complete
export const TOK_IDENT complete
export const TOK_NUMBER complete
export const TOK_REAL complete
export const TOK_CHAR complete
export const TOK_STRING complete
export const TOK_PREPROCESSOR complete
export const TOK_COMMENT complete
export const TOK_COMMENT_SINGLE complete
export const TOK_COMMENT_MULTI complete
export const TOK_COMMENT_PASCAL complete
export const TOK_DOC_COMMENT complete
export const TOK_SEMICOLON complete
export const TOK_COLON complete
export const TOK_COLON_COLON complete
export const TOK_COLON_EQ complete
export const TOK_COMMA complete
export const TOK_LPAREN complete
export const TOK_RPAREN complete
export const TOK_LBRACKET complete
export const TOK_RBRACKET complete
export const TOK_LBRACE complete
export const TOK_RBRACE complete
export const TOK_NEWLINE complete
export const TOK_QUESTION complete
export const TOK_ADD complete
export const TOK_SUB complete
export const TOK_MUL complete
export const TOK_DIV complete
export const TOK_MOD complete
export const TOK_EQ complete
export const TOK_EQ_EQ complete
export const TOK_LESS_EQ complete
export const TOK_LESS complete
export const TOK_GREATER_EQ complete
export const TOK_GREATER complete
export const TOK_NOT_EQ complete
export const TOK_DOT complete
export const TOK_DOT_DOT complete
export const TOK_DOT_DOT_DOT complete
export const TOK_NOT complete
export const TOK_POWER complete
export const TOK_CARET complete
export const TOK_AT complete
export const TOK_MUL_EQ complete
export const TOK_DIV_EQ complete
export const TOK_MOD_EQ complete
export const TOK_ADD_EQ complete
export const TOK_SUB_EQ complete
export const TOK_LSHIFT_EQ complete
export const TOK_RSHIFT_EQ complete
export const TOK_AND_EQ complete
export const TOK_OR_EQ complete
export const TOK_BITWISE_NOT_EQ complete
export const TOK_KEYWORD_BEGIN complete
export const TOK_KEYWORD_END complete
export const TOK_KEYWORD_IF complete
export const TOK_KEYWORD_THEN complete
export const TOK_KEYWORD_ELSE complete
export const TOK_KEYWORD_ELSIF complete
export const TOK_KEYWORD_FOR complete
export const TOK_KEYWORD_TO complete
export const TOK_KEYWORD_BY complete
export const TOK_KEYWORD_DO complete
export const TOK_KEYWORD_DOWNTO complete
export const TOK_KEYWORD_PROGRAM complete
export const TOK_KEYWORD_MODULE complete
export const TOK_KEYWORD_HEADER complete
export const TOK_KEYWORD_IMPORT complete
export const TOK_KEYWORD_FROM complete
export const TOK_KEYWORD_PROCEDURE complete
export const TOK_KEYWORD_FUNCTION complete
export const TOK_KEYWORD_FORWARD complete
export const TOK_KEYWORD_EXPORT complete
export const TOK_KEYWORD_VAR complete
export const TOK_KEYWORD_LET complete
export const TOK_KEYWORD_LEN complete
export const TOK_KEYWORD_CONST complete
export const TOK_KEYWORD_WHILE complete
export const TOK_KEYWORD_LOOP complete
export const TOK_KEYWORD_REPEAT complete
export const TOK_KEYWORD_UNTIL complete
export const TOK_KEYWORD_INC complete
export const TOK_KEYWORD_DEC complete
export const TOK_KEYWORD_TYPE complete
export const TOK_KEYWORD_AS complete
export const TOK_KEYWORD_CAST complete
export const TOK_KEYWORD_DIV complete
export const TOK_KEYWORD_MOD complete
export const TOK_KEYWORD_AND complete
export const TOK_KEYWORD_OR complete
export const TOK_KEYWORD_NOT complete
export const TOK_KEYWORD_XOR complete
export const TOK_KEYWORD_REQUIRE complete
export const TOK_KEYWORD_ENSURE complete
export const TOK_KEYWORD_INVARIANT complete
export const TOK_KEYWORD_SWITCH complete
export const TOK_KEYWORD_CASE complete
export const TOK_KEYWORD_DEFAULT complete
export const TOK_KEYWORD_BREAK complete
export const TOK_KEYWORD_CONTINUE complete
export const TOK_KEYWORD_RETURN complete
export const TOK_KEYWORD_DEFER complete
export const TOK_KEYWORD_DEBUG complete
export const TOK_KEYWORD_RECURSIVE complete
export const TOK_KEYWORD_STRUCT complete
export const TOK_KEYWORD_EXTENDS complete
export const TOK_KEYWORD_UNION complete
export const TOK_KEYWORD_ARRAY complete
export const TOK_KEYWORD_POINTER complete
export const TOK_KEYWORD_OPAQUE complete
export const TOK_KEYWORD_REF complete
export const TOK_KEYWORD_IN complete
export const TOK_KEYWORD_IS complete
export const TOK_KEYWORD_OF complete
export const TOK_KEYWORD_ENUM complete
export const TOK_KEYWORD_ASSERT complete
export const TOK_KEYWORD_SIZEOF complete
export const TOK_KEYWORD_EXTERN complete
export const TOK_KEYWORD_PACKED complete
export const TOK_KEYWORD_STATIC complete
export const TOK_BITWISE_AND complete
export const TOK_BITWISE_OR complete
export const TOK_BITWISE_NOT complete
export const TOK_BITWISE_LSHIFT complete
export const TOK_BITWISE_RSHIFT complete
export const TOK_ERROR complete
export type TToken complete struct (kind: TokenKind, start: const ^char, length: size_t, line: int, column: int, error_msg: const ^char)
export type pToken complete
export type TLexer complete struct (start: const ^char, current: const ^char, line: int, column: int)
export type pLexer complete
export procedure TLexer__init incomplete instance TLexer (ref TLexer, const ^char)
export function TLexer__next incomplete instance TLexer (ref TLexer) : TToken
export function TokenKind__string incomplete instance TokenKind (TokenKind) : const ^char
export procedure TToken__print incomplete instance TToken (ref TToken)
export procedure TLexer__init complete instance TLexer (ref TLexer, const ^char)
export function TLexer__next complete instance TLexer (ref TLexer) : TToken
export function TokenKind__string complete instance TokenKind (const TokenKind) : const ^char
export procedure TToken__print complete instance TToken (ref const TToken)
export procedure Lexer complete (ref TLexer, const ^char)
