Parser/lexerTypes

Search:
Group by:
Source   Edit  

Types

Lexer = ref object
  tokenNodes*: seq[TokenNode]
  fileName*: string
  tripleStr*: tuple[within: bool, val: string, quote: char, tokenKind: Token,
                    escape: LexerEscaper, start: tuple[lineNo, colNo: int]] ## is handling triple string (multiline string)
For CPython 3.13, this is roughly equal to tok_state* Source   Edit  
LexerEscaper = proc (s: string): string {....raises: [SyntaxError].}
Source   Edit  
Mode {.pure.} = enum
  Single = "single", File = "exec", Eval = "eval"
Source   Edit  

Procs

proc cont(lexer: Lexer): bool {.inline, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc indentStack(lexer: Lexer): var seq[int] {.inline, ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc lineNo(lexer: Lexer): var int {.inline, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc parseModeEnum(s: string; res: var Mode): bool {....raises: [], tags: [],
    forbids: [].}
Source   Edit