Esempio n. 1
0
void parse_Term_dash() {
  printf("Enter Term_dash\n");
  if (nextToken == T_MULTI) {
    nextToken = getToken();
    parse_Factor();
    /* ここで * の処理 */
    parse_Term_dash();
  } else if (nextToken == T_DIVIDE) {
    nextToken = getToken();
    parse_Factor();
    /* ここで / の処理 */
    parse_Term_dash();
  } else {
  }
}
Esempio n. 2
0
void parse_Term_dash() { /* T' → *FT'|ε */
  if (nextToken == T_MULTI) {
    nextToken = getToken();
    parse_Factor();
    /* T_MULTI のコード生成はじまり */
    printf("POP B\n");
    printf("POP A\n");
    printf("MULTI\n");
    printf("PUSH C\n");
    /* T_MULTI のコード生成おわり */
    parse_Term_dash();
  }
}
Esempio n. 3
0
void parse_Term() { /* T → FT' */
  parse_Factor();
  parse_Term_dash();
}
Esempio n. 4
0
void parse_Term() {
  printf("Enter Term\n");
  parse_Factor();
  parse_Term_dash();
}