diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-05 22:09:23 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-05 22:09:23 -0300 |
| commit | 05c9922b30cd0dcd2a452673c2e155215d074b19 (patch) | |
| tree | 80f2cc1cfd239761f3d74d20159f780c1673781b /src/main/java/bjc/rgens/parser/templates/TemplateElement.java | |
| parent | f25d1062a56a81b17348b799e6d4d7e1dc12a1cc (diff) | |
Templates pt. 3
Templates should now work, though there is no syntax to reference them
from rules yet
In addition, several internal things have been changed so as to improve
code quality
Diffstat (limited to 'src/main/java/bjc/rgens/parser/templates/TemplateElement.java')
| -rw-r--r-- | src/main/java/bjc/rgens/parser/templates/TemplateElement.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/bjc/rgens/parser/templates/TemplateElement.java b/src/main/java/bjc/rgens/parser/templates/TemplateElement.java new file mode 100644 index 0000000..dc123f3 --- /dev/null +++ b/src/main/java/bjc/rgens/parser/templates/TemplateElement.java @@ -0,0 +1,27 @@ +package bjc.rgens.parser.templates; + +import bjc.rgens.parser.GenerationState; + +public abstract class TemplateElement { + public static enum ElementType { + LITERAL(true), + TEMPLATE(true), + PRAGMA(false); + + public final boolean spacing; + + private ElementType(boolean spacing) { + this.spacing = spacing; + } + } + + public final ElementType type; + + public GrammarTemplate belongsTo; + + protected TemplateElement(ElementType type) { + this.type = type; + } + + public abstract void generate(GenerationState state); +} |
