import { ANTLRInputStream, CommonTokenStream } from 'antlr4ts'; import { RelativeDateFormatLexer } from './lib/lexer-parser/RelativeDateFormatLexer' import { RelativeDateFormatParser } from './lib/lexer-parser/RelativeDateFormatParser' import { RDFFunctionFactory } from './resolvers/RDFFunctionFactory'; // Create the lexer and parser export default function RDF(rdfString:string, now?:number):[number,number]{ const functionFactory = new RDFFunctionFactory(now) let inputStream = new ANTLRInputStream(rdfString); let lexer = new RelativeDateFormatLexer(inputStream); let tokenStream = new CommonTokenStream(lexer); let parser = new RelativeDateFormatParser(tokenStream); let directive = parser.directive() return functionFactory.visit(directive).solve() }