From b4099505ca1ceab2f0633381265f27ddfd4fd1be Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 16 Nov 2016 19:21:49 +0000 Subject: Return unknown tokens instead of throwing --- .../org/zwobble/mammoth/internal/styles/parsing/RegexTokeniser.java | 6 ++++-- .../mammoth/internal/styles/parsing/StyleMappingTokeniser.java | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/RegexTokeniser.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/RegexTokeniser.java index 06ecbd3..8ff4392 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/RegexTokeniser.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/RegexTokeniser.java @@ -23,8 +23,9 @@ public class RegexTokeniser { private final List> rules; - public RegexTokeniser(List> rules) { - this.rules = rules; + public RegexTokeniser(T unknown, List> rules) { + this.rules = new ArrayList<>(rules); + this.rules.add(rule(unknown, ".")); } public List> tokenise(String value) { @@ -42,6 +43,7 @@ public class RegexTokeniser { } } if (!matched) { + // Should be impossible throw new RuntimeException("Remaining: " + remaining); } } diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java index 1b7c881..1eec870 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java @@ -9,6 +9,7 @@ public class StyleMappingTokeniser { String stringPrefix = "'((?:\\.|[^'])*)"; RegexTokeniser tokeniser = new RegexTokeniser<>( + TokenType.UNKNOWN, list( RegexTokeniser.rule(TokenType.IDENTIFIER, "([a-zA-Z][a-zA-Z0-9\\-]*)"), RegexTokeniser.rule(TokenType.CLASS_NAME, "(\\.(?:[a-zA-Z0-9\\-]|\\\\.)+)"), -- cgit v1.2.3