Skip to content

Commit

Permalink
wip #8 base_def structure def can now use structures as macros
Browse files Browse the repository at this point in the history
if you use a structure in a structure definition (instead
of a symbol) the base defs code now treats that as a
macro and replaces that slot in the STRUCTURE_DEF with
a copy of the that structures definition.
  • Loading branch information
zippy committed Oct 20, 2015
1 parent 7d6c4ee commit 2ff2f27
Show file tree
Hide file tree
Showing 30 changed files with 444 additions and 382 deletions.
2 changes: 1 addition & 1 deletion spec/def_spec.h
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ void testDefSemtrex() {
void testDefSysDefs() {
// spec_is_str_equal(t2s(_t_child(G_contexts[SYS_CONTEXT].root,1)),"");
dump2json(&G_contexts[SYS_CONTEXT].defs,G_contexts[SYS_CONTEXT].root,"sysdefs");
spec_is_str_equal(t2s(_t_child(_t_child(G_contexts[SYS_CONTEXT].root,1),STRUCTURE_DEF.id)),"(STRUCTURE_DEFINITION (STRUCTURE_LABEL:STRUCTURE_DEF) (STRUCTURE_SYMBOL_SET (STRUCTURE_SYMBOL:STRUCTURE_SYMBOL) (STRUCTURE_SYMBOL:STRUCTURE_SYMBOL) (STRUCTURE_SYMBOL:STRUCTURE_SYMBOL) (STRUCTURE_SYMBOL:STRUCTURE_SYMBOL) (STRUCTURE_SYMBOL:STRUCTURE_SYMBOL) (STRUCTURE_SYMBOL:STRUCTURE_SYMBOL) (STRUCTURE_SYMBOL:STRUCTURE_SYMBOL)))");
spec_is_str_equal(t2s(_t_child(_t_child(G_contexts[SYS_CONTEXT].root,1),STRUCTURE_DEF.id)),"(STRUCTURE_DEFINITION (STRUCTURE_LABEL:STRUCTURE_DEF) (STRUCTURE_SYMBOL_SET (STRUCTURE_SYMBOL:STRUCTURE_SYMBOL) (STRUCTURE_SYMBOL:STRUCTURE_SEQUENCE) (STRUCTURE_SYMBOL:STRUCTURE_SYMBOL_SET) (STRUCTURE_SYMBOL:STRUCTURE_OR) (STRUCTURE_SYMBOL:STRUCTURE_ZERO_OR_MORE) (STRUCTURE_SYMBOL:STRUCTURE_ONE_OR_MORE) (STRUCTURE_SYMBOL:STRUCTURE_ZERO_OR_ONE)))");
/* puts("Structures:");puts(t2sp(_t_child(G_contexts[SYS_CONTEXT].root,1))); */
/* puts("Symbols:");puts(t2sp(_t_child(G_contexts[SYS_CONTEXT].root,2))); */
/* puts("Processes:");puts(t2sp(_t_child(G_contexts[SYS_CONTEXT].root,3))); */
Expand Down
41 changes: 37 additions & 4 deletions src/sys_defs.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,22 @@ void def_sys() {
G_contexts[SYS_CONTEXT].symbols = malloc(NUM_SYS_SYMBOLS*sizeof(Symbol));
G_contexts[SYS_CONTEXT].processes = malloc(NUM_SYS_PROCESSES*sizeof(Process));

G_contexts[TEST_CONTEXT].symbols = malloc(NUM_TEST_SYMBOLS*sizeof(Symbol));
G_contexts[LOCAL_CONTEXT].symbols = malloc(NUM_LOCAL_SYMBOLS*sizeof(Symbol));

for (i=0;i<NUM_SYS_SYMBOLS;i++) {
G_contexts[SYS_CONTEXT].symbols[i].id = -1;
G_contexts[SYS_CONTEXT].symbols[i].context = SYS_CONTEXT;
}
for (i=0;i<NUM_LOCAL_SYMBOLS;i++) {
G_contexts[LOCAL_CONTEXT].symbols[i].id = -1;
G_contexts[LOCAL_CONTEXT].symbols[i].context = LOCAL_CONTEXT;
}
for (i=0;i<NUM_TEST_SYMBOLS;i++) {
G_contexts[TEST_CONTEXT].symbols[i].id = -1;
G_contexts[TEST_CONTEXT].symbols[i].context = TEST_CONTEXT;
}

// bootstrap the hard-coded definitions that we need to even be able to make
// definitions

Expand All @@ -69,9 +85,6 @@ void def_sys() {
init_defs_tree(&G_contexts[TEST_CONTEXT]);
init_defs_tree(&G_contexts[LOCAL_CONTEXT]);

G_contexts[TEST_CONTEXT].symbols = malloc(NUM_TEST_SYMBOLS*sizeof(Symbol));
G_contexts[LOCAL_CONTEXT].symbols = malloc(NUM_LOCAL_SYMBOLS*sizeof(Symbol));

base_defs();
}
void free_context(ContextStore *cs) {
Expand All @@ -88,21 +101,41 @@ void sys_free() {
}
}

Context G_ctx;
char * G_label;

T *sT_(Symbol sym,int num_params,...){
va_list params;
T *set = _t_newr(0,sym);
va_start(params,num_params);
int i;
// if (strcmp("STX_SYMBOL_OR_SYMBOL_SET", G_label) == 0) {raise(SIGINT);}
for(i=0;i<num_params;i++) {
T * t = va_arg(params,T *);
// if it's a SYMBOL_SET we need to just use the symbol type and
// can throw away the node
if (semeq(sym,STRUCTURE_SYMBOL_SET)) {
_t_news(set,STRUCTURE_SYMBOL,_t_symbol(t));
Symbol ss = *(Symbol *)_t_surface(t);
if (!is_symbol(ss)) raise_error("only structures allowed in SYMBOL_SET, def of %s",G_label);
_t_news(set,STRUCTURE_SYMBOL,ss);
_t_free(t);
}
// otherwise they should all be T *
else {
if (semeq(_t_symbol(t),STRUCTURE_SYMBOL)) {
Symbol ss = *(Symbol *)_t_surface(t);
if (is_structure(ss)) {
T *st = _t_child(G_contexts[ss.context].defs.structures,ss.id);
if (!st) {
raise_error("Structure used in %s definition is undefined!",G_label);
}
else {
_t_free(t);
t = _t_clone(_t_child(st,2));
}
}
else if (ss.id == -1) {raise_error("Symbol used in %s definition is undefined!",G_label);}
}
_t_add(set,t);
}
}
Expand Down
5 changes: 3 additions & 2 deletions src/sys_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,14 @@ typedef struct ContextStore {
} ContextStore;

ContextStore G_contexts[_NUM_CONTEXTS];

Context G_ctx;
char * G_label;
// helper macros for setting up the base system definitions, these macros are
// used in the code generated by base_defs.pl.
// NOte: symbols that are defined via a Declare line in the source file, cannot be
// redefined, and thus are just set using the sYs macro.
#define sT(ctx,name,num,...) name = _d_define_structure(G_contexts[ctx].defs.symbols,G_contexts[ctx].defs.structures,"" #name "",ctx,num,__VA_ARGS__)
#define sTs(ctx,name,def) __d_define_structure(G_contexts[ctx].defs.structures,"" #name "",def);name = sTD(ctx,G_contexts[ctx].defs.structures);
#define sTs(ctx,name,def) G_ctx = ctx;G_label=""#name"";__d_define_structure(G_contexts[ctx].defs.structures,"" #name "",def);name = sTD(ctx,G_contexts[ctx].defs.structures);
#define sY(ctx,name,str) name = _d_declare_symbol(G_contexts[ctx].defs.symbols,G_contexts[ctx].defs.structures,str,"" #name "",ctx)
#define sYs(ctx,sym,str) __d_set_symbol_structure(G_contexts[ctx].defs.symbols,sym,str)
#define sP(ctx,name,intention,...) name = _d_code_process(G_contexts[ctx].defs.processes,0,"" #name "",intention,__p_make_signature(__VA_ARGS__),ctx)
Expand Down
6 changes: 3 additions & 3 deletions web/html_1.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ "symbol":{ "context":0,"id":148 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":158 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":27 },"type":"CSTRING","name":"HTML_TOK_TAG_OPEN","surface":"html"}]}]}
6 changes: 3 additions & 3 deletions web/html_10.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ "symbol":{ "context":0,"id":148 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":158 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":28 },"type":"CSTRING","name":"HTML_TOK_TAG_CLOSE","surface":"div"}]}]}
6 changes: 3 additions & 3 deletions web/html_11.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ "symbol":{ "context":0,"id":148 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":158 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":28 },"type":"CSTRING","name":"HTML_TOK_TAG_CLOSE","surface":"body"}]}]}
6 changes: 3 additions & 3 deletions web/html_12.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ "symbol":{ "context":0,"id":148 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":158 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":28 },"type":"CSTRING","name":"HTML_TOK_TAG_CLOSE","surface":"html"}]}]}
8 changes: 4 additions & 4 deletions web/html_13.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ "symbol":{ "context":0,"id":149 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/3"},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":159 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/3"},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":39 },"type":"HTML_ELEMENT","name":"HTML_DIV","children":[
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES","children":[
{ "symbol":{ "context":255,"id":32 },"type":"KEY_VALUE_PARAM","name":"HTML_ATTRIBUTE","children":[
Expand All @@ -16,4 +16,4 @@
{ "symbol":{ "context":255,"id":32 },"type":"KEY_VALUE_PARAM","name":"HTML_ATTRIBUTE","children":[
{ "symbol":{ "context":255,"id":10 },"type":"CSTRING","name":"PARAM_KEY","surface":"src"},
{ "symbol":{ "context":255,"id":11 },"type":"CSTRING","name":"PARAM_VALUE","surface":"test.png"}]}]}]}]}]}]},
{ "symbol":{ "context":0,"id":147 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":4}]}
{ "symbol":{ "context":0,"id":157 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":4}]}
8 changes: 4 additions & 4 deletions web/html_14.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ "symbol":{ "context":0,"id":149 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/2"},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":159 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/2"},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":38 },"type":"HTML_ELEMENT","name":"HTML_BODY","children":[
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES"},
{ "symbol":{ "context":255,"id":33 },"type":"LIST","name":"HTML_CONTENT","children":[
Expand All @@ -19,4 +19,4 @@
{ "symbol":{ "context":255,"id":32 },"type":"KEY_VALUE_PARAM","name":"HTML_ATTRIBUTE","children":[
{ "symbol":{ "context":255,"id":10 },"type":"CSTRING","name":"PARAM_KEY","surface":"src"},
{ "symbol":{ "context":255,"id":11 },"type":"CSTRING","name":"PARAM_VALUE","surface":"test.png"}]}]}]}]}]}]}]}]},
{ "symbol":{ "context":0,"id":147 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":3}]}
{ "symbol":{ "context":0,"id":157 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":3}]}
8 changes: 4 additions & 4 deletions web/html_15.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ "symbol":{ "context":0,"id":149 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/1"},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":159 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/1"},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":35 },"type":"HTML_ELEMENT","name":"HTML_HTML","children":[
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES"},
{ "symbol":{ "context":255,"id":33 },"type":"LIST","name":"HTML_CONTENT","children":[
Expand All @@ -22,4 +22,4 @@
{ "symbol":{ "context":255,"id":32 },"type":"KEY_VALUE_PARAM","name":"HTML_ATTRIBUTE","children":[
{ "symbol":{ "context":255,"id":10 },"type":"CSTRING","name":"PARAM_KEY","surface":"src"},
{ "symbol":{ "context":255,"id":11 },"type":"CSTRING","name":"PARAM_VALUE","surface":"test.png"}]}]}]}]}]}]}]}]}]}]},
{ "symbol":{ "context":0,"id":147 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":3}]}
{ "symbol":{ "context":0,"id":157 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":3}]}
8 changes: 4 additions & 4 deletions web/html_16.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{ "symbol":{ "context":0,"id":149 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/1/2/1/2/1/2/2"},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":159 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/1/2/1/2/1/2/2"},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":41 },"type":"HTML_ELEMENT","name":"HTML_IMG","children":[
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES","children":[
{ "symbol":{ "context":255,"id":32 },"type":"KEY_VALUE_PARAM","name":"HTML_ATTRIBUTE","children":[
{ "symbol":{ "context":255,"id":10 },"type":"CSTRING","name":"PARAM_KEY","surface":"src"},
{ "symbol":{ "context":255,"id":11 },"type":"CSTRING","name":"PARAM_VALUE","surface":"test.png"}]}]},
{ "symbol":{ "context":255,"id":33 },"type":"LIST","name":"HTML_CONTENT"}]}]},
{ "symbol":{ "context":0,"id":147 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":1}]}
{ "symbol":{ "context":0,"id":157 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":1}]}
8 changes: 4 additions & 4 deletions web/html_17.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ "symbol":{ "context":0,"id":149 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/2"},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":159 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/2"},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":38 },"type":"HTML_ELEMENT","name":"HTML_BODY","children":[
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES"},
{ "symbol":{ "context":255,"id":33 },"type":"LIST","name":"HTML_CONTENT","children":[
Expand All @@ -12,4 +12,4 @@
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES"},
{ "symbol":{ "context":255,"id":33 },"type":"LIST","name":"HTML_CONTENT","children":[
{ "symbol":{ "context":255,"id":34 },"type":"CSTRING","name":"HTML_TEXT","surface":"world!"}]}]}]}]}]}]}]},
{ "symbol":{ "context":0,"id":147 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":3}]}
{ "symbol":{ "context":0,"id":157 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":3}]}
8 changes: 4 additions & 4 deletions web/html_18.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ "symbol":{ "context":0,"id":149 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/1"},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":159 },"type":"TREE_DELTA","name":"TREE_DELTA_REPLACE","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/1"},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":35 },"type":"HTML_ELEMENT","name":"HTML_HTML","children":[
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES"},
{ "symbol":{ "context":255,"id":33 },"type":"LIST","name":"HTML_CONTENT","children":[
Expand All @@ -15,4 +15,4 @@
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES"},
{ "symbol":{ "context":255,"id":33 },"type":"LIST","name":"HTML_CONTENT","children":[
{ "symbol":{ "context":255,"id":34 },"type":"CSTRING","name":"HTML_TEXT","surface":"world!"}]}]}]}]}]}]}]}]}]},
{ "symbol":{ "context":0,"id":147 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":3}]}
{ "symbol":{ "context":0,"id":157 },"type":"INTEGER","name":"TREE_DELTA_COUNT","surface":3}]}
6 changes: 3 additions & 3 deletions web/html_2.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ "symbol":{ "context":0,"id":148 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/1"},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":158 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/1"},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES"}]}]}
6 changes: 3 additions & 3 deletions web/html_3.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ "symbol":{ "context":0,"id":148 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":158 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":""},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":27 },"type":"CSTRING","name":"HTML_TOK_TAG_OPEN","surface":"body"}]}]}
6 changes: 3 additions & 3 deletions web/html_4.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ "symbol":{ "context":0,"id":148 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":145 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/2"},
{ "symbol":{ "context":0,"id":146 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":0,"id":158 },"type":"TREE_DELTA","name":"TREE_DELTA_ADD","children":[
{ "symbol":{ "context":0,"id":155 },"type":"TREE_PATH","name":"TREE_DELTA_PATH","surface":"/2"},
{ "symbol":{ "context":0,"id":156 },"type":"LIST","name":"TREE_DELTA_VALUE","children":[
{ "symbol":{ "context":255,"id":31 },"type":"LIST","name":"HTML_ATTRIBUTES"}]}]}
Loading

0 comments on commit 2ff2f27

Please sign in to comment.