@lcap/nasl-parser
Version:
Take Nasl text to Nasl AST with the help of generalized parsing.
44 lines (34 loc) • 944 B
text/typescript
import { Parser, Grammar } from "nearley";
import grammar from "../../ts/nasl";
const testArray1 =`
logic fn1() { }
logic testArray1() {
let xxx = [1, 2, fn1(), { e => e }];
let yyy = [true];
let zzz = [];
let aaa = [] : List<Integer>;
let bbb = [1, 2, 3] : List<Integer>;
let ccc = [];
}
`
const testArray2 =`
logic fn2() { }
logic testArray2() {
let x = 1;
let arr2 = [1, 2];
let arr3 = arr2[1][2][3];
let y = fn2(id=x, id=arr1[10], studentInfo=arr2[20][2]);
}
`
describe('Array syntax...', () => {
test('Array syntax 1', async () => {
const parser = new Parser(Grammar.fromCompiled(grammar));
parser.feed(testArray1);
expect(parser.results.length).toBe(1);
});
test('Array syntax 2', async () => {
const parser = new Parser(Grammar.fromCompiled(grammar));
parser.feed(testArray2);
expect(parser.results.length).toBe(1);
});
});