Пример #1
0
void compileTypeDecls(void) {
  // TODO
  assert("Parsing subtypes...");
  while (lookAhead->tokenType == TK_IDENT)
      compileTypeDecl();
  assert("Subtypes parsed!");
}
Пример #2
0
void compileBlock2(void) {
  if (lookAhead->tokenType == KW_TYPE) {
    eat(KW_TYPE);
    compileTypeDecl();
    compileTypeDecls();
    compileBlock3();
  }
  else compileBlock3();
}
Пример #3
0
void compileTypeDecls(void) {
  // TODO
  if(lookAhead->tokenType == TK_IDENT)
    {
      compileTypeDecl();
      compileTypeDecls();
    }
  //else 
  //error(ERR_INVALIDTYPEDECL, lookAhead->lineNo, lookAhead->colNo);
}
Пример #4
0
void compileTypeDecls(void) {
  // TODO
  switch (lookAhead->tokenType) {
  case TK_IDENT:
    compileTypeDecl();
    compileTypeDecls();
    break;
    // EmptySt needs to check FOLLOW tokens
  case KW_VAR:
  case KW_BEGIN:
  case KW_FUNCTION:
  case KW_PROCEDURE:
    break;
    // Error occurs
  default:
    error(ERR_INVALIDTYPEDECL, lookAhead->lineNo, lookAhead->colNo);
    break;
}
}
Пример #5
0
void compileTypeDecls(void) {
  while(lookAhead->tokenType == TK_IDENT)
    compileTypeDecl();
}