aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-07 20:43:33 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-07 20:43:33 +0100
commitad939b95eb95c7511a371ef7d806ad9bb26453ae (patch)
tree372ff7ea4bbd4b8d06c3054bf3a4da5aea1b1560 /parser.h
parent581e39ac203056633a627ad09167adf05753e091 (diff)
downloadsciteco-ad939b95eb95c7511a371ef7d806ad9bb26453ae.tar.gz
add helper function to initialize transition table
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/parser.h b/parser.h
index dba304d..3c4f543 100644
--- a/parser.h
+++ b/parser.h
@@ -11,6 +11,18 @@ protected:
/* static transitions */
State *transitions[MAX_TRANSITIONS];
+ inline void
+ init(const gchar *chars, State *state)
+ {
+ while (*chars)
+ transitions[(int)*chars++] = state;
+ }
+ inline void
+ init(const gchar *chars)
+ {
+ init(chars, this);
+ }
+
public:
State();