gitextract_8xnoo2xc/ ├── .github/ │ └── workflows/ │ ├── style-clippy.yml │ ├── style-docs.yml │ ├── test-Godotv3.3.3-Ubuntu.yml │ ├── test-Godotv3.4-Ubuntu.yml │ ├── test-Godotv3.5-Minimal-Ubuntu.yml │ ├── test-Godotv3.5-Mono-Ubuntu.yml │ └── test-Godotv3.5-Ubuntu.yml ├── .gitignore ├── .readthedocs.yaml ├── COPYING ├── Cargo.toml ├── GDLisp.lisp ├── MacroServer/ │ ├── TestLoadedFile.gd │ ├── main.gd │ ├── main.tscn │ └── project.godot ├── README.md ├── Rakefile ├── build.rs ├── doc/ │ ├── README.md │ ├── internal/ │ │ ├── CompilationStages.md │ │ └── README.md │ └── readthedocs/ │ ├── Makefile │ ├── conf.py │ ├── index.rst │ ├── make.bat │ ├── reference/ │ │ ├── classes.rst │ │ ├── command-line.rst │ │ ├── datatypes.rst │ │ ├── expressions.rst │ │ ├── imports.rst │ │ ├── index.rst │ │ ├── lambda-lists.rst │ │ ├── macros.rst │ │ ├── parser.rst │ │ ├── quoting.rst │ │ ├── source-file.rst │ │ └── standard-library/ │ │ ├── functions.rst │ │ ├── index.rst │ │ ├── macros.rst │ │ ├── types.rst │ │ └── values.rst │ ├── requirements.txt │ └── tutorial/ │ ├── classes.rst │ ├── control-flow.rst │ ├── index.rst │ ├── lisping.rst │ ├── macros.rst │ ├── modules.rst │ └── what-now.rst ├── minimal.txt ├── src/ │ ├── command_line.rs │ ├── compile/ │ │ ├── args.rs │ │ ├── body/ │ │ │ ├── builder.rs │ │ │ ├── class_initializer.rs │ │ │ ├── class_scope.rs │ │ │ ├── mod.rs │ │ │ ├── super_proxy.rs │ │ │ └── synthetic_field.rs │ │ ├── constant.rs │ │ ├── error.rs │ │ ├── factory.rs │ │ ├── frame.rs │ │ ├── import.rs │ │ ├── mod.rs │ │ ├── names/ │ │ │ ├── contextual.rs │ │ │ ├── fresh.rs │ │ │ ├── generator.rs │ │ │ ├── mod.rs │ │ │ ├── registered.rs │ │ │ └── reserved.rs │ │ ├── preload_resolver.rs │ │ ├── resource_type.rs │ │ ├── special_form/ │ │ │ ├── closure.rs │ │ │ ├── flet.rs │ │ │ ├── lambda.rs │ │ │ ├── lambda_class.rs │ │ │ ├── lambda_vararg/ │ │ │ │ ├── builder.rs │ │ │ │ └── mod.rs │ │ │ ├── let_block.rs │ │ │ └── mod.rs │ │ ├── stateful.rs │ │ ├── stmt_wrapper.rs │ │ └── symbol_table/ │ │ ├── call_magic/ │ │ │ ├── mod.rs │ │ │ └── table.rs │ │ ├── function_call.rs │ │ ├── inner.rs │ │ ├── local_var.rs │ │ └── mod.rs │ ├── gdscript/ │ │ ├── arglist.rs │ │ ├── class_extends.rs │ │ ├── decl.rs │ │ ├── expr.rs │ │ ├── expr_wrapper.rs │ │ ├── inner_class.rs │ │ ├── library/ │ │ │ ├── cell.rs │ │ │ ├── class_loader.rs │ │ │ ├── constant_loader.rs │ │ │ ├── gdnative/ │ │ │ │ ├── api_type.rs │ │ │ │ ├── argument.rs │ │ │ │ ├── class.rs │ │ │ │ ├── gdnative_enum.rs │ │ │ │ ├── method.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── property.rs │ │ │ │ └── signal.rs │ │ │ ├── magic.rs │ │ │ └── mod.rs │ │ ├── literal.rs │ │ ├── metadata.rs │ │ ├── mod.rs │ │ ├── op.rs │ │ ├── pattern.rs │ │ ├── spacing.rs │ │ └── stmt.rs │ ├── graph/ │ │ ├── mod.rs │ │ ├── tarjan.rs │ │ └── top_sort.rs │ ├── ir/ │ │ ├── access_type.rs │ │ ├── arglist/ │ │ │ ├── constructor.rs │ │ │ ├── error.rs │ │ │ ├── general.rs │ │ │ ├── mod.rs │ │ │ ├── ordinary.rs │ │ │ ├── parser.rs │ │ │ ├── simple.rs │ │ │ └── vararg.rs │ │ ├── bootstrapping.rs │ │ ├── call_name.rs │ │ ├── classification.rs │ │ ├── closure_names.rs │ │ ├── decl.rs │ │ ├── declaration_table.rs │ │ ├── depends.rs │ │ ├── export.rs │ │ ├── expr.rs │ │ ├── identifier.rs │ │ ├── import.rs │ │ ├── incremental.rs │ │ ├── literal.rs │ │ ├── loops/ │ │ │ ├── error.rs │ │ │ └── mod.rs │ │ ├── macros.rs │ │ ├── main_function.rs │ │ ├── mod.rs │ │ ├── modifier/ │ │ │ ├── class.rs │ │ │ ├── constant.rs │ │ │ ├── declare.rs │ │ │ ├── enums.rs │ │ │ ├── file.rs │ │ │ ├── function.rs │ │ │ ├── instance_method.rs │ │ │ ├── macros.rs │ │ │ ├── magic.rs │ │ │ ├── mod.rs │ │ │ ├── var.rs │ │ │ └── visibility.rs │ │ ├── quasiquote.rs │ │ ├── scope/ │ │ │ ├── decl.rs │ │ │ ├── error.rs │ │ │ ├── mod.rs │ │ │ └── name_table/ │ │ │ ├── builder.rs │ │ │ └── mod.rs │ │ ├── special_form/ │ │ │ ├── access_slot.rs │ │ │ ├── assignment.rs │ │ │ ├── local_binding.rs │ │ │ └── mod.rs │ │ └── special_ref.rs │ ├── lib.rs │ ├── main.rs │ ├── optimize/ │ │ ├── gdscript/ │ │ │ ├── assignment.rs │ │ │ ├── basic_math_ops.rs │ │ │ ├── constant.rs │ │ │ ├── constant_conditional_branch.rs │ │ │ ├── dead_code_elimination.rs │ │ │ ├── dead_decl_elimination.rs │ │ │ ├── dead_var_elimination.rs │ │ │ ├── direct_var_substitute.rs │ │ │ ├── else_then_if_fold.rs │ │ │ ├── expr_walker.rs │ │ │ ├── mod.rs │ │ │ ├── noop.rs │ │ │ ├── redundant_assignment_elimination.rs │ │ │ ├── stmt_walker.rs │ │ │ ├── ternary_if_fold.rs │ │ │ └── variables.rs │ │ ├── ir/ │ │ │ ├── expr_walker.rs │ │ │ └── mod.rs │ │ └── mod.rs │ ├── parser.lalrpop │ ├── parser_test.rs │ ├── pipeline/ │ │ ├── can_load.rs │ │ ├── config.rs │ │ ├── error.rs │ │ ├── loader.rs │ │ ├── mod.rs │ │ ├── resolver.rs │ │ ├── source.rs │ │ ├── stdlib_unit.rs │ │ └── translation_unit.rs │ ├── repl.rs │ ├── runner/ │ │ ├── godot.rs │ │ ├── into_gd_file.rs │ │ ├── macro_server/ │ │ │ ├── command.rs │ │ │ ├── lazy.rs │ │ │ ├── mod.rs │ │ │ ├── named_file_server.rs │ │ │ └── response.rs │ │ ├── mod.rs │ │ ├── named_file.rs │ │ ├── path.rs │ │ └── version.rs │ ├── sxp/ │ │ ├── ast.rs │ │ ├── dotted.rs │ │ ├── literal.rs │ │ ├── mod.rs │ │ ├── reify/ │ │ │ ├── mod.rs │ │ │ └── pretty.rs │ │ ├── string.rs │ │ └── syntax.rs │ └── util/ │ ├── debug_wrapper.rs │ ├── group_by.rs │ ├── lattice.rs │ ├── lazy.rs │ ├── mod.rs │ ├── one.rs │ ├── prefix_matcher.rs │ └── recursive.rs └── tests/ ├── integration_tests.rs └── test/ ├── builtin_function_test.rs ├── class_test.rs ├── collection_conversion_test.rs ├── common/ │ ├── import.rs │ └── mod.rs ├── concurrency_test.rs ├── cond_if_test.rs ├── const_test.rs ├── declaration_test.rs ├── dependencies_test.rs ├── dictionary_test.rs ├── enum_test.rs ├── error_test.rs ├── even_odd_test.rs ├── factorial_test.rs ├── flet_test.rs ├── floating_test.rs ├── for_test.rs ├── import_test.rs ├── labels_test.rs ├── lambda_class_test.rs ├── lambda_test.rs ├── lazy_val_test.rs ├── let_var_test.rs ├── list_operator_test.rs ├── macro_test.rs ├── meta_test.rs ├── mod.rs ├── name_translation_test.rs ├── object_test.rs ├── operator_test.rs ├── quoting_test.rs ├── signal_test.rs ├── simple_expr_test.rs ├── string_test.rs ├── type_checking_test.rs ├── typecast_test.rs └── while_test.rs