aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/parser.h b/parser.h
index 91ee036..be72249 100644
--- a/parser.h
+++ b/parser.h
@@ -49,7 +49,7 @@ public:
StateExpectString() : State() {}
private:
- virtual State *custom(gchar chr);
+ State *custom(gchar chr);
protected:
virtual void initial(void) {}
@@ -57,6 +57,26 @@ protected:
virtual State *done(const gchar *str) = 0;
};
+class QRegister;
+
+/*
+ * Super class for states accepting Q-Register specifications
+ */
+class StateExpectQReg : public State {
+public:
+ StateExpectQReg();
+
+private:
+ State *custom(gchar chr);
+
+protected:
+ /*
+ * FIXME: would be nice to pass reg as reference, but there are
+ * circular header dependencies...
+ */
+ virtual State *got_register(QRegister *reg) = 0;
+};
+
class StateStart : public State {
public:
StateStart();