aboutsummaryrefslogtreecommitdiff
path: root/demos/generate-parser.c
diff options
context:
space:
mode:
authorkartofen <kartofen.mail.0@protonmail.com>2025-07-20 13:02:56 +0300
committerkartofen <kartofen.mail.0@protonmail.com>2025-07-20 13:02:56 +0300
commit1d6f6e7c6a07832b3524871fdec86f5329736598 (patch)
tree60981bf69a19fa84e06e36c10df6c35e0eed733a /demos/generate-parser.c
parent34357640c0676f33ad13aac1fe28effc6f6e47c7 (diff)
fix precedence
Diffstat (limited to 'demos/generate-parser.c')
-rw-r--r--demos/generate-parser.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/demos/generate-parser.c b/demos/generate-parser.c
index 48fa48c..9987265 100644
--- a/demos/generate-parser.c
+++ b/demos/generate-parser.c
@@ -137,7 +137,7 @@ int main(int argc, char **argv)
set_stdout(add_extension(output_path, ".c"));
printf("size_t total_symbols = %zu;\n", total_symbols);
- printf("char **symbol_to_string = (char *([])){\n");
+ printf("char **symbol_to_str = (char *([])){\n");
for(size_t i = 0; i < total_symbols; i++) printf("\"%s\", ", symbol_to_str[i]);
printf("};\n");
printf("IMPLEMENT_FUNCPTR(int, symbol_is_valid, (symbol s)) {return s < total_symbols;}\n");
@@ -210,9 +210,9 @@ void precedence_tables_fill()
for(size_t i = 0; i < nprecedence_defs; i++)
for(size_t j = 0; j < precedence_defs[i].nlist; j++)
if(precedence_defs[i].list[j] >= 0)
- precedence_symbol[precedence_defs[i].list[j]] = PRECEDENCE_SET(precedence_defs[i].flag, i+1);
+ precedence_symbol[precedence_defs[i].list[j]] = PRECEDENCE_SET(precedence_defs[i].flag, nprecedence_defs-i);
else
- precedence_production[~precedence_defs[i].list[j]] = PRECEDENCE_SET(precedence_defs[i].flag, i+1);
+ precedence_production[~precedence_defs[i].list[j]] = PRECEDENCE_SET(precedence_defs[i].flag, nprecedence_defs-i);
for(size_t i = 0; i < total_productions; i++) {
if(precedence_production[i]) continue;