UNPKG

@xmirror/java-syntax-locator

Version:

java syntax locator based on Antlr

19 lines (18 loc) 655 B
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; }