├── README.md ├── alpha ├── README.md ├── alpha.rb └── input.txt ├── beta ├── Gemfile ├── Gemfile.lock ├── README.md ├── ast.rb ├── compiler.rb ├── grammar.y ├── interpreter.rb ├── lexer.rb ├── parser.rb ├── test │ ├── conditionals.txt │ ├── sample.txt │ └── variables.txt └── vm.rb └── gamma ├── Gemfile ├── Gemfile.lock ├── README.md ├── ast.rb ├── compiler.rb ├── grammar.y ├── interpreter.rb ├── lexer.rb ├── parser.rb ├── test ├── fib.txt ├── operators.txt ├── simple_fn.txt └── while.txt └── vm.rb /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/README.md -------------------------------------------------------------------------------- /alpha/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/alpha/README.md -------------------------------------------------------------------------------- /alpha/alpha.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/alpha/alpha.rb -------------------------------------------------------------------------------- /alpha/input.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/alpha/input.txt -------------------------------------------------------------------------------- /beta/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'racc' 4 | -------------------------------------------------------------------------------- /beta/Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/Gemfile.lock -------------------------------------------------------------------------------- /beta/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/README.md -------------------------------------------------------------------------------- /beta/ast.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/ast.rb -------------------------------------------------------------------------------- /beta/compiler.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/compiler.rb -------------------------------------------------------------------------------- /beta/grammar.y: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/grammar.y -------------------------------------------------------------------------------- /beta/interpreter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/interpreter.rb -------------------------------------------------------------------------------- /beta/lexer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/lexer.rb -------------------------------------------------------------------------------- /beta/parser.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/parser.rb -------------------------------------------------------------------------------- /beta/test/conditionals.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/test/conditionals.txt -------------------------------------------------------------------------------- /beta/test/sample.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/test/sample.txt -------------------------------------------------------------------------------- /beta/test/variables.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/test/variables.txt -------------------------------------------------------------------------------- /beta/vm.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/beta/vm.rb -------------------------------------------------------------------------------- /gamma/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'racc' 4 | -------------------------------------------------------------------------------- /gamma/Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/Gemfile.lock -------------------------------------------------------------------------------- /gamma/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/README.md -------------------------------------------------------------------------------- /gamma/ast.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/ast.rb -------------------------------------------------------------------------------- /gamma/compiler.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/compiler.rb -------------------------------------------------------------------------------- /gamma/grammar.y: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/grammar.y -------------------------------------------------------------------------------- /gamma/interpreter.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/interpreter.rb -------------------------------------------------------------------------------- /gamma/lexer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/lexer.rb -------------------------------------------------------------------------------- /gamma/parser.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/parser.rb -------------------------------------------------------------------------------- /gamma/test/fib.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/test/fib.txt -------------------------------------------------------------------------------- /gamma/test/operators.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/test/operators.txt -------------------------------------------------------------------------------- /gamma/test/simple_fn.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/test/simple_fn.txt -------------------------------------------------------------------------------- /gamma/test/while.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/test/while.txt -------------------------------------------------------------------------------- /gamma/vm.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattgreen/learning-language-design/HEAD/gamma/vm.rb --------------------------------------------------------------------------------