cleanup
This commit is contained in:
@@ -10,7 +10,7 @@ taskkill /F /IM %exeName% > NUL 2> NUL
|
||||
|
||||
echo ---------- Compiling ----------
|
||||
rem call ..\timecmd cl ../src/main.cpp /std:c++latest /Fe%exeName% /W3 /Zi /nologo /EHsc /link /NODEFAULTLIB:libucrt libucrtd.lib
|
||||
call ..\timecmd clang++ ../src/main.cpp -o %exeName% -O3 -std=c++17
|
||||
call ..\timecmd clang-cl ../src/main.cpp -o %exeName% /O2 /std:c++latest /W3 /Zi /EHsc
|
||||
|
||||
popd
|
||||
if %errorlevel% == 0 (
|
||||
|
||||
+3
-16
@@ -86,8 +86,8 @@ proc built_in_import(String* file_name, Environment* env) -> Lisp_Object* {
|
||||
}
|
||||
|
||||
proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
int arguments_length;
|
||||
Lisp_Object* evaluated_arguments;
|
||||
int arguments_length = 0;
|
||||
Lisp_Object* evaluated_arguments = nullptr;
|
||||
String* file_name_built_ins = Memory::create_string(__FILE__);
|
||||
|
||||
#define cLambda [=](Lisp_Object* arguments, Environment* env) mutable -> Lisp_Object*
|
||||
@@ -156,7 +156,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
"Takes 0 or more arguments and returns =t= if all arguments are equal "
|
||||
"and =()= otherwise.",
|
||||
__LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
|
||||
if (arguments == Memory::nil)
|
||||
@@ -173,7 +172,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::t;
|
||||
});
|
||||
defun(">", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
|
||||
double last_number = strtod("Inf", NULL);
|
||||
@@ -191,7 +189,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::t;
|
||||
});
|
||||
defun(">=", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
|
||||
double last_number = strtod("Inf", NULL);
|
||||
@@ -209,7 +206,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::t;
|
||||
});
|
||||
defun("<", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try {
|
||||
arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
}
|
||||
@@ -229,7 +225,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::t;
|
||||
});
|
||||
defun("<=", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
|
||||
double last_number = strtod("-Inf", NULL);
|
||||
@@ -247,7 +242,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::t;
|
||||
});
|
||||
defun("+", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
|
||||
double sum = 0;
|
||||
@@ -260,7 +254,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::create_lisp_object_number(sum);
|
||||
});
|
||||
defun("-", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
|
||||
if (arguments_length == 0)
|
||||
@@ -283,7 +276,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::create_lisp_object_number(difference);
|
||||
});
|
||||
defun("*", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
|
||||
if (arguments_length == 0) {
|
||||
@@ -304,7 +296,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::create_lisp_object_number(product);
|
||||
});
|
||||
defun("/", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
|
||||
if (arguments_length == 0) {
|
||||
@@ -325,7 +316,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::create_lisp_object_number(quotient);
|
||||
});
|
||||
defun("**", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
try assert_arguments_length(2, arguments_length);
|
||||
try assert_type(arguments->value.pair.first, Lisp_Object_Type::Number);
|
||||
@@ -341,7 +331,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::create_lisp_object_number(pow(base, exponent));
|
||||
});
|
||||
defun("%", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
try assert_arguments_length(2, arguments_length);
|
||||
try assert_type(arguments->value.pair.first, Lisp_Object_Type::Number);
|
||||
@@ -357,7 +346,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
return Memory::create_lisp_object_number((int)a % (int)b);
|
||||
});
|
||||
defun("assert", "TODO", __LINE__, cLambda {
|
||||
int arguments_length;
|
||||
|
||||
try arguments = eval_arguments(arguments, env, &arguments_length);
|
||||
try assert(arguments_length == 1);
|
||||
@@ -573,7 +561,6 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
};
|
||||
|
||||
Lisp_Object* ret = arguments->value.pair.first;
|
||||
Lisp_Object* head = ret;
|
||||
|
||||
ret = unquoteSomeExpressions(ret);
|
||||
return ret;
|
||||
@@ -946,7 +933,7 @@ proc load_built_ins_into_environment(Environment* env) -> void {
|
||||
|
||||
if (arguments_length == 1) {
|
||||
Lisp_Object* prompt = evaluated_arguments->value.pair.first;
|
||||
print(evaluated_arguments->value.pair.first);
|
||||
print(prompt);
|
||||
}
|
||||
|
||||
// TODO(Felix): make read_line return a String*
|
||||
|
||||
+11
-9
@@ -284,15 +284,17 @@ struct {
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
// #define assert(cond) \
|
||||
// if_debug { \
|
||||
// if (!cond) { \
|
||||
// if (log_level == Log_Level::Debug) { \
|
||||
// printf("Assertion failed: %s %d", __FILE__, __LINE__); \
|
||||
// } \
|
||||
// debug_break(); \
|
||||
// } \
|
||||
// } else {} \
|
||||
/*
|
||||
#define assert(cond) \
|
||||
if_debug { \
|
||||
if (!cond) { \
|
||||
if (log_level == Log_Level::Debug) { \
|
||||
printf("Assertion failed: %s %d", __FILE__, __LINE__); \
|
||||
} \
|
||||
debug_break(); \
|
||||
} \
|
||||
} else {} \
|
||||
*/
|
||||
|
||||
|
||||
#define console_normal "\x1B[0m"
|
||||
|
||||
+3
-1
@@ -539,7 +539,9 @@ namespace Parser {
|
||||
return result;
|
||||
}
|
||||
else {
|
||||
int pos = index_in_text;
|
||||
// TODO(Felix): What is going on, why do we not have to
|
||||
// increase the index_in_text
|
||||
|
||||
int end_pos = index_in_text;
|
||||
while (text[end_pos] != '\n')
|
||||
++end_pos;
|
||||
|
||||
+1
-2
@@ -582,8 +582,7 @@ proc test_file(const char* file) -> testresult {
|
||||
|
||||
Parser::environment_for_macros = user_env;
|
||||
|
||||
|
||||
Lisp_Object* result = built_in_load(Memory::create_string(file), user_env);
|
||||
built_in_load(Memory::create_string(file), user_env);
|
||||
assert_no_error();
|
||||
|
||||
return pass;
|
||||
|
||||
@@ -387,7 +387,6 @@ proc visualize_lisp_machine() -> void {
|
||||
|
||||
// create the lists-list by filtering the pairs-list.
|
||||
Lisp_Object_Array_List* pairs_to_filter = create_Lisp_Object_array_list();
|
||||
Int_Array_List* indices_to_filter = create_Int_array_list();
|
||||
|
||||
// helper lambda:
|
||||
proc remove_doubles_from_lisp_object_array_list = [&](Lisp_Object_Array_List* list) -> void {
|
||||
|
||||
Reference in New Issue
Block a user