diff options
Diffstat (limited to 'clformat/src/main/java/bjc')
| -rw-r--r-- | clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java | 12 | ||||
| -rw-r--r-- | clformat/src/main/java/bjc/utils/ioutils/format/CLString.java | 8 |
2 files changed, 17 insertions, 3 deletions
diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java b/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java index 86ffd54..3599d9e 100644 --- a/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java +++ b/clformat/src/main/java/bjc/utils/ioutils/format/CLFormatter.java @@ -371,7 +371,15 @@ public class CLFormatter { } } - public void compile(Iterator<Decree> cltok) { + public CLString compile(String inp) { + CLTokenizer tokenzer = new CLTokenizer(inp); + + List<Edict> edts = compile(tokenzer); + + return new CLString(edts); + } + + public List<Edict> compile(Iterator<Decree> cltok) { List<Edict> result = new ArrayList<>(); while (cltok.hasNext()) { @@ -458,5 +466,7 @@ public class CLFormatter { throw new IllegalArgumentException(msg); } } + + return result; } } diff --git a/clformat/src/main/java/bjc/utils/ioutils/format/CLString.java b/clformat/src/main/java/bjc/utils/ioutils/format/CLString.java index 74e4960..7b533d0 100644 --- a/clformat/src/main/java/bjc/utils/ioutils/format/CLString.java +++ b/clformat/src/main/java/bjc/utils/ioutils/format/CLString.java @@ -33,8 +33,12 @@ public class CLString { FormatContext formCTX = new FormatContext(rw, itms); - for (Edict edt : edicts) { - edt.format(formCTX); + try { + for (Edict edt : edicts) { + edt.format(formCTX); + } + } catch (EscapeException eex) { + // General escape exception, so stop formatting. } return rw.toString(); |
