int main(){ oprand op1, op2, op3; quad qd; op1 = create_oprand(OP_TYPE_INT, 1); op2 = create_oprand(OP_TYPE_NA, 1); op3 = create_oprand(OP_TYPE_DOUBLE, 1.5); qd = create_quad(FUNC_BODY, op1, op2, op3); insert_quad(qd); insert_quad(qd); insert_quad(qd); print_code(); return 0; }
void xml_end_element(void *user_data, const xmlChar *name) { xmlctxt *ctxt = (xmlctxt *) user_data; switch (ctxt->state) { case WANT_TRIX: fs_error(LOG_WARNING, "impossible document structure"); break; case WANT_GRAPH: if (strcmp((char *) name, "TriX")) { fs_error(LOG_WARNING, "expected </TriX> found </%s>", name); } else { ctxt->state = DONE_TRIX; } break; case WANT_TRIPLE: if (strcmp((char *) name, "graph")) { fs_error(LOG_WARNING, "expected </graph> found </%s>", name); } else { ctxt->state = WANT_GRAPH; } break; case WANT_MODEL_URI: if (strcmp((char *) name, "uri")) { fs_error(LOG_WARNING, "expected </uri> found </%s>", name); } else { ctxt->m = insert_uri(ctxt); ctxt->state = WANT_TRIPLE; } break; case WANT_SUBJECT: case WANT_PREDICATE: case WANT_OBJECT: fs_error(LOG_ERR, "missing part of triple"); ctxt->state = WANT_TRIPLE; break; case WANT_SUBJECT_BNODE: if (strcmp((char *) name, "id")) { fs_error(LOG_WARNING, "expected </id> found </%s>", name); } else { ctxt->s = insert_bnode(ctxt); ctxt->state = WANT_PREDICATE; } break; case WANT_SUBJECT_PLAIN_LITERAL: if (strcmp((char *) name, "plainLiteral")) { fs_error(LOG_WARNING, "expected </plainLiteral> found </%s>", name); } else { ctxt->s = insert_plain(ctxt); ctxt->state = WANT_PREDICATE; } break; case WANT_SUBJECT_TYPED_LITERAL: if (strcmp((char *) name, "typedLiteral")) { fs_error(LOG_WARNING, "expected </typedLiteral> found </%s>", name); } else { ctxt->s = insert_typed(ctxt); ctxt->state = WANT_PREDICATE; } break; case WANT_SUBJECT_URI: if (strcmp((char *) name, "uri")) { fs_error(LOG_WARNING, "expected </uri> found </%s>", name); } else { ctxt->s = insert_uri(ctxt); ctxt->state = WANT_PREDICATE; } break; case WANT_PREDICATE_URI: if (strcmp((char *) name, "uri")) { fs_error(LOG_WARNING, "expected </uri> found </%s>", name); } else { ctxt->p = insert_uri(ctxt); ctxt->state = WANT_OBJECT; } break; case WANT_OBJECT_BNODE: if (strcmp((char *) name, "id")) { fs_error(LOG_WARNING, "expected </id> found </%s>", name); } else { ctxt->o = insert_bnode(ctxt); ctxt->state = DONE_TRIPLE; } break; case WANT_OBJECT_PLAIN_LITERAL: if (strcmp((char *) name, "plainLiteral")) { fs_error(LOG_WARNING, "expected </plainLiteral> found </%s>", name); } else { ctxt->o = insert_plain(ctxt); ctxt->state = DONE_TRIPLE; } break; case WANT_OBJECT_TYPED_LITERAL: if (strcmp((char *) name, "typedLiteral")) { fs_error(LOG_WARNING, "expected </typedLiteral> found </%s>", name); } else { ctxt->o = insert_typed(ctxt); ctxt->state = DONE_TRIPLE; } break; case WANT_OBJECT_URI: if (strcmp((char *) name, "uri")) { fs_error(LOG_WARNING, "expected </uri> found </%s>", name); } else { ctxt->o = insert_uri(ctxt); ctxt->state = DONE_TRIPLE; } break; case DONE_TRIPLE: if (strcmp((char *) name, "triple")) { fs_error(LOG_WARNING, "expected </triple> found </%s>", name); } else { insert_quad(ctxt); ctxt->state = WANT_TRIPLE; } break; case WANT_MODEL: case DONE_TRIX: fs_error(LOG_WARNING, "impossible document structure"); break; } }