@lcap/nasl-parser
Version:
Take Nasl text to Nasl AST with the help of generalized parsing.
23 lines (18 loc) • 628 B
text/typescript
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);
});
});