Parser/lexer

Source   Edit  

Types

GetSourceRes = enum
  GSR_Success, GSR_NoSuchFile, GSR_LineNoNotSet, GSR_LineNoOutOfRange
Source   Edit  

Procs

proc `$`(lexer: Lexer): string {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc addSource(filePath, content: string) {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc clearIndent(lexer: Lexer) {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc clearTokens(lexer: Lexer) {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc dedentAll(lexer: Lexer) {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc getSource(filePath: string; lineNo: int; res: var string): GetSourceRes {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc lexString(lexer: Lexer; input: string; mode = Mode.File) {.
    ...raises: [SyntaxError:ObjectType], tags: [RootEffect], forbids: [].}
Source   Edit  
proc newLexer(fileName: string): Lexer {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc newLexer(fileName: string; lineNo: int): Lexer {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc newTokenNode(token: Token; lineNo = -1; colNo = -1; content = ""): TokenNode {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit