aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-11 04:03:14 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-11 04:03:14 +0100
commit46316ece115c100a8146303957a3bec07a1d2dde (patch)
tree9486c8e0a2b623a7db36af8840cfce5a489e2b90 /parser.h
parentd6593762d97bf44f3a398dc4fae714a9e20a24b2 (diff)
downloadsciteco-46316ece115c100a8146303957a3bec07a1d2dde.tar.gz
Q-Register table and EQx command
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();