Quick throw

This commit is contained in:
Scarlett
2025-04-25 22:41:58 -04:00
parent 3ea41f40fa
commit 74dc4f568f

View File

@ -445,6 +445,7 @@ declaration:
printdebug("ID/TYPE: %s, ID: %s", getName((TableNode*)$1), $3) ; printdebug("ID/TYPE: %s, ID: %s", getName((TableNode*)$1), $3) ;
int d = getAdInfoType((TableNode*)$1); int d = getAdInfoType((TableNode*)$1);
if(d == TYPE_UNDEFINED) { if(d == TYPE_UNDEFINED) {
throw_error(ERROR_TYPE, "Undefined type passed in declaration list");
printdebug("Undefined type passed in declaration list"); printdebug("Undefined type passed in declaration list");
CreateEntry(cur,d,(TableNode*)$1,$3,getAdInfo((TableNode*)$1)); CreateEntry(cur,d,(TableNode*)$1,$3,getAdInfo((TableNode*)$1));
} }
@ -468,7 +469,7 @@ declaration:
d = TYPE_PRIMITIVE; d = TYPE_PRIMITIVE;
CreateEntry(cur,d,(TableNode*)$1,$3,getAdInfo((TableNode*)$1)); CreateEntry(cur,d,(TableNode*)$1,$3,getAdInfo((TableNode*)$1));
}else { }else {
printdebug("Invalid type passed in declaration list."); throw_error(ERROR_TYPE, "%s is being defined with an undefined type", $3);
CreateEntry(cur,d,(TableNode*)$1,$3,getAdInfo((TableNode*)$1)); CreateEntry(cur,d,(TableNode*)$1,$3,getAdInfo((TableNode*)$1));
} }
} }
@ -841,6 +842,9 @@ assignable:
ID ID
{ {
TableNode* pass = look_up(cur,$1); TableNode* pass = look_up(cur,$1);
if(pass == undefined){
throw_error(ERROR_TYPE, "Undefined variable %s", $1);
}
$$ = pass; $$ = pass;
printdebug("[ASSIGNABLE - RULE 1] assignable = type: %s | ID = %s", getType(pass), getName(pass)); printdebug("[ASSIGNABLE - RULE 1] assignable = type: %s | ID = %s", getType(pass), getName(pass));
} }