From 46316ece115c100a8146303957a3bec07a1d2dde Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sun, 11 Nov 2012 04:03:14 +0100 Subject: Q-Register table and EQx command --- parser.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'parser.cpp') diff --git a/parser.cpp b/parser.cpp index 18decd1..b3733d6 100644 --- a/parser.cpp +++ b/parser.cpp @@ -168,6 +168,22 @@ StateExpectString::custom(gchar chr) return this; } +StateExpectQReg::StateExpectQReg() : State() +{ + transitions['\0'] = this; +} + +State * +StateExpectQReg::custom(gchar chr) +{ + QRegister *reg = qregisters[(gchar []){g_ascii_toupper(chr), '\0'}]; + + if (!reg) + return NULL; + + return got_register(reg); +} + StateStart::StateStart() : State() { transitions['\0'] = this; @@ -563,6 +579,7 @@ StateECommand::StateECommand() : State() { transitions['\0'] = this; transitions['B'] = &States::file; + transitions['Q'] = &States::eqcommand; } State * -- cgit v1.2.3