summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf/reader.c
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-09-17 12:45:00 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-09-17 12:45:00 +0000
commit2a49e4e1d64ef2df0bb2a8a3822f7fa1048e687f (patch)
treea4584c3831aac1a692c8be37c0c6747480874c00 /src/runtime/c/pgf/reader.c
parentf5461eb3d4eb2605b546a4ed202c12bcdaa1f4e4 (diff)
a major refactoring in the C runtime. GuList is now removed and replaced with GuSeq. The GuSeq/GuBuf API is simplified
Diffstat (limited to 'src/runtime/c/pgf/reader.c')
-rw-r--r--src/runtime/c/pgf/reader.c72
1 files changed, 36 insertions, 36 deletions
diff --git a/src/runtime/c/pgf/reader.c b/src/runtime/c/pgf/reader.c
index 00e5061da..0eb72386a 100644
--- a/src/runtime/c/pgf/reader.c
+++ b/src/runtime/c/pgf/reader.c
@@ -286,7 +286,7 @@ pgf_read_type_(PgfReader* rdr)
{
size_t n_hypos = pgf_read_len(rdr);
gu_return_on_exn(rdr->err, NULL);
- GuSeq hypos = gu_new_seq(PgfHypo, n_hypos, rdr->opool);
+ GuSeq* hypos = gu_new_seq(PgfHypo, n_hypos, rdr->opool);
for (size_t i = 0; i < n_hypos; i++) {
PgfHypo* hypo = gu_seq_index(hypos, PgfHypo, i);
pgf_read_hypo(rdr, hypo);
@@ -415,7 +415,7 @@ pgf_read_absfun(PgfReader* rdr)
gu_return_on_exn(rdr->err, NULL);
switch (tag) {
case 0:
- absfun->defns = gu_null_seq;
+ absfun->defns = NULL;
break;
case 1: {
GuLength length = pgf_read_len(rdr);
@@ -586,16 +586,16 @@ pgf_read_printnames(PgfReader* rdr)
return printnames;
}
-static PgfTokens
+static PgfTokens*
pgf_read_tokens(PgfReader* rdr)
{
size_t len = pgf_read_len(rdr);
- gu_return_on_exn(rdr->err, gu_null_seq);
+ gu_return_on_exn(rdr->err, NULL);
- PgfTokens tokens = gu_new_seq(PgfToken, len, rdr->opool);
+ PgfTokens* tokens = gu_new_seq(PgfToken, len, rdr->opool);
for (size_t i = 0; i < len; i++) {
PgfToken token = pgf_read_string(rdr);
- gu_return_on_exn(rdr->err, gu_null_seq);
+ gu_return_on_exn(rdr->err, NULL);
gu_seq_set(tokens, PgfToken, i, token);
}
@@ -612,12 +612,12 @@ pgf_read_alternative(PgfReader* rdr, PgfAlternative* alt)
size_t n_prefixes = pgf_read_len(rdr);
gu_return_on_exn(rdr->err,);
- alt->prefixes = gu_new_list(GuStringL, rdr->opool, n_prefixes);
+ alt->prefixes = gu_new_seq(GuString, n_prefixes, rdr->opool);
for (size_t i = 0; i < n_prefixes; i++) {
GuString prefix = pgf_read_string(rdr);
gu_return_on_exn(rdr->err,);
- gu_list_index(alt->prefixes, i) = prefix;
+ gu_seq_set(alt->prefixes, GuString, i, prefix);
}
}
@@ -677,7 +677,7 @@ pgf_read_symbol(PgfReader* rdr)
break;
}
case PGF_SYMBOL_KP: {
- PgfTokens default_form = pgf_read_tokens(rdr);
+ PgfTokens* default_form = pgf_read_tokens(rdr);
gu_return_on_exn(rdr->err, gu_null_variant);
size_t n_forms = pgf_read_len(rdr);
@@ -710,17 +710,17 @@ pgf_read_symbol(PgfReader* rdr)
return sym;
}
-static PgfSequence
+static PgfSequence*
pgf_read_sequence(PgfReader* rdr)
{
size_t len = pgf_read_len(rdr);
- gu_return_on_exn(rdr->err, gu_null_seq);
+ gu_return_on_exn(rdr->err, NULL);
- PgfSequence seq = gu_new_seq(PgfSymbol, len, rdr->opool);
+ PgfSequence* seq = gu_new_seq(PgfSymbol, len, rdr->opool);
for (size_t i = 0; i < len; i++) {
PgfSymbol sym = pgf_read_symbol(rdr);
- gu_return_on_exn(rdr->err, gu_null_seq);
+ gu_return_on_exn(rdr->err, NULL);
gu_seq_set(seq, PgfSymbol, i, sym);
}
@@ -733,12 +733,12 @@ pgf_read_sequences(PgfReader* rdr)
size_t len = pgf_read_len(rdr);
gu_return_on_exn(rdr->err, NULL);
- PgfSequences* seqs = gu_new_list(PgfSequences, rdr->opool, len);
+ PgfSequences* seqs = gu_new_seq(PgfSequence*, len, rdr->opool);
for (size_t i = 0; i < len; i++) {
- PgfSequence seq = pgf_read_sequence(rdr);
+ PgfSequence* seq = pgf_read_sequence(rdr);
gu_return_on_exn(rdr->err, NULL);
- gu_list_index(seqs, i) = seq;
+ gu_seq_set(seqs, PgfSequence*, i, seq);
}
return seqs;
@@ -763,15 +763,15 @@ pgf_read_cncfun(PgfReader* rdr, PgfAbstr* abstr, PgfConcr* concr, int funid)
cncfun->n_lins = len;
for (size_t i = 0; i < len; i++) {
- int seqid = pgf_read_int(rdr);
+ size_t seqid = pgf_read_int(rdr);
gu_return_on_exn(rdr->err, NULL);
- if (seqid < 0 || seqid >= gu_list_length(concr->sequences)) {
+ if (seqid >= gu_seq_length(concr->sequences)) {
gu_raise(rdr->err, PgfReadExn);
return NULL;
}
- cncfun->lins[i] = gu_list_elems(concr->sequences)[seqid];
+ cncfun->lins[i] = gu_seq_get(concr->sequences, PgfSequence*, seqid);
}
return cncfun;
@@ -783,13 +783,13 @@ pgf_read_cncfuns(PgfReader* rdr, PgfAbstr* abstr, PgfConcr* concr)
size_t len = pgf_read_len(rdr);
gu_return_on_exn(rdr->err, NULL);
- PgfCncFuns* cncfuns = gu_new_list(PgfCncFuns, rdr->opool, len);
+ PgfCncFuns* cncfuns = gu_new_seq(PgfCncFun*, len, rdr->opool);
for (size_t funid = 0; funid < len; funid++) {
PgfCncFun* cncfun = pgf_read_cncfun(rdr, abstr, concr, funid);
gu_return_on_exn(rdr->err, NULL);
- gu_list_index(cncfuns, funid) = cncfun;
+ gu_seq_set(cncfuns, PgfCncFun*, funid, cncfun);
}
return cncfuns;
@@ -807,7 +807,7 @@ pgf_read_fid(PgfReader* rdr, PgfConcr* concr)
ccat->cnccat = NULL;
ccat->lindefs = NULL;
ccat->n_synprods = 0;
- ccat->prods = gu_null_seq;
+ ccat->prods = NULL;
ccat->viterbi_prob = 0;
ccat->fid = fid;
ccat->conts = NULL;
@@ -822,15 +822,15 @@ pgf_read_fid(PgfReader* rdr, PgfConcr* concr)
static PgfCncFun*
pgf_read_funid(PgfReader* rdr, PgfConcr* concr)
{
- int32_t funid = pgf_read_int(rdr);
+ size_t funid = pgf_read_int(rdr);
gu_return_on_exn(rdr->err, NULL);
- if (funid < 0 || funid >= gu_list_length(concr->cncfuns)) {
+ if (funid >= gu_seq_length(concr->cncfuns)) {
gu_raise(rdr->err, PgfReadExn);
return NULL;
}
- return gu_list_elems(concr->cncfuns)[funid];
+ return gu_seq_get(concr->cncfuns, PgfCncFun*, funid);
}
static void
@@ -845,10 +845,10 @@ pgf_read_lindefs(PgfReader* rdr, PgfConcr* concr)
size_t n_funs = pgf_read_len(rdr);
gu_return_on_exn(rdr->err, );
- ccat->lindefs = gu_new_list(PgfCncFuns, rdr->opool, n_funs);
+ ccat->lindefs = gu_new_seq(PgfCncFun*, n_funs, rdr->opool);
for (size_t j = 0; j < n_funs; j++) {
PgfCncFun* fun = pgf_read_funid(rdr, concr);
- gu_list_index(ccat->lindefs, j) = fun;
+ gu_seq_set(ccat->lindefs, PgfCncFun*, j, fun);
}
}
}
@@ -859,9 +859,9 @@ pgf_read_parg(PgfReader* rdr, PgfConcr* concr, PgfPArg* parg)
size_t n_hoas = pgf_read_len(rdr);
gu_return_on_exn(rdr->err, );
- parg->hypos = gu_new_list(PgfCCats, rdr->opool, n_hoas);
+ parg->hypos = gu_new_seq(PgfCCat*, n_hoas, rdr->opool);
for (size_t i = 0; i < n_hoas; i++) {
- gu_list_index(parg->hypos, i) = pgf_read_fid(rdr, concr);
+ gu_seq_set(parg->hypos, PgfCCat*, i, pgf_read_fid(rdr, concr));
gu_return_on_exn(rdr->err, );
}
@@ -869,13 +869,13 @@ pgf_read_parg(PgfReader* rdr, PgfConcr* concr, PgfPArg* parg)
gu_return_on_exn(rdr->err, );
}
-static PgfPArgs
+static PgfPArgs*
pgf_read_pargs(PgfReader* rdr, PgfConcr* concr)
{
size_t len = pgf_read_len(rdr);
- gu_return_on_exn(rdr->err, gu_null_seq);
+ gu_return_on_exn(rdr->err, NULL);
- PgfPArgs pargs = gu_new_seq(PgfPArg, len, rdr->opool);
+ PgfPArgs* pargs = gu_new_seq(PgfPArg, len, rdr->opool);
for (size_t i = 0; i < len; i++) {
PgfPArg* parg = gu_seq_index(pargs, PgfPArg, i);
pgf_read_parg(rdr, concr, parg);
@@ -967,7 +967,7 @@ pgf_read_cnccat(PgfReader* rdr, PgfAbstr* abstr, PgfConcr* concr, PgfCId name)
gu_assert(cnccat->abscat != NULL);
int len = last + 1 - first;
- cnccat->cats = gu_new_list(PgfCCats, rdr->opool, len);
+ cnccat->cats = gu_new_seq(PgfCCat*, len, rdr->opool);
for (int i = 0; i < len; i++) {
int fid = first + i;
@@ -977,7 +977,7 @@ pgf_read_cnccat(PgfReader* rdr, PgfAbstr* abstr, PgfConcr* concr, PgfCId name)
ccat->cnccat = NULL;
ccat->lindefs = NULL;
ccat->n_synprods = 0;
- ccat->prods = gu_null_seq;
+ ccat->prods = NULL;
ccat->viterbi_prob = 0;
ccat->fid = fid;
ccat->conts = NULL;
@@ -985,7 +985,7 @@ pgf_read_cnccat(PgfReader* rdr, PgfAbstr* abstr, PgfConcr* concr, PgfCId name)
gu_map_put(concr->ccats, &fid, PgfCCat*, ccat);
}
- gu_list_index(cnccat->cats, i) = ccat;
+ gu_seq_set(cnccat->cats, PgfCCat*, i, ccat);
ccat->cnccat = cnccat;
}
@@ -1079,7 +1079,7 @@ pgf_read_ccat_cb(GuMapItor* fn, const void* key, void* value, GuExn* err)
PgfConcr *concr = clo->concr;
GuPool *pool = clo->pool;
- if (gu_seq_is_null(ccat->prods))
+ if (ccat->prods == NULL)
return;
size_t n_prods = gu_seq_length(ccat->prods);