├── LICENSE.txt ├── Makefile ├── README.md ├── analyzer.py ├── compiler.py ├── ir.py ├── ir_builder.py ├── lexer.py ├── optimizer.py ├── parser.py ├── symtable.py ├── syntree.py └── test-programs ├── elementary ├── arithmetic.expected ├── arithmetic.wend ├── helloworld.expected ├── helloworld.wend ├── int-overflow.expected ├── int-overflow.wend ├── overload.expected ├── overload.wend ├── scope.expected └── scope.wend ├── gfx ├── README.md ├── breakout.c ├── breakout.wend ├── fire.c ├── fire.wend ├── fire_cursed.c ├── mandelbrot.c ├── metaballs.c ├── metaballs.wend ├── race.c └── race.wend ├── nontrivial ├── bitwise.expected ├── bitwise.wend ├── mandelbrot.expected ├── mandelbrot.wend ├── sqrt.expected ├── sqrt.wend ├── trig-hp12c.expected └── trig-hp12c.wend └── simple ├── collatz.expected ├── collatz.wend ├── eight-queens.expected ├── eight-queens.wend ├── fixed-point.expected ├── fixed-point.wend ├── mutual-recursion.expected ├── mutual-recursion.wend ├── popcount.expected ├── popcount.wend ├── sopfr.expected └── sopfr.wend /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/README.md -------------------------------------------------------------------------------- /analyzer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/analyzer.py -------------------------------------------------------------------------------- /compiler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/compiler.py -------------------------------------------------------------------------------- /ir.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/ir.py -------------------------------------------------------------------------------- /ir_builder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/ir_builder.py -------------------------------------------------------------------------------- /lexer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/lexer.py -------------------------------------------------------------------------------- /optimizer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/optimizer.py -------------------------------------------------------------------------------- /parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/parser.py -------------------------------------------------------------------------------- /symtable.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/symtable.py -------------------------------------------------------------------------------- /syntree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/syntree.py -------------------------------------------------------------------------------- /test-programs/elementary/arithmetic.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/elementary/arithmetic.expected -------------------------------------------------------------------------------- /test-programs/elementary/arithmetic.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/elementary/arithmetic.wend -------------------------------------------------------------------------------- /test-programs/elementary/helloworld.expected: -------------------------------------------------------------------------------- 1 | hello //world 2 | -------------------------------------------------------------------------------- /test-programs/elementary/helloworld.wend: -------------------------------------------------------------------------------- 1 | main() { 2 | println "hello //world"; 3 | } 4 | 5 | -------------------------------------------------------------------------------- /test-programs/elementary/int-overflow.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/elementary/int-overflow.expected -------------------------------------------------------------------------------- /test-programs/elementary/int-overflow.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/elementary/int-overflow.wend -------------------------------------------------------------------------------- /test-programs/elementary/overload.expected: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 2 4 | -------------------------------------------------------------------------------- /test-programs/elementary/overload.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/elementary/overload.wend -------------------------------------------------------------------------------- /test-programs/elementary/scope.expected: -------------------------------------------------------------------------------- 1 | 3 2 | 2 3 | -------------------------------------------------------------------------------- /test-programs/elementary/scope.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/elementary/scope.wend -------------------------------------------------------------------------------- /test-programs/gfx/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/README.md -------------------------------------------------------------------------------- /test-programs/gfx/breakout.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/breakout.c -------------------------------------------------------------------------------- /test-programs/gfx/breakout.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/breakout.wend -------------------------------------------------------------------------------- /test-programs/gfx/fire.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/fire.c -------------------------------------------------------------------------------- /test-programs/gfx/fire.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/fire.wend -------------------------------------------------------------------------------- /test-programs/gfx/fire_cursed.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/fire_cursed.c -------------------------------------------------------------------------------- /test-programs/gfx/mandelbrot.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/mandelbrot.c -------------------------------------------------------------------------------- /test-programs/gfx/metaballs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/metaballs.c -------------------------------------------------------------------------------- /test-programs/gfx/metaballs.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/metaballs.wend -------------------------------------------------------------------------------- /test-programs/gfx/race.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/race.c -------------------------------------------------------------------------------- /test-programs/gfx/race.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/gfx/race.wend -------------------------------------------------------------------------------- /test-programs/nontrivial/bitwise.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/nontrivial/bitwise.expected -------------------------------------------------------------------------------- /test-programs/nontrivial/bitwise.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/nontrivial/bitwise.wend -------------------------------------------------------------------------------- /test-programs/nontrivial/mandelbrot.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/nontrivial/mandelbrot.expected -------------------------------------------------------------------------------- /test-programs/nontrivial/mandelbrot.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/nontrivial/mandelbrot.wend -------------------------------------------------------------------------------- /test-programs/nontrivial/sqrt.expected: -------------------------------------------------------------------------------- 1 | 14519 2 | -------------------------------------------------------------------------------- /test-programs/nontrivial/sqrt.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/nontrivial/sqrt.wend -------------------------------------------------------------------------------- /test-programs/nontrivial/trig-hp12c.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/nontrivial/trig-hp12c.expected -------------------------------------------------------------------------------- /test-programs/nontrivial/trig-hp12c.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/nontrivial/trig-hp12c.wend -------------------------------------------------------------------------------- /test-programs/simple/collatz.expected: -------------------------------------------------------------------------------- 1 | 111 2 | -------------------------------------------------------------------------------- /test-programs/simple/collatz.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/simple/collatz.wend -------------------------------------------------------------------------------- /test-programs/simple/eight-queens.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/simple/eight-queens.expected -------------------------------------------------------------------------------- /test-programs/simple/eight-queens.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/simple/eight-queens.wend -------------------------------------------------------------------------------- /test-programs/simple/fixed-point.expected: -------------------------------------------------------------------------------- 1 | -3.14158 2 | -------------------------------------------------------------------------------- /test-programs/simple/fixed-point.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/simple/fixed-point.wend -------------------------------------------------------------------------------- /test-programs/simple/mutual-recursion.expected: -------------------------------------------------------------------------------- 1 | odd(-255) = true 2 | -------------------------------------------------------------------------------- /test-programs/simple/mutual-recursion.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/simple/mutual-recursion.wend -------------------------------------------------------------------------------- /test-programs/simple/popcount.expected: -------------------------------------------------------------------------------- 1 | number of 1s in the binary representation of 534219 is 9 2 | -------------------------------------------------------------------------------- /test-programs/simple/popcount.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/simple/popcount.wend -------------------------------------------------------------------------------- /test-programs/simple/sopfr.expected: -------------------------------------------------------------------------------- 1 | 12 2 | -------------------------------------------------------------------------------- /test-programs/simple/sopfr.wend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssloy/tinyoptimizer/HEAD/test-programs/simple/sopfr.wend --------------------------------------------------------------------------------