小编Ind*_*ter的帖子

这种算法是哪种递归解析?自下而上还是自上而下?

我找到并使用了一种算法来解决我遇到的问题.目前的问题是,我不确定这是自下而上还是自上而下.

我有以下语法:

query   ::= andterm 
        | andterm "ANDNOT" query
andterm ::= orterm
        | orterm "AND" andterm
orterm  ::= term
        | term "OR" orterm
term    ::= "(" query ")" 
        | <word>
Run Code Online (Sandbox Code Playgroud)

因此,我有以下代码:

struct index {
   hashmap *map;
   char *qword;
}

void querynext(iter, index) {
  if (list_hasnext(iter)) {
    index->qword = list_next(iter);
  }
  else index->qword = "";
 }

set_t *parsequery(index, iter) {
   set_t *andterm;
   andterm = parseand(index, iter);

   if(strcmp(index->qword, "ANDNOT") == 0) {
     qnext(iter, index);
     return set_different(andterm, parsequery(index, iter)):
   }
   else return andterm; …
Run Code Online (Sandbox Code Playgroud)

c algorithm parsing

6
推荐指数
1
解决办法
158
查看次数

标签 统计

algorithm ×1

c ×1

parsing ×1