static PT_Tree get_anno(PT_Tree term, PT_Tree key) { PT_Tree anno = PT_TreeFromTerm(PT_getTreeAnnotation(term, (ATerm) key)); if (anno == NULL) { /* TODO: fix this type incorrect solution! */ return noAnno(); } return anno; }
static PT_Tree addEqsSyntaxFunction(const char *name, PT_ParseTree parseTree) { SDF_ModuleName sdfModuleName = SDF_makeModuleName(name); PT_Tree ptModuleName = PT_TreeFromTerm(SDF_ModuleNameToTerm(sdfModuleName)); PT_Tree newTree = NULL; if (PT_isValidParseTree(parseTree)) { PT_Tree ptSyntax = PT_getParseTreeTree(parseTree); newTree = PT_applyFunctionToTree("add-equation-module", "SDF", 2, ptModuleName, ptSyntax); } else { ATerror("add_eqs_syntax: not a proper parse tree: %t\n", (ATerm) parseTree); return (PT_Tree) NULL; } return newTree; }