mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
make pgf_production_is_lexical public since it will be needed in the Haskell binding
This commit is contained in:
@@ -351,6 +351,10 @@ struct PgfCCat {
|
|||||||
GuFinalizer fin[0];
|
GuFinalizer fin[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PGF_API_DECL bool
|
||||||
|
pgf_production_is_lexical(PgfProductionApply *papp,
|
||||||
|
GuBuf* non_lexical_buf, GuPool* pool);
|
||||||
|
|
||||||
PGF_API_DECL void
|
PGF_API_DECL void
|
||||||
pgf_parser_index(PgfConcr* concr,
|
pgf_parser_index(PgfConcr* concr,
|
||||||
PgfCCat* ccat, PgfProduction prod,
|
PgfCCat* ccat, PgfProduction prod,
|
||||||
|
|||||||
@@ -936,8 +936,9 @@ pgf_read_pargs(PgfReader* rdr, PgfConcr* concr)
|
|||||||
return pargs;
|
return pargs;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
PGF_API bool
|
||||||
pgf_production_is_lexical(PgfReader* rdr, PgfProductionApply *papp)
|
pgf_production_is_lexical(PgfProductionApply *papp,
|
||||||
|
GuBuf* non_lexical_buf, GuPool* pool)
|
||||||
{
|
{
|
||||||
if (gu_seq_length(papp->args) > 0)
|
if (gu_seq_length(papp->args) > 0)
|
||||||
return false;
|
return false;
|
||||||
@@ -957,13 +958,13 @@ pgf_production_is_lexical(PgfReader* rdr, PgfProductionApply *papp)
|
|||||||
inf.tag == PGF_SYMBOL_SOFT_SPACE ||
|
inf.tag == PGF_SYMBOL_SOFT_SPACE ||
|
||||||
inf.tag == PGF_SYMBOL_CAPIT ||
|
inf.tag == PGF_SYMBOL_CAPIT ||
|
||||||
inf.tag == PGF_SYMBOL_ALL_CAPIT) {
|
inf.tag == PGF_SYMBOL_ALL_CAPIT) {
|
||||||
seq->idx = rdr->non_lexical_buf;
|
seq->idx = non_lexical_buf;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
seq->idx = gu_new_buf(PgfProductionIdxEntry, rdr->opool);
|
seq->idx = gu_new_buf(PgfProductionIdxEntry, pool);
|
||||||
} if (seq->idx == rdr->non_lexical_buf) {
|
} if (seq->idx == non_lexical_buf) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -992,7 +993,7 @@ pgf_read_production(PgfReader* rdr, PgfConcr* concr,
|
|||||||
papp->args = pgf_read_pargs(rdr, concr);
|
papp->args = pgf_read_pargs(rdr, concr);
|
||||||
gu_return_on_exn(rdr->err, );
|
gu_return_on_exn(rdr->err, );
|
||||||
|
|
||||||
is_lexical = pgf_production_is_lexical(rdr, papp);
|
is_lexical = pgf_production_is_lexical(papp, rdr->non_lexical_buf, rdr->opool);
|
||||||
if (!is_lexical)
|
if (!is_lexical)
|
||||||
gu_seq_set(ccat->prods, PgfProduction, (*top)++, prod);
|
gu_seq_set(ccat->prods, PgfProduction, (*top)++, prod);
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user