aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.cpp
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-18 03:42:45 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-20 06:06:46 +0100
commitdd02113f19aa41d187b4d1182057a10a43d842aa (patch)
tree476f7837d75497b27606a0cbfbed059a5f0c05aa /parser.cpp
parentbd345771ee18eb7cb3b6081b1954b1e5b48f029e (diff)
downloadsciteco-dd02113f19aa41d187b4d1182057a10a43d842aa.tar.gz
first working draft of syntax highlighting support and related necessary features
Diffstat (limited to 'parser.cpp')
-rw-r--r--parser.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/parser.cpp b/parser.cpp
index 1abd440..864eba0 100644
--- a/parser.cpp
+++ b/parser.cpp
@@ -13,7 +13,7 @@
#include "qbuffers.h"
#include "parser.h"
-//#define DEBUG
+#define DEBUG
gint macro_pc = 0;
@@ -1071,6 +1071,20 @@ StateECommand::custom(gchar chr) throw (Error)
ring.close();
break;
+ case 'S': {
+ BEGIN_EXEC(&States::start);
+ expressions.eval();
+ if (!expressions.args())
+ throw Error("<ES> command requires at least a message code");
+
+ unsigned int iMessage = expressions.pop_num_calc(1, 0);
+ uptr_t wParam = expressions.pop_num_calc(1, 0);
+ sptr_t lParam = expressions.pop_num_calc(1, 0);
+
+ expressions.push(interface.ssm(iMessage, wParam, lParam));
+ break;
+ }
+
case 'X':
BEGIN_EXEC(&States::start);