QR Code
Copy to Clipboard
Open with BT Client
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
W3siaWQiOiJqdWljX2JfTURfVF83Mjh4OTAiLCJhZHNwb3QiOiJiX01EX1RfNzI4eDkwIiwid2VpZ2h0IjoiOSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjpmYWxzZSwibWluV2lkdGgiOiI3NjgiLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPCEtLSBKdWljeUFkcyB2My4xIC0tPlxyXG48c2NyaXB0IHR5cGU9XCJ0ZXh0XC9qYXZhc2NyaXB0XCIgZGF0YS1jZmFzeW5jPVwiZmFsc2VcIiBhc3luYyBzcmM9XCJodHRwczpcL1wvcG93ZXJlZGJ5LmphZHMuY29cL2pzXC9qYWRzLmpzXCI+PFwvc2NyaXB0PlxyXG48aW5zIGlkPVwiODQ1NTM0XCIgZGF0YS13aWR0aD1cIjcyOFwiIGRhdGEtaGVpZ2h0PVwiOTBcIj48XC9pbnM+XHJcbjxzY3JpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBkYXRhLWNmYXN5bmM9XCJmYWxzZVwiIGFzeW5jPihhZHNieWp1aWN5ID0gd2luZG93LmFkc2J5anVpY3kgfHwgW10pLnB1c2goeydhZHpvbmUnOjg0NTUzNH0pOzxcL3NjcmlwdD5cclxuPCEtLUp1aWN5QWRzIEVORC0tPiJ9XQ==
W3siaWQiOiJhZHN0X2JfTV8zMDB4NTAiLCJhZHNwb3QiOiJiX01fMzAweDUwIiwid2VpZ2h0IjoiNSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjoiNzY4IiwibWluV2lkdGgiOmZhbHNlLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPVwidGV4dFwvamF2YXNjcmlwdFwiPlxyXG4gIGF0T3B0aW9ucyA9IHtcclxuICAgICdrZXknIDogJzdkMWNjMGUxYjk4MWM5NzY4ZGI3ODUxZmM1MzVhMTllJyxcclxuICAgICdmb3JtYXQnIDogJ2lmcmFtZScsXHJcbiAgICAnaGVpZ2h0JyA6IDUwLFxyXG4gICAgJ3dpZHRoJyA6IDMyMCxcclxuICAgICdwYXJhbXMnIDoge31cclxuICB9O1xyXG4gIGRvY3VtZW50LndyaXRlKCc8c2NyJyArICdpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJodHRwJyArIChsb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAncycgOiAnJykgKyAnOlwvXC93d3cuYm5odG1sLmNvbVwvaW52b2tlLmpzXCI+PFwvc2NyJyArICdpcHQ+Jyk7XHJcbjxcL3NjcmlwdD4ifV0=
W3siaWQiOiJqYXZfYl9NRF9CXzcyOHg5MCIsImFkc3BvdCI6ImJfTURfQl83Mjh4OTAiLCJ3ZWlnaHQiOiI1IiwiZmNhcCI6ZmFsc2UsInNjaGVkdWxlIjpmYWxzZSwibWF4V2lkdGgiOmZhbHNlLCJtaW5XaWR0aCI6Ijc2OCIsInRpbWV6b25lIjpmYWxzZSwiZXhjbHVkZSI6ZmFsc2UsImRvbWFpbiI6ZmFsc2UsImNvZGUiOiI8YSBocmVmPVwiaHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2phdlwiIHRhcmdldD1cIl9ibGFua1wiPjxpbWcgc3JjPVwiXC9hcHBcL2phdlwvVmlld1wvaW1nXC9iNzI4OTAuanBnXCIgd2lkdGg9XCI3MjhcIiBoZWlnaHQ9XCI5MFwiIGJvcmRlcj1cIjBcIj48XC9hPiJ9LHsiaWQiOiJqYXZ1X2JfTURfQl83Mjh4OTAiLCJhZHNwb3QiOiJiX01EX0JfNzI4eDkwIiwid2VpZ2h0IjoiNCIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjpmYWxzZSwibWluV2lkdGgiOiI3NjgiLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPGEgaHJlZj1cImh0dHBzOlwvXC90ZWxsbWUucHdcL2dvXC9qYXZ1XC9cIiB0YXJnZXQ9XCJfYmxhbmtcIj48aW1nIHNyYz1cIlwvYXBwXC9qYXZ1XC9WaWV3XC9pbWdcL2I3Mjg5MC5qcGdcIj48XC9hPiJ9XQ==
screencast.mp4
37.7MB
W3siaWQiOiJleG9jX2JfUExBWSIsImFkc3BvdCI6ImJfUExBWSIsIndlaWdodCI6IjEiLCJmY2FwIjpmYWxzZSwic2NoZWR1bGUiOmZhbHNlLCJtYXhXaWR0aCI6ZmFsc2UsIm1pbldpZHRoIjpmYWxzZSwidGltZXpvbmUiOmZhbHNlLCJleGNsdWRlIjpmYWxzZSwiZG9tYWluIjpmYWxzZSwiY29kZSI6IjwhLS1cclxuPGEgaHJlZj1cImh0dHBzOlwvXC9zeW5kaWNhdGlvbi5keW5zcnZ0YmcuY29tXC9zcGxhc2gucGhwP2lkem9uZT0xOTYxMDkyJnJldHVybl91cmw9aHR0cHM6XC9cL3RlbGxtZS5wd1wvZ29cL2J0c1wiICBjbGFzcz1cImJ0biBidG4td2FybmluZ1wiIHRhcmdldD1cIl9ibGFua1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1wbGF5XCI+PFwvc3Bhbj4gUGxheSBOb3c8XC9hPlxyXG4tLT4ifV0=
jvm_lang/vendor/antlr-3.1.1.jar
1.44MB
book/Create Your Own Programming Language.pdf
1.29MB
book/Create Your Own Programming Language.mobi
1.07MB
book/Create Your Own Programming Language.epub
716.73KB
book/code/parser.rb
18.83KB
jvm_lang/src/yourlang/lang/Bootstrapper.java
8.35KB
jvm_lang/src/yourlang/lang/YourLangParser.g
8.15KB
book/code/grammar.y
5.43KB
book/code/compiler.rb
4.18KB
book/code/mio/message.rb
3.55KB
jvm_lang/src/yourlang/lang/YourLangClass.java
3.27KB
book/code/interpreter.rb
3.24KB
jvm_lang/src/yourlang/lang/Context.java
2.95KB
jvm_lang/src/yourlang/lang/YourLangLexer.g
2.57KB
jvm_lang/src/yourlang/lang/YourLangObject.java
2.55KB
book/code/test/parser_test.rb
2.51KB
book/code/vm/parser.tab.rb
2.27KB
book/code/test/lexer_test.rb
1.95KB
jvm_lang/src/yourlang/lang/nodes/CallNode.java
1.84KB
jvm_lang/src/yourlang/lang/nodes/TryNode.java
1.71KB
jvm_lang/src/yourlang/lang/YourLangException.java
1.55KB
book/code/runtime/bootstrap.rb
1.53KB
book/code/vm/lexer.rex.rb
1.5KB
jvm_lang/test/runner.rb
1.35KB
jvm_lang/src/yourlang/lang/ValueObject.java
1.31KB
book/code/runtime/class.rb
1.21KB
book/code/test/interpreter_test.rb
1.2KB
jvm_lang/src/yourlang/lang/ExceptionHandler.java
1.19KB
book/code/bracket_lexer.rb
1.19KB
jvm_lang/src/yourlang/lang/InterpretedMethod.java
1.16KB
jvm_lang/src/yourlang/lang/YourLangRuntime.java
1.09KB
book/code/mio/method.rb
1.01KB
jvm_lang/src/yourlang/lang/nodes/ClassDefinitionNode.java
968B
book/code/mio/bootstrap.rb
966B
book/code/test/runtime_test.rb
871B
book/code/mio/object.rb
816B
jvm_lang/src/yourlang/lang/nodes/MethodDefinitionNode.java
768B
book/code/runtime/context.rb
740B
jvm_lang/src/yourlang/Main.java
667B
book/code/runtime/object.rb
643B
book/code/test/compiler_test.rb
619B
jvm_lang/src/yourlang/lang/nodes/IfNode.java
596B
jvm_lang/src/yourlang/lang/nodes/Nodes.java
589B
book/code/test/mio_test.rb
589B
jvm_lang/test/exception.yl
584B
book/code/vm/compiler.rb
578B
jvm_lang/src/yourlang/lang/OperatorMethod.java
537B
jvm_lang/src/yourlang/lang/nodes/AndNode.java
531B
jvm_lang/src/yourlang/lang/nodes/OrNode.java
529B
jvm_lang/test/class.yl
527B
book/code/test/mio/oop.mio
526B
jvm_lang/src/yourlang/lang/nodes/InstanceVariableAssignNode.java
506B
jvm_lang/src/yourlang/lang/nodes/ConstantAssignNode.java
483B
book/code/runtime/method.rb
470B
jvm_lang/src/yourlang/lang/nodes/LocalAssignNode.java
456B
jvm_lang/src/yourlang/lang/nodes/WhileNode.java
446B
jvm_lang/src/yourlang/lang/nodes/NotNode.java
438B
book/code/test/test_helper.rb
392B
jvm_lang/src/yourlang/lang/Method.java
373B
jvm_lang/test/constant.yl
371B
jvm_lang/src/yourlang/lang/nodes/ConstantNode.java
360B
jvm_lang/test/literals.yl
358B
jvm_lang/test/logic.yl
358B
jvm_lang/src/yourlang/lang/nodes/InstanceVariableNode.java
345B
jvm_lang/src/yourlang/lang/TypeError.java
340B
jvm_lang/src/yourlang/lang/ArgumentError.java
331B
book/code/vm/parser.y
324B
book/code/mio/boolean.mio
308B
jvm_lang/src/yourlang/lang/nodes/LiteralNode.java
294B
jvm_lang/test/method.yl
288B
jvm_lang/src/yourlang/lang/MethodNotFound.java
258B
book/code/vm/lexer.rex
258B
jvm_lang/src/yourlang/lang/Evaluable.java
242B
jvm_lang/test/call.yl
238B
jvm_lang/src/yourlang/lang/nodes/SelfNode.java
207B
book/code/vm/Rakefile
188B
book/code/test/mio/if.mio
177B
book/code/example.awm
175B
jvm_lang/test/string.yl
167B
jvm_lang/src/yourlang/lang/nodes/Node.java
162B
jvm_lang/test/require.yl
154B
book/code/test/mio/boolean.mio
114B
jvm_lang/test/number.yl
108B
jvm_lang/test/while.yl
67B
jvm_lang/bin/yourlang.bat
32B
W3siaWQiOiJhZHN0X2JfTV8zMDB4NTAiLCJhZHNwb3QiOiJiX01fMzAweDUwIiwid2VpZ2h0IjoiNSIsImZjYXAiOmZhbHNlLCJzY2hlZHVsZSI6ZmFsc2UsIm1heFdpZHRoIjoiNzY4IiwibWluV2lkdGgiOmZhbHNlLCJ0aW1lem9uZSI6ZmFsc2UsImV4Y2x1ZGUiOmZhbHNlLCJkb21haW4iOmZhbHNlLCJjb2RlIjoiPHNjcmlwdCB0eXBlPVwidGV4dFwvamF2YXNjcmlwdFwiPlxyXG4gIGF0T3B0aW9ucyA9IHtcclxuICAgICdrZXknIDogJzdkMWNjMGUxYjk4MWM5NzY4ZGI3ODUxZmM1MzVhMTllJyxcclxuICAgICdmb3JtYXQnIDogJ2lmcmFtZScsXHJcbiAgICAnaGVpZ2h0JyA6IDUwLFxyXG4gICAgJ3dpZHRoJyA6IDMyMCxcclxuICAgICdwYXJhbXMnIDoge31cclxuICB9O1xyXG4gIGRvY3VtZW50LndyaXRlKCc8c2NyJyArICdpcHQgdHlwZT1cInRleHRcL2phdmFzY3JpcHRcIiBzcmM9XCJodHRwJyArIChsb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyAncycgOiAnJykgKyAnOlwvXC93d3cuYm5odG1sLmNvbVwvaW52b2tlLmpzXCI+PFwvc2NyJyArICdpcHQ+Jyk7XHJcbjxcL3NjcmlwdD4ifV0=