Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 

57 строки
2.0 KiB

  1. // proc assert_type(Lisp_Object*, Lisp_Object_Type) -> void;
  2. proc built_in_load(String*) -> Lisp_Object*;
  3. proc built_in_import(String*) -> Lisp_Object*;
  4. proc create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, String* message) -> void;
  5. proc create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, const char* format, ...) -> void;
  6. proc create_error(Lisp_Object* type, const char* message, const char* c_file_name, int c_file_line) -> void;
  7. proc eval_arguments(Lisp_Object*, int*) -> Lisp_Object*;
  8. proc eval_expr(Lisp_Object*) -> Lisp_Object*;
  9. proc is_truthy (Lisp_Object*) -> bool;
  10. proc list_length(Lisp_Object*) -> int;
  11. proc load_built_ins_into_environment() -> void;
  12. proc parse_argument_list(Lisp_Object*, Function*) -> void;
  13. proc print_environment(Environment*) -> void;
  14. inline proc get_root_environment() -> Environment*;
  15. inline proc get_current_environment() -> Environment*;
  16. inline proc push_environment(Environment*) -> void;
  17. inline proc pop_environment() -> void;
  18. proc Lisp_Object_Type_to_string(Lisp_Object_Type type) -> const char*;
  19. proc visualize_lisp_machine() -> void;
  20. proc generate_docs(String* path) -> void;
  21. namespace Memory {
  22. proc create_built_ins_environment() -> Environment*;
  23. proc get_or_create_lisp_object_keyword(const char* identifier) -> Lisp_Object*;
  24. inline proc get_type(Lisp_Object* node) -> Lisp_Object_Type;
  25. }
  26. namespace Parser {
  27. // extern Environment* environment_for_macros;
  28. extern String* standard_in;
  29. extern String* parser_file;
  30. extern int parser_line;
  31. extern int parser_col;
  32. }
  33. namespace Globals {
  34. char* bin_path = nullptr;
  35. Log_Level log_level = Log_Level::Debug;
  36. namespace Current_Execution {
  37. Lisp_Object_Array_List call_stack = create_Lisp_Object_array_list();
  38. Environment_Array_List envi_stack = create_Environment_array_list();
  39. }
  40. #ifdef _DONT_BREAK_ON_ERRORS
  41. bool breaking_on_errors = false;
  42. #else
  43. bool breaking_on_errors = true;
  44. #endif
  45. Error* error = nullptr;
  46. }