aboutsummaryrefslogtreecommitdiff
path: root/lptree.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2019-04-14 12:04:23 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2019-04-14 12:04:23 -0300
commit3f7797419e4d7493e1364290a5b127d1cb45e3bf (patch)
tree8dd91b0d008d5ea9f9c96eada86510495c97d1e3 /lptree.h
parentd9f83dded93a35fb333c4e1bd371c401f7129fd1 (diff)
downloadlpeg-3f7797419e4d7493e1364290a5b127d1cb45e3bf.tar.gz
lpeg-3f7797419e4d7493e1364290a5b127d1cb45e3bf.tar.bz2
lpeg-3f7797419e4d7493e1364290a5b127d1cb45e3bf.zip
Removed 'unsigned char' limit on number of rules in grammars
Added a new tree-type node 'TXInfo', which follows 'TRule' nodes, to store extra information about a node. (In this case, the rule number, with an 'unsigned short' field.)
Diffstat (limited to 'lptree.h')
-rw-r--r--lptree.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/lptree.h b/lptree.h
index 25906d5..3e8b52b 100644
--- a/lptree.h
+++ b/lptree.h
@@ -26,8 +26,8 @@ typedef enum TTag {
26 TCall, /* ktable[key] is rule's key; 'sib2' is rule being called */ 26 TCall, /* ktable[key] is rule's key; 'sib2' is rule being called */
27 TOpenCall, /* ktable[key] is rule's key */ 27 TOpenCall, /* ktable[key] is rule's key */
28 TRule, /* ktable[key] is rule's key (but key == 0 for unused rules); 28 TRule, /* ktable[key] is rule's key (but key == 0 for unused rules);
29 'sib1' is rule's pattern; 29 'sib1' is rule's pattern pre-rule; 'sib2' is next rule; */
30 'sib2' is next rule; 'cap' is rule's sequential number */ 30 TXInfo, /* extra info; 'n' is rule's sequential number */
31 TGrammar, /* 'sib1' is initial (and first) rule */ 31 TGrammar, /* 'sib1' is initial (and first) rule */
32 TBehind, /* 'sib1' is pattern, 'n' is how much to go back */ 32 TBehind, /* 'sib1' is pattern, 'n' is how much to go back */
33 TCapture, /* captures: 'cap' is kind of capture (enum 'CapKind'); 33 TCapture, /* captures: 'cap' is kind of capture (enum 'CapKind');