示例#1
0
/* declarações:
 *
 * 	declscope -> {vari_def
 * 		     |constdef
 * 		     |procedef
 * 		     |functdef
 * 		     |type_def}
 */
void
declscope (void)
{
  while (1)
    {
      switch (lookahead)
	{
	case VAR: //variável
	  vari_def ();
	  break;
	case CONST://constante
	  constdef ();
	  break;
	case PROCEDURE://procedimentos
	  procedef ();
	  break;
	case FUNCTION://funções
	  functdef ();
	  break;
	case TYPE://tipos
	  type_def ();
	  break;
	default:
	  return;
	}
    }
}
示例#2
0
文件: parser.c 项目: shenchi/mycc
void constant(){
    while(1){
        constdef();
        if(sym->type!=SEMIC){
            msg(ERR, "missing \';\'", line);
			ERROR_STATUS = 1;
        }
        nextSym();
        if(sym->type!=CONST)
            break;
        nextSym();
    }
}