From 5444cd4db8a0fa41d25cd303c1145cadd112e12f Mon Sep 17 00:00:00 2001 From: bjculkin Date: Tue, 21 Mar 2017 19:29:27 -0400 Subject: Add formatter Adds a formatter capable of taking in a parsed grammar and printing it out in a formatted form, capable of being reparsed. --- .../main/java/bjc/rgens/newparser/CaseElement.java | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'RGens/src/main/java/bjc/rgens/newparser/CaseElement.java') diff --git a/RGens/src/main/java/bjc/rgens/newparser/CaseElement.java b/RGens/src/main/java/bjc/rgens/newparser/CaseElement.java index fe088b8..a15cb9b 100644 --- a/RGens/src/main/java/bjc/rgens/newparser/CaseElement.java +++ b/RGens/src/main/java/bjc/rgens/newparser/CaseElement.java @@ -91,12 +91,36 @@ public class CaseElement { literalVal = val; } + /** + /** * Get the literal string value for this element. * * @return The literal string value for this element. + * + * @throws IllegalStateException + * If this type doesn't have a literal string value. */ public String getLiteral() { + switch(type) { + case LITERAL: + case RULEREF: + break; + default: + throw new IllegalStateException(String.format("Type '%s' doesn't have a literal string value")); + } + return literalVal; } + + @Override + public String toString() { + switch(type) { + case LITERAL: + case RULEREF: + return literalVal; + default: + return String.format("Unknown type '%s'", type); + } + } } \ No newline at end of file -- cgit v1.2.3