コード例 #1
0
void compileCallSt(void) {
  eat(KW_CALL);
  eat(TK_IDENT);
  // TODO: check if the identifier is a declared procedure
  checkDeclaredProcedure(currentToken->string);
  compileArguments();
}
コード例 #2
0
ファイル: parser.c プロジェクト: BichVN/Compiler
void compileCallSt(void) {
  Object* proc;

  eat(KW_CALL);
  eat(TK_IDENT);

  proc = checkDeclaredProcedure(currentToken->string);
  compileArguments(proc->procAttrs->paramList);
}
コード例 #3
0
ファイル: parser.c プロジェクト: AnhTran1/kpl-compiler
void compileCallSt(void) {
  eat(KW_CALL);
  eat(TK_IDENT);
  // check if the identifier is a declared procedure
  Object *obj = checkDeclaredProcedure(currentToken->string);
  if (obj == NULL)
      error(ERR_UNDECLARED_PROCEDURE, currentToken->lineNo, currentToken->colNo);

  compileArguments();
}
コード例 #4
0
ファイル: parser.c プロジェクト: kiendt07/ctd
void compileCallSt(void) {
  // TODO: generate call-statement
  Object* proc;

  eat(KW_CALL);
  eat(TK_IDENT);

  proc = checkDeclaredProcedure(currentToken->string);

  
  if (isPredefinedProcedure(proc)) {
    compileArguments(proc->procAttrs->paramList);
    genPredefinedProcedureCall(proc);
  } else {
    compileArguments(proc->procAttrs->paramList);
  }
}
コード例 #5
0
ファイル: parser.c プロジェクト: leaderwing/test_repo
void compileCallSt(void) {
  // Generate code for call-statement
  // TEMPORARY. halt
  Object* proc;

  eat(KW_CALL);
  eat(TK_IDENT);

  proc = checkDeclaredProcedure(currentToken->string);

  if (isPredefinedProcedure(proc)) {
    compileArguments(proc->procAttrs->paramList);
    genPredefinedProcedureCall(proc);
  } else {
    compileArguments(proc->procAttrs->paramList);
    genHL();//codegen
  }
}