Update todo, some python codegen

This commit is contained in:
Krzosa Karol
2022-06-24 10:07:37 +02:00
parent 25fffae7e0
commit 37750908aa
2 changed files with 24 additions and 7 deletions

View File

@@ -57,7 +57,7 @@ def update_file(filename, comment_name, data_to_write):
if True: if False:
result = "" result = ""
enum_members = [ enum_members = [
"BC_END_OF_INSTRUCTIONS", "BC_END_OF_INSTRUCTIONS",
@@ -96,7 +96,7 @@ if True:
# #
# Generate switch cases # Generate switch cases
# #
if True: if False:
result = "" result = ""
for size in sizes: for size in sizes:
@@ -152,6 +152,24 @@ if True:
update_file("bytecode_interpreter.cpp", "switch_cases", result) update_file("bytecode_interpreter.cpp", "switch_cases", result)
type_table = [
["S", ["Int", "SInt", "4sizes"]],
["U", ["Int", "UInt", "4sizes"]],
["INT", ["Int", "untyped"]],
]
for name, flags in type_table:
names = []
if "4sizes" in flags:
for size in sizes:
names.append(name + size)
if "untyped" in flags:
names.append("UNTYPED_" + name)
print(names)
# # # #

View File

@@ -41,11 +41,8 @@ want to export all the symbols, we can namespace them optionally.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
@todo @todo
[ ] - Add token information to instructions [ ] - Split Bc into builder and interpreter
[ ] - print those token lines nicely
[ ] - Implement functions [ ] - Implement functions
[ ] - Improve the python metaprogram
[ ] - Probably need to give Ast_Expr a Value field, then I can express Type nicely [ ] - Probably need to give Ast_Expr a Value field, then I can express Type nicely
[ ] - I would love for String, slice, Any etc. to have their struct declarations in source files, I also would want for stuff like string.str to work without weird special cases [ ] - I would love for String, slice, Any etc. to have their struct declarations in source files, I also would want for stuff like string.str to work without weird special cases
@@ -87,6 +84,9 @@ want to export all the symbols, we can namespace them optionally.
[ ] - Polymorphism - create declaration of a polymorphic thing, when it's called just copy it, replace types and typecheck normally, when someone calls again you just search for the instantiation again [ ] - Polymorphism - create declaration of a polymorphic thing, when it's called just copy it, replace types and typecheck normally, when someone calls again you just search for the instantiation again
@donzo @donzo
[x] - Add token information to instructions
[x] - print those token lines nicely
[x] - Improve the python metaprogram
[x] - Implementing type Any [x] - Implementing type Any
[x] - Runtime TypeInfo [x] - Runtime TypeInfo
[x] - Proper type Type support [x] - Proper type Type support
@@ -173,7 +173,6 @@ want to export all the symbols, we can namespace them optionally.
#include "bytecode_codegen.cpp" #include "bytecode_codegen.cpp"
int main(int argument_count, char **arguments){ int main(int argument_count, char **arguments){
#if OS_WINDOWS #if OS_WINDOWS
// Set output mode to handle virtual terminal sequences // Set output mode to handle virtual terminal sequences
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);