mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
fix the printing of ExprItem
This commit is contained in:
@@ -330,7 +330,7 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void print2(PgfPrinter *printer, State *state, PgfMarshaller *m)
|
virtual void print2(PgfPrinter *printer, State *state, int x, PgfMarshaller *m)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -434,11 +434,11 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void print2(PgfPrinter *printer, State *state, PgfMarshaller *m)
|
virtual void print2(PgfPrinter *printer, State *state, int x, PgfMarshaller *m)
|
||||||
{
|
{
|
||||||
#ifdef PARSER_DEBUG
|
#ifdef PARSER_DEBUG
|
||||||
size_t n_args = prod->lin->absfun->type->hypos->len;
|
size_t n_args = prod->lin->absfun->type->hypos->len;
|
||||||
for (size_t i = arg_index; i < n_args; i++) {
|
for (size_t i = arg_index+x; i < n_args; i++) {
|
||||||
if (prod->args[i])
|
if (prod->args[i])
|
||||||
printer->nprintf(10," ?%ld",prod->args[i]->id);
|
printer->nprintf(10," ?%ld",prod->args[i]->id);
|
||||||
else
|
else
|
||||||
@@ -447,7 +447,7 @@ public:
|
|||||||
if (n_args > 0)
|
if (n_args > 0)
|
||||||
printer->puts(")");
|
printer->puts(")");
|
||||||
|
|
||||||
parent->items[0]->print2(printer,state,m);
|
parent->items[0]->print2(printer,state,1,m);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -540,7 +540,7 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void print2(PgfPrinter *printer, State *state, PgfMarshaller *m)
|
virtual void print2(PgfPrinter *printer, State *state, int x, PgfMarshaller *m)
|
||||||
{
|
{
|
||||||
#ifdef PARSER_DEBUG
|
#ifdef PARSER_DEBUG
|
||||||
MetaItem *res = this;
|
MetaItem *res = this;
|
||||||
@@ -577,7 +577,7 @@ void PgfParser::Item::trace(State *state, PgfMarshaller *m)
|
|||||||
PgfPrinter printer(NULL,0,m);
|
PgfPrinter printer(NULL,0,m);
|
||||||
printer.puts("[");
|
printer.puts("[");
|
||||||
print1(&printer, state, m);
|
print1(&printer, state, m);
|
||||||
print2(&printer, state, m);
|
print2(&printer, state, 0, m);
|
||||||
printer.nprintf(40,"; %f+%f=%f]\n",inside_prob,outside_prob,inside_prob+outside_prob);
|
printer.nprintf(40,"; %f+%f=%f]\n",inside_prob,outside_prob,inside_prob+outside_prob);
|
||||||
printer.dump();
|
printer.dump();
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ private:
|
|||||||
virtual bool proceed(PgfParser *parser, PgfUnmarshaller *u) = 0;
|
virtual bool proceed(PgfParser *parser, PgfUnmarshaller *u) = 0;
|
||||||
virtual void combine(PgfParser *parser, ParseItemConts *conts, PgfExpr expr, prob_t inside_prob, PgfUnmarshaller *u) = 0;
|
virtual void combine(PgfParser *parser, ParseItemConts *conts, PgfExpr expr, prob_t inside_prob, PgfUnmarshaller *u) = 0;
|
||||||
virtual void print1(PgfPrinter *printer, State *state, PgfMarshaller *m) = 0;
|
virtual void print1(PgfPrinter *printer, State *state, PgfMarshaller *m) = 0;
|
||||||
virtual void print2(PgfPrinter *printer, State *state, PgfMarshaller *m) = 0;
|
virtual void print2(PgfPrinter *printer, State *state, int x, PgfMarshaller *m) = 0;
|
||||||
virtual PgfExpr get_expr(PgfUnmarshaller *u) = 0;
|
virtual PgfExpr get_expr(PgfUnmarshaller *u) = 0;
|
||||||
|
|
||||||
void trace(State *state, PgfMarshaller *m);
|
void trace(State *state, PgfMarshaller *m);
|
||||||
|
|||||||
Reference in New Issue
Block a user