solidity-antlr4
Version:
Solidity Lang Lexer and Parser by official ANTLR4 grammar
30 lines (25 loc) • 749 B
JavaScript
;
var _vitest = require("vitest");
var _parser = require("../parser/index.cjs");
var _generator = require("../generator/index.cjs");
(0, _vitest.test)("generator", async () => {
const code = `
pragma solidity solidity soliditysoliditysoliditysoliditysoliditysoliditysoliditysoliditysoliditysolidity ^0.8.20;
contract Hi {
struct MyStruct {
string name;
uint[2] nums;
}
}
// asdf
`;
const ast = (0, _parser.parse)(code, {
tolerant: true
});
const tokens = (0, _parser.tokenizer)(code, {
tolerant: true
});
const target = ast.nodes[1].nodes[0];
target.comments = tokens.filter(token => token.type?.includes("COMMENT"));
console.log(await (0, _generator.generate)(target));
});