@xmirror/java-syntax-locator
Version:
java syntax locator based on Antlr
19 lines (18 loc) • 655 B
JavaScript
import antlr4 from 'antlr4';
import JavaLexer from './parser/JavaLexer.mjs';
import JavaParser from './parser/JavaParser.mjs';
import { LocationVisitor } from './visitor/LocationVisitor.mjs';
/**
* @param {string} input
* @returns json object representing the location information generated from input
*/
export function getLocation(input) {
const chars = new antlr4.InputStream(input);
const lexer = new JavaLexer(chars);
const tokens = new antlr4.CommonTokenStream(lexer);
const parser = new JavaParser(tokens);
const cu = parser.compilationUnit();
const visitor = new LocationVisitor();
cu.accept(visitor);
return visitor.javaFileToJson;
}