summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/linearize.c
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2012-02-21 21:17:50 +0000
committerkr.angelov <kr.angelov@gmail.com>2012-02-21 21:17:50 +0000
commit7ddd0d5f3e44efb39503375301adaed562ff358e (patch)
tree562b7f4959da4f268605682e5028e04ee1bbc1c0 /src/runtime/c/pgf/linearize.c
parenta178608f3756c6c8ec673c6fe2b39d8e75d8c0a4 (diff)
libpgf: added index for fast lexicon lookup. Still not perfect
Diffstat (limited to 'src/runtime/c/pgf/linearize.c')
-rw-r--r--src/runtime/c/pgf/linearize.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/runtime/c/pgf/linearize.c b/src/runtime/c/pgf/linearize.c
index 77cf65813..aef966eba 100644
--- a/src/runtime/c/pgf/linearize.c
+++ b/src/runtime/c/pgf/linearize.c
@@ -104,14 +104,12 @@ static GU_DEFINE_TYPE(PgfInferMap, GuMap,
gu_ptr_type(PgfCCatIds), pgf_lzr_cats_hasher,
gu_ptr_type(PgfLinInfers), &gu_null_struct);
-typedef GuStringMap PgfFunIndices;
GU_DEFINE_TYPE(PgfFunIndices, GuStringMap, gu_ptr_type(PgfInferMap),
&gu_null_struct);
typedef GuBuf PgfCCatBuf;
static GU_DEFINE_TYPE(PgfCCatBuf, GuBuf, gu_ptr_type(PgfCCat));
-typedef GuMap PgfCoerceIdx;
GU_DEFINE_TYPE(PgfCoerceIdx, GuMap,
gu_type(PgfCCat), NULL,
gu_ptr_type(PgfCCatBuf), &gu_null_struct);
@@ -155,7 +153,7 @@ pgf_lzr_add_infer_entry(
void
-pgf_lzr_index(PgfConcr* concr, PgfCCat* cat, PgfProduction prod,
+pgf_lzr_index(PgfConcr* concr, PgfCCat* ccat, PgfProduction prod,
GuPool *pool)
{
void* data = gu_variant_data(prod);
@@ -164,27 +162,27 @@ pgf_lzr_index(PgfConcr* concr, PgfCCat* cat, PgfProduction prod,
PgfProductionApply* papply = data;
PgfInferMap* infer =
gu_map_get(concr->fun_indices, &papply->fun->fun,
- PgfInferMap*);
- gu_debug("index: %s -> %d", papply->fun->fun, cat->fid);
+ PgfInferMap*);
+ gu_debug("index: %s -> %d", papply->fun->fun, ccat->fid);
if (!infer) {
infer = gu_map_type_new(PgfInferMap, pool);
gu_map_put(concr->fun_indices,
- &papply->fun->fun, PgfInferMap*, infer);
+ &papply->fun->fun, PgfInferMap*, infer);
}
- pgf_lzr_add_infer_entry(infer, cat, papply, pool);
+ pgf_lzr_add_infer_entry(infer, ccat, papply, pool);
break;
}
case PGF_PRODUCTION_COERCE: {
PgfProductionCoerce* pcoerce = data;
PgfCCatBuf* cats = gu_map_get(concr->coerce_idx, pcoerce->coerce,
- PgfCCatBuf*);
+ PgfCCatBuf*);
if (!cats) {
cats = gu_new_buf(PgfCCat*, pool);
gu_map_put(concr->coerce_idx,
- pcoerce->coerce, PgfCCatBuf*, cats);
+ pcoerce->coerce, PgfCCatBuf*, cats);
}
- gu_debug("coerce_idx: %d -> %d", pcoerce->coerce->fid, cat->fid);
- gu_buf_push(cats, PgfCCat*, cat);
+ gu_debug("coerce_idx: %d -> %d", pcoerce->coerce->fid, ccat->fid);
+ gu_buf_push(cats, PgfCCat*, ccat);
break;
}
default: