]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/parser/regexp/automata/Automata.java
Moved SCL parser generator to platform repository.
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / parser / regexp / automata / Automata.java
diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/parser/regexp/automata/Automata.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/parser/regexp/automata/Automata.java
new file mode 100644 (file)
index 0000000..7479345
--- /dev/null
@@ -0,0 +1,15 @@
+package org.simantics.scl.compiler.parser.regexp.automata;
+
+import gnu.trove.procedure.TIntIntProcedure;
+
+
+public interface Automata {
+    int newState();    
+    int size();
+    void addTransition(int sourceId, int symbol, int targetId);
+    void forEachTransition(int source, TIntIntProcedure proc);
+    void setAccepts(int id, boolean accepts);    
+    boolean getAccepts(int id);
+    void setInitialState(int initialState);
+    int getInitialState();
+}