Search in sources :

Example 1 with BOMStripperInputStream

use of net.jangaroo.utils.BOMStripperInputStream in project jangaroo-tools by CoreMedia.

the class JangarooParser method doParse.

public static CompilationUnit doParse(InputSource in, CompileLog log, SemicolonInsertionMode semicolonInsertionMode) {
    Scanner s;
    try {
        s = new Scanner(new InputStreamReader(new BOMStripperInputStream(in.getInputStream()), "UTF-8"));
    } catch (IOException e) {
        throw new CompilerError("Cannot read input file: " + in.getPath(), e);
    }
    s.setInputSource(in);
    JooParser p = new JooParser(s);
    p.setCompileLog(log);
    p.setSemicolonInsertionMode(semicolonInsertionMode);
    try {
        Symbol tree = p.parse();
        return (CompilationUnit) tree.value;
    } catch (Scanner.ScanError se) {
        log.error(se.getSym(), se.getMessage());
        return null;
    } catch (JooParser.FatalSyntaxError e) {
        // message already logged in parser
        return null;
    } catch (Exception e) {
        throw new IllegalArgumentException("could not parse Jangaroo source", e);
    }
}
Also used : CompilationUnit(net.jangaroo.jooc.ast.CompilationUnit) InputStreamReader(java.io.InputStreamReader) Symbol(java_cup.runtime.Symbol) BOMStripperInputStream(net.jangaroo.utils.BOMStripperInputStream) IOException(java.io.IOException) IOException(java.io.IOException)

Aggregations

IOException (java.io.IOException)1 InputStreamReader (java.io.InputStreamReader)1 Symbol (java_cup.runtime.Symbol)1 CompilationUnit (net.jangaroo.jooc.ast.CompilationUnit)1 BOMStripperInputStream (net.jangaroo.utils.BOMStripperInputStream)1