// JQHTML Parser - Main entry point import { Lexer } from './lexer.js'; import { Parser } from './parser.js'; export { Lexer, TokenType } from './lexer.js'; export { Parser } from './parser.js'; export { CodeGenerator, generate } from './codegen.js'; export { compileTemplate } from './compiler.js'; export { NodeType } from './ast.js'; export { JQHTMLParseError, ErrorCollector } from './errors.js'; // Convenience function for parsing with error context export function parse(source, filename) { try { const lexer = new Lexer(source); const tokens = lexer.tokenize(); const parser = new Parser(tokens, source, filename); return parser.parse(); } catch (error) { // If it's already a JQHTMLParseError, just re-throw it if (error.name === 'JQHTMLParseError') { throw error; } // Otherwise wrap it with context const message = error.message || String(error); const enhancedMessage = filename ? `Error parsing ${filename}: ${message}` : `Error parsing JQHTML: ${message}`; throw new Error(enhancedMessage); } } //# sourceMappingURL=index.js.map