diff options
| author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-06-29 14:45:41 +0200 |
|---|---|---|
| committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-06-29 14:45:41 +0200 |
| commit | cbcda49236665b3721ee9c3c66aa4bad08d777b8 (patch) | |
| tree | c52c6eb8092c56429578c639246914170604a290 /src/qregisters.h | |
| parent | 9c19ab0c91b6ac3e91093a2fec12dbfdb021cfb5 (diff) | |
MicroStateMachine::input() returns whether a result was set now
* this means that QRegSpecMachine::input() no longer has to return
a dummy QRegister in parse-only mode.
This saves an unnecessary QRegister table lookup and speeds up
parsing.
* QRegSpecMachine can now be easily extended to behave differently
when returning a Q-Register, e.g. simply returning NULL if a register
does not exist, or returning a register by prefix.
This is important for some planned commands.
* StateExpectQReg::got_register() now gets a QRegister *.
It can theoretically be NULL - still we don't have to check
for NULL in most cases since NULL is only passed in parse-only mode.
Diffstat (limited to 'src/qregisters.h')
| -rw-r--r-- | src/qregisters.h | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/qregisters.h b/src/qregisters.h index dc560b8..f4f944d 100644 --- a/src/qregisters.h +++ b/src/qregisters.h @@ -389,7 +389,7 @@ public: void reset(void); - QRegister *input(gchar chr); + bool input(gchar chr, QRegister *&result); }; /* @@ -409,12 +409,12 @@ private: State *custom(gchar chr); protected: - virtual State *got_register(QRegister ®) = 0; + virtual State *got_register(QRegister *reg) = 0; }; class StatePushQReg : public StateExpectQReg { private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StatePopQReg : public StateExpectQReg { @@ -422,7 +422,7 @@ public: StatePopQReg() : StateExpectQReg(true) {} private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateEQCommand : public StateExpectQReg { @@ -430,7 +430,7 @@ public: StateEQCommand() : StateExpectQReg(true) {} private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateLoadQReg : public StateExpectFile { @@ -440,7 +440,7 @@ private: class StateEPctCommand : public StateExpectQReg { private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateSaveQReg : public StateExpectFile { @@ -450,7 +450,7 @@ private: class StateQueryQReg : public StateExpectQReg { private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateCtlUCommand : public StateExpectQReg { @@ -458,7 +458,7 @@ public: StateCtlUCommand() : StateExpectQReg(true) {} private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateEUCommand : public StateExpectQReg { @@ -466,7 +466,7 @@ public: StateEUCommand() : StateExpectQReg(true) {} private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateSetQRegString : public StateExpectString { @@ -483,7 +483,7 @@ private: class StateGetQRegString : public StateExpectQReg { private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateSetQRegInteger : public StateExpectQReg { @@ -491,7 +491,7 @@ public: StateSetQRegInteger() : StateExpectQReg(true) {} private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateIncreaseQReg : public StateExpectQReg { @@ -499,12 +499,12 @@ public: StateIncreaseQReg() : StateExpectQReg(true) {} private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateMacro : public StateExpectQReg { private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; class StateMacroFile : public StateExpectFile { @@ -517,7 +517,7 @@ public: StateCopyToQReg() : StateExpectQReg(true) {} private: - State *got_register(QRegister ®); + State *got_register(QRegister *reg); }; namespace States { |
