Update todo, some python codegen
This commit is contained in:
@@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# #
|
# #
|
||||||
|
|||||||
9
main.cpp
9
main.cpp
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user