summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/linearizer.h
diff options
context:
space:
mode:
authorKrasimir Angelov <kr.angelov@gmail.com>2017-08-07 16:39:19 +0200
committerKrasimir Angelov <kr.angelov@gmail.com>2017-08-07 16:39:19 +0200
commita8eeb497670fb0f2ffab1f9b070808df965415be (patch)
tree5f169893da63183df272b0d281b5eaf5857ed955 /src/runtime/c/pgf/linearizer.h
parenta4c19875ed4a97671d17d6d6f062b465ae1f87a6 (diff)
the linearizer API now allows to detect metavariables. This is used for instancein the lookup where the tokens produced from the metavariables are interpreted as distinct from all other tokens.
Diffstat (limited to 'src/runtime/c/pgf/linearizer.h')
-rw-r--r--src/runtime/c/pgf/linearizer.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/runtime/c/pgf/linearizer.h b/src/runtime/c/pgf/linearizer.h
index 816181090..f2fea4221 100644
--- a/src/runtime/c/pgf/linearizer.h
+++ b/src/runtime/c/pgf/linearizer.h
@@ -33,6 +33,8 @@ typedef struct {
} PgfCncTreeApp;
typedef struct {
+ PgfMetaId id;
+
size_t n_vars;
PgfPrintContext* context;
@@ -94,6 +96,9 @@ struct PgfLinFuncs
/// capitalization
void (*symbol_capit)(PgfLinFuncs** self, PgfCapitState capit);
+
+ /// meta variable
+ void (*symbol_meta)(PgfLinFuncs** self, PgfMetaId id);
};
/// Linearize a concrete syntax tree.