├── .gitignore ├── Makefile ├── README.md ├── TODO ├── asm ├── asm.rb ├── binary.rb ├── cstruct.rb ├── elfsymtab.rb ├── elfwriter.rb ├── macho.rb ├── machofile.rb ├── machosym.rb ├── machosymtab.rb ├── machowriter.rb ├── objwriter.rb ├── registers.rb ├── regproxy.rb ├── symtab.rb ├── text.rb └── varproxy.rb ├── compiler.rb ├── min.code ├── min.darwin.asm ├── min.linux.asm ├── op-precedence.txt └── test ├── Makefile ├── test.rb ├── test_and.code ├── test_big.code ├── test_bit_ops.code ├── test_break.code ├── test_do.code ├── test_eq.code ├── test_for.code ├── test_ge.code ├── test_gt.code ├── test_huge.code ├── test_if.code ├── test_le.code ├── test_lt.code ├── test_neq.code ├── test_or.code ├── test_overflow.code ├── test_print.code ├── test_repeat.code ├── test_until.code ├── test_while.code ├── testi.code └── testi.rb /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/.gitignore -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/README.md -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/TODO -------------------------------------------------------------------------------- /asm/asm.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/asm.rb -------------------------------------------------------------------------------- /asm/binary.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/binary.rb -------------------------------------------------------------------------------- /asm/cstruct.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/cstruct.rb -------------------------------------------------------------------------------- /asm/elfsymtab.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/elfsymtab.rb -------------------------------------------------------------------------------- /asm/elfwriter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/elfwriter.rb -------------------------------------------------------------------------------- /asm/macho.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/macho.rb -------------------------------------------------------------------------------- /asm/machofile.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/machofile.rb -------------------------------------------------------------------------------- /asm/machosym.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/machosym.rb -------------------------------------------------------------------------------- /asm/machosymtab.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/machosymtab.rb -------------------------------------------------------------------------------- /asm/machowriter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/machowriter.rb -------------------------------------------------------------------------------- /asm/objwriter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/objwriter.rb -------------------------------------------------------------------------------- /asm/registers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/registers.rb -------------------------------------------------------------------------------- /asm/regproxy.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/regproxy.rb -------------------------------------------------------------------------------- /asm/symtab.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/symtab.rb -------------------------------------------------------------------------------- /asm/text.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/text.rb -------------------------------------------------------------------------------- /asm/varproxy.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/asm/varproxy.rb -------------------------------------------------------------------------------- /compiler.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/compiler.rb -------------------------------------------------------------------------------- /min.code: -------------------------------------------------------------------------------- 1 | a=0 2 | -------------------------------------------------------------------------------- /min.darwin.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/min.darwin.asm -------------------------------------------------------------------------------- /min.linux.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/min.linux.asm -------------------------------------------------------------------------------- /op-precedence.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/op-precedence.txt -------------------------------------------------------------------------------- /test/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/Makefile -------------------------------------------------------------------------------- /test/test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test.rb -------------------------------------------------------------------------------- /test/test_and.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_and.code -------------------------------------------------------------------------------- /test/test_big.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_big.code -------------------------------------------------------------------------------- /test/test_bit_ops.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_bit_ops.code -------------------------------------------------------------------------------- /test/test_break.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_break.code -------------------------------------------------------------------------------- /test/test_do.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_do.code -------------------------------------------------------------------------------- /test/test_eq.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_eq.code -------------------------------------------------------------------------------- /test/test_for.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_for.code -------------------------------------------------------------------------------- /test/test_ge.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_ge.code -------------------------------------------------------------------------------- /test/test_gt.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_gt.code -------------------------------------------------------------------------------- /test/test_huge.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_huge.code -------------------------------------------------------------------------------- /test/test_if.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_if.code -------------------------------------------------------------------------------- /test/test_le.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_le.code -------------------------------------------------------------------------------- /test/test_lt.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_lt.code -------------------------------------------------------------------------------- /test/test_neq.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_neq.code -------------------------------------------------------------------------------- /test/test_or.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_or.code -------------------------------------------------------------------------------- /test/test_overflow.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_overflow.code -------------------------------------------------------------------------------- /test/test_print.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_print.code -------------------------------------------------------------------------------- /test/test_repeat.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/test_repeat.code -------------------------------------------------------------------------------- /test/test_until.code: -------------------------------------------------------------------------------- 1 | a=10 2 | until a <= 0 3 | a=a-1 4 | end 5 | a=a -------------------------------------------------------------------------------- /test/test_while.code: -------------------------------------------------------------------------------- 1 | a=0 2 | while a < 5 3 | a=a+1 4 | end 5 | 6 | b=a-5 7 | -------------------------------------------------------------------------------- /test/testi.code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/testi.code -------------------------------------------------------------------------------- /test/testi.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samsonjs/compiler/HEAD/test/testi.rb --------------------------------------------------------------------------------