diff options
Diffstat (limited to 'src/runtime/c')
| -rw-r--r-- | src/runtime/c/pgf/data.h | 4 | ||||
| -rw-r--r-- | src/runtime/c/pgf/linearizer.c | 2 | ||||
| -rw-r--r-- | src/runtime/c/pgf/parser.c | 8 | ||||
| -rw-r--r-- | src/runtime/c/pgf/printer.c | 4 | ||||
| -rw-r--r-- | src/runtime/c/pgf/reader.c | 7 |
5 files changed, 25 insertions, 0 deletions
diff --git a/src/runtime/c/pgf/data.h b/src/runtime/c/pgf/data.h index dd482f372..e734434cd 100644 --- a/src/runtime/c/pgf/data.h +++ b/src/runtime/c/pgf/data.h @@ -204,6 +204,7 @@ typedef enum { PGF_SYMBOL_KP, PGF_SYMBOL_BIND, PGF_SYMBOL_SOFT_BIND, + PGF_SYMBOL_CAPIT, PGF_SYMBOL_NE } PgfSymbolTag; @@ -238,6 +239,9 @@ typedef struct { typedef struct { } PgfSymbolBIND; +typedef struct { +} PgfSymbolCAPIT; + typedef GuBuf PgfProductionIdx; typedef struct { diff --git a/src/runtime/c/pgf/linearizer.c b/src/runtime/c/pgf/linearizer.c index f70aa405a..1b02e1b38 100644 --- a/src/runtime/c/pgf/linearizer.c +++ b/src/runtime/c/pgf/linearizer.c @@ -904,6 +904,8 @@ pgf_lzr_linearize_symbols(PgfLzr* lzr, PgfCncTreeApp* fapp, } break; } + case PGF_SYMBOL_CAPIT: + break; default: gu_impossible(); } diff --git a/src/runtime/c/pgf/parser.c b/src/runtime/c/pgf/parser.c index 8d725a48a..abd8ff521 100644 --- a/src/runtime/c/pgf/parser.c +++ b/src/runtime/c/pgf/parser.c @@ -137,6 +137,8 @@ pgf_prev_extern_sym(PgfSymbol sym) case PGF_SYMBOL_BIND: case PGF_SYMBOL_SOFT_BIND: return *((PgfSymbol*) (((PgfSymbolBIND*) i.data)+1)); + case PGF_SYMBOL_CAPIT: + return *((PgfSymbol*) (((PgfSymbolCAPIT*) i.data)+1)); case PGF_SYMBOL_NE: return *((PgfSymbol*) (((PgfSymbolNE*) i.data)+1)); default: @@ -1147,6 +1149,9 @@ pgf_symbols_cmp(GuString* psent, size_t sent_len, BIND_TYPE* pbind, PgfSymbols* *pbind = BIND_SOFT; break; } + case PGF_SYMBOL_CAPIT: { + break; + } case PGF_SYMBOL_NE: { return -2; } @@ -1719,6 +1724,9 @@ pgf_parsing_symbol(PgfParsing* ps, PgfItem* item, PgfSymbol sym) } break; } + case PGF_SYMBOL_CAPIT: { + break; + } default: gu_impossible(); } diff --git a/src/runtime/c/pgf/printer.c b/src/runtime/c/pgf/printer.c index 10a9858c1..e3e014c4b 100644 --- a/src/runtime/c/pgf/printer.c +++ b/src/runtime/c/pgf/printer.c @@ -276,6 +276,10 @@ pgf_print_symbol(PgfSymbol sym, GuOut *out, GuExn *err) gu_puts("SOFT_BIND", out, err); break; } + case PGF_SYMBOL_CAPIT: { + gu_puts("CAPIT", out, err); + break; + } default: gu_impossible(); } diff --git a/src/runtime/c/pgf/reader.c b/src/runtime/c/pgf/reader.c index 8ff80a67c..8314fef5f 100644 --- a/src/runtime/c/pgf/reader.c +++ b/src/runtime/c/pgf/reader.c @@ -709,6 +709,13 @@ pgf_read_symbol(PgfReader* rdr) gu_return_on_exn(rdr->err, gu_null_variant); break; } + case PGF_SYMBOL_CAPIT: { + gu_new_variant(PGF_SYMBOL_CAPIT, + PgfSymbolCAPIT, + &sym, rdr->opool); + gu_return_on_exn(rdr->err, gu_null_variant); + break; + } default: pgf_read_tag_error(rdr); } |
