UNPKG

@lcap/nasl-parser

Version:

Take Nasl text to Nasl AST with the help of generalized parsing.

23 lines (18 loc) 628 B
import { Parser, Grammar } from "nearley"; import grammar from "../../ts/nasl"; // [ ] 语法歧义,需语义阶段重解析 const testMapLit =` declare logic f(x: Integer) => Integer; logic testMapLit() { let a = ["a" -> 1, "b" -> f(x)]; let b : Map<K, V> = []; // 语法歧义,需语义阶段重解析 let c : List<K> = []; // 语法歧义,需语义阶段重解析 } ` describe('Array syntax...', () => { test('Array syntax 1', async () => { const parser = new Parser(Grammar.fromCompiled(grammar)); parser.feed(testMapLit); expect(parser.results.length).toBe(1); }); });