tree-sitter-nim
tree-sitter-nim copied to clipboard
tree-sitter parser for the nim programming language
Can we use nim complier as library (runtime rather than compiletime) to parse edge case statements? Like in the example below, there is a if expression. In theory, we can...
- [ ] https://github.com/aMOPel/tree-sitter-nim/blob/main/grammar.js#L584 - [ ] https://github.com/aMOPel/tree-sitter-nim/blob/main/grammar.js#L943 - [ ] https://github.com/aMOPel/tree-sitter-nim/blob/main/grammar.js#L950 - [ ] https://github.com/aMOPel/tree-sitter-nim/blob/main/grammar.js#L1128 - [ ] https://github.com/aMOPel/tree-sitter-nim/blob/main/grammar.js#L1137 - [ ] https://github.com/aMOPel/tree-sitter-nim/blob/main/grammar.js#L1181 - [ ] https://github.com/aMOPel/tree-sitter-nim/blob/main/grammar.js#L1318 - [...
## official grammar: ``` parKeyw = 'discard' | 'include' | 'if' | 'while' | 'case' | 'try' | 'finally' | 'except' | 'for' | 'block' | 'const' | 'let' |...
## official grammar: ``` postExprBlocks = ':' stmt? ( IND{=} doBlock | IND{=} 'of' exprList ':' stmt | IND{=} 'elif' expr ':' stmt | IND{=} 'except' exprList ':' stmt |...
## official grammar: ``` expr = (blockExpr | ifExpr | whenExpr | caseStmt | forExpr | tryExpr) / simpleExpr blockExpr = 'block' symbol? colcom stmt condExpr = expr colcom expr...