├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md └── src ├── alloc_lang.rs ├── assign_frame_args.rs ├── assign_frame_variables.rs ├── assign_registers.rs ├── design_notes.md ├── discard_allocation_info.rs ├── discard_call_lives.rs ├── expose_basic_blocks.rs ├── expose_frame_pointer.rs ├── expose_frame_variables.rs ├── expose_memory_operands.rs ├── finalize_alloc_locations.rs ├── finalize_instruction_selection.rs ├── finalize_locations.rs ├── flatten_program.rs ├── generate_x86_64.rs ├── interner.rs ├── main.rs ├── select_instructions.rs ├── uncover_register_conflicts.rs └── util.rs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # rsc 2 | Rust-based Scheme Compiler, written in the Nanopass style 3 | -------------------------------------------------------------------------------- /src/alloc_lang.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/alloc_lang.rs -------------------------------------------------------------------------------- /src/assign_frame_args.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/assign_frame_args.rs -------------------------------------------------------------------------------- /src/assign_frame_variables.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/assign_frame_variables.rs -------------------------------------------------------------------------------- /src/assign_registers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/assign_registers.rs -------------------------------------------------------------------------------- /src/design_notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/design_notes.md -------------------------------------------------------------------------------- /src/discard_allocation_info.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/discard_allocation_info.rs -------------------------------------------------------------------------------- /src/discard_call_lives.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/discard_call_lives.rs -------------------------------------------------------------------------------- /src/expose_basic_blocks.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/expose_basic_blocks.rs -------------------------------------------------------------------------------- /src/expose_frame_pointer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/expose_frame_pointer.rs -------------------------------------------------------------------------------- /src/expose_frame_variables.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/expose_frame_variables.rs -------------------------------------------------------------------------------- /src/expose_memory_operands.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/expose_memory_operands.rs -------------------------------------------------------------------------------- /src/finalize_alloc_locations.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/finalize_alloc_locations.rs -------------------------------------------------------------------------------- /src/finalize_instruction_selection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/finalize_instruction_selection.rs -------------------------------------------------------------------------------- /src/finalize_locations.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/finalize_locations.rs -------------------------------------------------------------------------------- /src/flatten_program.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/flatten_program.rs -------------------------------------------------------------------------------- /src/generate_x86_64.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/generate_x86_64.rs -------------------------------------------------------------------------------- /src/interner.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/interner.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/select_instructions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/select_instructions.rs -------------------------------------------------------------------------------- /src/uncover_register_conflicts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/uncover_register_conflicts.rs -------------------------------------------------------------------------------- /src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cgswords/rsc/HEAD/src/util.rs --------------------------------------------------------------------------------