diff --git a/src/main/java/de/bottlecaps/markup/blitz/Parser.java b/src/main/java/de/bottlecaps/markup/blitz/Parser.java index d2d3436..fb0cafe 100644 --- a/src/main/java/de/bottlecaps/markup/blitz/Parser.java +++ b/src/main/java/de/bottlecaps/markup/blitz/Parser.java @@ -48,6 +48,7 @@ public class Parser private final int[] forks; private final BitSet[] expectedTokens; private final boolean isVersionMismatch; + private final boolean normalizeEol; private Writer err = new OutputStreamWriter(System.err, StandardCharsets.UTF_8); @@ -61,7 +62,8 @@ public Parser( RangeSet[] terminal, int[] forks, BitSet[] expectedTokens, - boolean isVersionMismatch) { + boolean isVersionMismatch, + boolean normalizeEol) { this.defaultOptions = defaultOptions; this.asciiMap = asciiMap; @@ -77,6 +79,7 @@ public Parser( this.forks = forks; this.expectedTokens = expectedTokens; this.isVersionMismatch = isVersionMismatch; + this.normalizeEol = normalizeEol; } /** @@ -979,6 +982,11 @@ private int match() { if (trace) if (c1 >= 32 && c1 <= 126) writeTrace(" char=\"" + xmlEscape(String.valueOf((char) c1)) + "\""); + if (c1 == 0xD && normalizeEol) { + if (e1 < size && input.charAt(e1) == 0xA) + ++e1; + c1 = 0xA; + } charclass = asciiMap[c1]; } else if (c1 < 0xd800) { diff --git a/src/main/java/de/bottlecaps/markup/blitz/grammar/Grammar.java b/src/main/java/de/bottlecaps/markup/blitz/grammar/Grammar.java index fadb271..c342e20 100644 --- a/src/main/java/de/bottlecaps/markup/blitz/grammar/Grammar.java +++ b/src/main/java/de/bottlecaps/markup/blitz/grammar/Grammar.java @@ -51,7 +51,7 @@ private Grammar(String versionString, Version version, boolean mismatch) { this.versionString = versionString; this.rules = new LinkedHashMap<>(); if (version != null) { - this.version = Version.UNSPECIFIED; + this.version = version; this.mismatch = mismatch; } else if (this.versionString == null) { diff --git a/src/main/java/de/bottlecaps/markup/blitz/transform/Generator.java b/src/main/java/de/bottlecaps/markup/blitz/transform/Generator.java index f226ea9..3421d8d 100644 --- a/src/main/java/de/bottlecaps/markup/blitz/transform/Generator.java +++ b/src/main/java/de/bottlecaps/markup/blitz/transform/Generator.java @@ -192,7 +192,8 @@ public static Parser generate(Grammar g, Set