mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 06:44:07 +10:00
Removed stubs for types as values
Also potentially fixed a bug in the previous commit, not certain
This commit is contained in:
@@ -16,7 +16,6 @@ const Toy_KeywordTypeTuple keywordTuples[] = {
|
||||
{TOY_TOKEN_NULL, "null"},
|
||||
|
||||
//types
|
||||
{TOY_TOKEN_TYPE_TYPE, "type"},
|
||||
{TOY_TOKEN_TYPE_BOOLEAN, "bool"},
|
||||
{TOY_TOKEN_TYPE_INTEGER, "int"},
|
||||
{TOY_TOKEN_TYPE_FLOAT, "float"},
|
||||
@@ -47,8 +46,6 @@ const Toy_KeywordTypeTuple keywordTuples[] = {
|
||||
{TOY_TOKEN_KEYWORD_PASS, "pass"},
|
||||
{TOY_TOKEN_KEYWORD_PRINT, "print"},
|
||||
{TOY_TOKEN_KEYWORD_RETURN, "return"},
|
||||
{TOY_TOKEN_KEYWORD_TYPEAS, "typeas"},
|
||||
{TOY_TOKEN_KEYWORD_TYPEOF, "typeof"},
|
||||
{TOY_TOKEN_KEYWORD_VAR, "var"},
|
||||
{TOY_TOKEN_KEYWORD_WHILE, "while"},
|
||||
{TOY_TOKEN_KEYWORD_YIELD, "yield"},
|
||||
|
||||
@@ -136,7 +136,6 @@ static ParsingTuple parsingRulesetTable[] = {
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_TYPE_TABLE,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_TYPE_FUNCTION,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_TYPE_OPAQUE,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_TYPE_TYPE,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_TYPE_ANY,
|
||||
|
||||
//keywords and reserved words
|
||||
@@ -159,8 +158,6 @@ static ParsingTuple parsingRulesetTable[] = {
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_KEYWORD_PASS,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_KEYWORD_PRINT,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_KEYWORD_RETURN,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_KEYWORD_TYPEAS,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_KEYWORD_TYPEOF,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_KEYWORD_VAR,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_KEYWORD_WHILE,
|
||||
{PREC_NONE,NULL,NULL},// TOY_TOKEN_KEYWORD_YIELD,
|
||||
@@ -254,9 +251,6 @@ static Toy_ValueType readType(Toy_Parser* parser) {
|
||||
case TOY_TOKEN_TYPE_OPAQUE:
|
||||
return TOY_VALUE_OPAQUE;
|
||||
|
||||
case TOY_TOKEN_TYPE_TYPE:
|
||||
return TOY_VALUE_TYPE;
|
||||
|
||||
case TOY_TOKEN_TYPE_ANY:
|
||||
return TOY_VALUE_ANY;
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ typedef enum Toy_TokenType {
|
||||
TOY_TOKEN_TYPE_TABLE,
|
||||
TOY_TOKEN_TYPE_FUNCTION,
|
||||
TOY_TOKEN_TYPE_OPAQUE,
|
||||
TOY_TOKEN_TYPE_TYPE,
|
||||
TOY_TOKEN_TYPE_ANY,
|
||||
|
||||
//keywords and reserved words
|
||||
@@ -40,8 +39,6 @@ typedef enum Toy_TokenType {
|
||||
TOY_TOKEN_KEYWORD_PASS,
|
||||
TOY_TOKEN_KEYWORD_PRINT,
|
||||
TOY_TOKEN_KEYWORD_RETURN,
|
||||
TOY_TOKEN_KEYWORD_TYPEAS,
|
||||
TOY_TOKEN_KEYWORD_TYPEOF,
|
||||
TOY_TOKEN_KEYWORD_VAR,
|
||||
TOY_TOKEN_KEYWORD_WHILE,
|
||||
TOY_TOKEN_KEYWORD_YIELD,
|
||||
|
||||
@@ -77,7 +77,6 @@ unsigned int Toy_hashValue(Toy_Value value) {
|
||||
|
||||
case TOY_VALUE_FUNCTION:
|
||||
case TOY_VALUE_OPAQUE:
|
||||
case TOY_VALUE_TYPE:
|
||||
case TOY_VALUE_ANY:
|
||||
case TOY_VALUE_REFERENCE:
|
||||
case TOY_VALUE_UNKNOWN:
|
||||
@@ -136,7 +135,6 @@ Toy_Value Toy_copyValue(Toy_Value value) {
|
||||
}
|
||||
case TOY_VALUE_FUNCTION:
|
||||
case TOY_VALUE_OPAQUE:
|
||||
case TOY_VALUE_TYPE:
|
||||
case TOY_VALUE_ANY:
|
||||
case TOY_VALUE_REFERENCE:
|
||||
case TOY_VALUE_UNKNOWN:
|
||||
@@ -175,7 +173,6 @@ void Toy_freeValue(Toy_Value value) {
|
||||
|
||||
case TOY_VALUE_FUNCTION:
|
||||
case TOY_VALUE_OPAQUE:
|
||||
case TOY_VALUE_TYPE:
|
||||
case TOY_VALUE_ANY:
|
||||
case TOY_VALUE_UNKNOWN:
|
||||
fprintf(stderr, TOY_CC_ERROR "ERROR: Can't free an unknown value type, exiting\n" TOY_CC_RESET);
|
||||
@@ -300,7 +297,6 @@ bool Toy_checkValuesAreEqual(Toy_Value left, Toy_Value right) {
|
||||
|
||||
case TOY_VALUE_FUNCTION:
|
||||
case TOY_VALUE_OPAQUE:
|
||||
case TOY_VALUE_TYPE:
|
||||
case TOY_VALUE_ANY:
|
||||
case TOY_VALUE_REFERENCE:
|
||||
case TOY_VALUE_UNKNOWN:
|
||||
@@ -340,7 +336,6 @@ bool Toy_checkValuesAreComparable(Toy_Value left, Toy_Value right) {
|
||||
|
||||
case TOY_VALUE_FUNCTION:
|
||||
case TOY_VALUE_OPAQUE:
|
||||
case TOY_VALUE_TYPE:
|
||||
case TOY_VALUE_ANY:
|
||||
case TOY_VALUE_REFERENCE:
|
||||
case TOY_VALUE_UNKNOWN:
|
||||
@@ -396,7 +391,6 @@ int Toy_compareValues(Toy_Value left, Toy_Value right) {
|
||||
|
||||
case TOY_VALUE_FUNCTION:
|
||||
case TOY_VALUE_OPAQUE:
|
||||
case TOY_VALUE_TYPE:
|
||||
case TOY_VALUE_ANY:
|
||||
case TOY_VALUE_REFERENCE:
|
||||
case TOY_VALUE_UNKNOWN:
|
||||
@@ -570,7 +564,6 @@ Toy_String* Toy_stringifyValue(Toy_Bucket** bucketHandle, Toy_Value value) {
|
||||
|
||||
case TOY_VALUE_FUNCTION:
|
||||
case TOY_VALUE_OPAQUE:
|
||||
case TOY_VALUE_TYPE:
|
||||
case TOY_VALUE_ANY:
|
||||
case TOY_VALUE_REFERENCE:
|
||||
case TOY_VALUE_UNKNOWN:
|
||||
@@ -592,7 +585,6 @@ const char* Toy_private_getValueTypeAsCString(Toy_ValueType type) {
|
||||
case TOY_VALUE_TABLE: return "table";
|
||||
case TOY_VALUE_FUNCTION: return "function";
|
||||
case TOY_VALUE_OPAQUE: return "opaque";
|
||||
case TOY_VALUE_TYPE: return "type";
|
||||
case TOY_VALUE_ANY: return "any";
|
||||
case TOY_VALUE_REFERENCE: return "reference";
|
||||
case TOY_VALUE_UNKNOWN: return "unknown";
|
||||
|
||||
@@ -19,7 +19,6 @@ typedef enum Toy_ValueType {
|
||||
TOY_VALUE_TABLE,
|
||||
TOY_VALUE_FUNCTION,
|
||||
TOY_VALUE_OPAQUE,
|
||||
TOY_VALUE_TYPE,
|
||||
TOY_VALUE_ANY,
|
||||
|
||||
TOY_VALUE_REFERENCE, //not a value itself, but pointing to one
|
||||
|
||||
@@ -164,11 +164,6 @@ static void processRead(Toy_VM* vm) {
|
||||
// break;
|
||||
}
|
||||
|
||||
case TOY_VALUE_TYPE: {
|
||||
//
|
||||
// break;
|
||||
}
|
||||
|
||||
case TOY_VALUE_ANY: {
|
||||
//
|
||||
// break;
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
//TODO: test keyword 'while', 'break', 'continue'
|
||||
|
||||
{
|
||||
//iteration
|
||||
var iteration = 0;
|
||||
while(iteration < 10) {
|
||||
print iteration;
|
||||
iteration += 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
//if and while work together
|
||||
var count = 1;
|
||||
while (count <= 10) {
|
||||
if (count % 2 == 0) {
|
||||
print "even";
|
||||
}
|
||||
else {
|
||||
print "odd";
|
||||
}
|
||||
count += 1;
|
||||
}
|
||||
}
|
||||
@@ -98,3 +98,27 @@ print "done";
|
||||
print "done";
|
||||
}
|
||||
|
||||
//-------------------------
|
||||
|
||||
{
|
||||
//iteration
|
||||
var iteration = 0;
|
||||
while(iteration < 10) {
|
||||
print iteration;
|
||||
iteration += 1;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
//if and while work together
|
||||
var count = 1;
|
||||
while (count <= 10) {
|
||||
if (count % 2 == 0) {
|
||||
print "even";
|
||||
}
|
||||
else {
|
||||
print "odd";
|
||||
}
|
||||
count += 1;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user