X-Git-Url: http://git.megacz.com/?p=wix.git;a=blobdiff_plain;f=src%2FHaskellHelper.java;h=daa4fe6e4d4d341c861f360f1d6d2ceeb836ddd3;hp=3ca1cae3a53365fead50a07e31ef465810c93662;hb=c8eb19eb8ebd2556050ab08a6476c8413af64435;hpb=3c96b1336f651fa3689e975f4793b55c43591d21 diff --git a/src/HaskellHelper.java b/src/HaskellHelper.java index 3ca1cae..daa4fe6 100644 --- a/src/HaskellHelper.java +++ b/src/HaskellHelper.java @@ -16,11 +16,13 @@ public class HaskellHelper { if (parser == null) { try { // FIXME: bundle this into the jarfile - File grammarFile = new File("src/wix.g"); - Tree res = new CharParser(MetaGrammar.newInstance()) - .parse(new FileInputStream(grammarFile)).expand1(); - Union grammar = GrammarAST.buildFromAST(res, "s", new File[] { - new File(grammarFile.getParent()) + InputStream grammarFile = HaskellHelper.class.getClassLoader().getResourceAsStream("wix.g"); + Tree res = new CharParser(GrammarAST.getMetaGrammar()) + .parse(grammarFile).expand1(); + Union grammar = GrammarAST.buildFromAST(res, "s", new GrammarAST.ImportResolver() { + public InputStream getImportStream(String filename) { + return this.getClass().getClassLoader().getResourceAsStream(filename); + } }); parser = new CharParser(grammar); } catch (Exception e) {