summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/templates/TemplateElement.java
blob: dc123f34f191f37b0e0b12a827e44adff0f39311 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);
}