Capitalized type names

This commit is contained in:
2026-04-24 12:46:27 +10:00
parent 4aec343b6c
commit 21819b2d62
10 changed files with 71 additions and 40 deletions
+1 -1
View File
@@ -301,7 +301,7 @@ static void debugScopePrint(Toy_Scope* scope, int depth) {
Toy_String k = scope->data[i].key; Toy_String k = scope->data[i].key;
Toy_Value v = scope->data[i].value; Toy_Value v = scope->data[i].value;
printf("%-20s%-20s", Toy_private_getValueTypeAsCString(v.type), k.leaf.data); printf("%-10s%-10s%-20s", Toy_private_getValueTypeAsCString(scope->data[i].type), scope->data[i].constant ? "const" : "", k.leaf.data);
//print value //print value
Toy_String* string = Toy_stringifyValue(&stringBucket, Toy_unwrapValue(v)); Toy_String* string = Toy_stringifyValue(&stringBucket, Toy_unwrapValue(v));
+2
View File
@@ -1093,6 +1093,8 @@ static unsigned int writeInstructionAttribute(Toy_Bytecode** mb, Toy_AstAttribut
EMIT_BYTE(mb, code, 0); EMIT_BYTE(mb, code, 0);
EMIT_BYTE(mb, code, 0); EMIT_BYTE(mb, code, 0);
(void)result;
return 1; return 1;
} }
+9 -9
View File
@@ -16,15 +16,15 @@ const Toy_KeywordTypeTuple keywordTuples[] = {
{TOY_TOKEN_NULL, "null"}, {TOY_TOKEN_NULL, "null"},
//types //types
{TOY_TOKEN_TYPE_BOOLEAN, "bool"}, {TOY_TOKEN_TYPE_BOOLEAN, "Bool"},
{TOY_TOKEN_TYPE_INTEGER, "int"}, {TOY_TOKEN_TYPE_INTEGER, "Int"},
{TOY_TOKEN_TYPE_FLOAT, "float"}, {TOY_TOKEN_TYPE_FLOAT, "Float"},
{TOY_TOKEN_TYPE_STRING, "string"}, {TOY_TOKEN_TYPE_STRING, "String"},
{TOY_TOKEN_TYPE_ARRAY, "array"}, {TOY_TOKEN_TYPE_ARRAY, "Array"},
{TOY_TOKEN_TYPE_TABLE, "table"}, {TOY_TOKEN_TYPE_TABLE, "Table"},
{TOY_TOKEN_TYPE_FUNCTION, "function"}, {TOY_TOKEN_TYPE_FUNCTION, "Function"},
{TOY_TOKEN_TYPE_OPAQUE, "opaque"}, {TOY_TOKEN_TYPE_OPAQUE, "Opaque"},
{TOY_TOKEN_TYPE_ANY, "any"}, {TOY_TOKEN_TYPE_ANY, "Any"},
//keywords and reserved words //keywords and reserved words
{TOY_TOKEN_KEYWORD_AS, "as"}, {TOY_TOKEN_KEYWORD_AS, "as"},
+12 -12
View File
@@ -653,18 +653,18 @@ Toy_String* Toy_stringifyValue(Toy_Bucket** bucketHandle, Toy_Value value) {
const char* Toy_private_getValueTypeAsCString(Toy_ValueType type) { const char* Toy_private_getValueTypeAsCString(Toy_ValueType type) {
switch (type) { switch (type) {
case TOY_VALUE_NULL: return "null"; case TOY_VALUE_NULL: return "Null";
case TOY_VALUE_BOOLEAN: return "bool"; case TOY_VALUE_BOOLEAN: return "Bool";
case TOY_VALUE_INTEGER: return "int"; case TOY_VALUE_INTEGER: return "Int";
case TOY_VALUE_FLOAT: return "float"; case TOY_VALUE_FLOAT: return "Float";
case TOY_VALUE_STRING: return "string"; case TOY_VALUE_STRING: return "String";
case TOY_VALUE_ARRAY: return "array"; case TOY_VALUE_ARRAY: return "Array";
case TOY_VALUE_TABLE: return "table"; case TOY_VALUE_TABLE: return "Table";
case TOY_VALUE_FUNCTION: return "function"; case TOY_VALUE_FUNCTION: return "Function";
case TOY_VALUE_OPAQUE: return "opaque"; case TOY_VALUE_OPAQUE: return "Opaque";
case TOY_VALUE_ANY: return "any"; case TOY_VALUE_ANY: return "Any";
case TOY_VALUE_REFERENCE: return "reference"; case TOY_VALUE_REFERENCE: return "Reference";
case TOY_VALUE_UNKNOWN: return "unknown"; case TOY_VALUE_UNKNOWN: return "Unknown";
} }
return NULL; return NULL;
@@ -0,0 +1,29 @@
//typenames are now capitalized, so ensure they don't overlap with variable names
var bool: Bool = true;
print bool;
var int: Int = 42;
print int;
var float: Float = 3.1415;
print float;
var string: String = "Hello world";
print string;
var array: Array = [1,2,3];
print array;
var table: Table = ["alpha":1];
print table;
var function: Function;
print function;
var opaque: Opaque;
print opaque;
var any: Any;
print any;
+1 -1
View File
@@ -1,6 +1,6 @@
//closures //closures
fn makeCounter() { fn makeCounter() {
var counter: int = 0; var counter: Int = 0;
fn increment() { fn increment() {
return ++counter; return ++counter;
@@ -9,7 +9,7 @@ while (true) {
} }
//test continue //test continue
var flag1: bool = true; var flag1: Bool = true;
while (flag1) { while (flag1) {
flag1 = false; flag1 = false;
continue; continue;
@@ -25,7 +25,7 @@ while (true) {
} }
//test continue //test continue
var flag2: bool = true; var flag2: Bool = true;
while (flag2) { while (flag2) {
flag2 = false; flag2 = false;
continue; continue;
@@ -41,7 +41,7 @@ while (true) {
} }
//test continue //test continue
var flag3: bool = true; var flag3: Bool = true;
while (flag3) { while (flag3) {
flag3 = false; flag3 = false;
continue; continue;
@@ -58,7 +58,7 @@ while (flag3) {
} }
//test continue //test continue
var flag4: bool = true; var flag4: Bool = true;
while (flag4) { while (flag4) {
flag4 = false; flag4 = false;
continue; continue;
@@ -78,7 +78,7 @@ while (flag3) {
} }
//test continue //test continue
var flag5: bool = true; var flag5: Bool = true;
while (flag5) { while (flag5) {
flag5 = false; flag5 = false;
{ {
+7 -7
View File
@@ -1,6 +1,6 @@
//booleans //booleans
{ {
var value: bool = true; var value: Bool = true;
if (value) { if (value) {
print "boolean"; print "boolean";
@@ -11,7 +11,7 @@
} }
{ {
var value: bool = false; var value: Bool = false;
if (value) { if (value) {
assert false, "boolean"; assert false, "boolean";
@@ -23,7 +23,7 @@
//integers //integers
{ {
var value: int = 42; var value: Int = 42;
if (value) { if (value) {
print "integer"; print "integer";
@@ -34,7 +34,7 @@
} }
{ {
var value: int = 0; var value: Int = 0;
if (value) { if (value) {
assert false, "integer"; assert false, "integer";
@@ -46,7 +46,7 @@
//floats //floats
{ {
var value: float = 42.8891; var value: Float = 42.8891;
if (value) { if (value) {
print "float"; print "float";
@@ -57,7 +57,7 @@
} }
{ {
var value: float = 0; var value: Float = 0;
if (value) { if (value) {
assert false, "float"; assert false, "float";
@@ -69,7 +69,7 @@
//everything else //everything else
{ {
var value: string = "foobar"; var value: String = "foobar";
if (value) { if (value) {
print "string"; print "string";
+3 -3
View File
@@ -113,8 +113,8 @@ print !false; //true
//types //types
{ {
var a: int; var a: Int;
var b: int = 42; var b: Int = 42;
a = 69; a = 69;
b = 8891; b = 8891;
@@ -125,7 +125,7 @@ print !false; //true
//constants //constants
{ {
var c: int const = 42; var c: Int const = 42;
print c; print c;
} }
+2 -2
View File
@@ -1252,7 +1252,7 @@ int test_compiler_keywords(Toy_Bucket** bucketHandle) {
//var declare (with type) //var declare (with type)
{ {
//setup //setup
const char* source = "var foobar: int = 42;"; const char* source = "var foobar: Int = 42;";
Toy_Lexer lexer; Toy_Lexer lexer;
Toy_Parser parser; Toy_Parser parser;
@@ -1363,7 +1363,7 @@ int test_compiler_string_reuse(Toy_Bucket** bucketHandle) {
//test string literals //test string literals
{ {
//setup //setup
const char* source = "var first: string = \"Hello world\"; var second: string = \"Hello world\";"; const char* source = "var first: String = \"Hello world\"; var second: String = \"Hello world\";";
Toy_Lexer lexer; Toy_Lexer lexer;
Toy_Parser parser; Toy_Parser parser;