├── README.md ├── antlrdemo ├── CommonLexer.g4 ├── Hello │ ├── Hello.g4 │ └── hello.play ├── PlayScript.g4 └── PlayScript.play ├── assets ├── 06b80f8484f4d88c6510213eb27f2093.webp ├── 50a501fc747b23aa0dca319fa87e6622.webp └── e9aa620c009aaae5505cf568a54de381.webp ├── cmds ├── hello │ └── main.go └── playScript │ └── main.go ├── go.mod ├── go.sum └── source ├── lession01 ├── a.out ├── go-ast │ ├── cmd │ │ └── parse.go │ └── test.go ├── hello.c └── readme.md ├── lession02 ├── input.txt ├── main.go └── readme.md ├── lession03 ├── ast │ └── ast.go ├── lexer │ └── lexer.go ├── parser │ └── parser.go ├── readme.md ├── simple_calculator.go └── token │ └── token.go ├── lession04 └── readme.md ├── lession05 ├── craft │ ├── calculator.go │ ├── calculator_test.go │ ├── lexer.go │ ├── lexer_test.go │ ├── simpleparser.go │ └── simplescript.go ├── readme.md └── simplecalculator │ └── main.go └── 编译原理之美.excalidraw /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/README.md -------------------------------------------------------------------------------- /antlrdemo/CommonLexer.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/antlrdemo/CommonLexer.g4 -------------------------------------------------------------------------------- /antlrdemo/Hello/Hello.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/antlrdemo/Hello/Hello.g4 -------------------------------------------------------------------------------- /antlrdemo/Hello/hello.play: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/antlrdemo/Hello/hello.play -------------------------------------------------------------------------------- /antlrdemo/PlayScript.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/antlrdemo/PlayScript.g4 -------------------------------------------------------------------------------- /antlrdemo/PlayScript.play: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/antlrdemo/PlayScript.play -------------------------------------------------------------------------------- /assets/06b80f8484f4d88c6510213eb27f2093.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/assets/06b80f8484f4d88c6510213eb27f2093.webp -------------------------------------------------------------------------------- /assets/50a501fc747b23aa0dca319fa87e6622.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/assets/50a501fc747b23aa0dca319fa87e6622.webp -------------------------------------------------------------------------------- /assets/e9aa620c009aaae5505cf568a54de381.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/assets/e9aa620c009aaae5505cf568a54de381.webp -------------------------------------------------------------------------------- /cmds/hello/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/cmds/hello/main.go -------------------------------------------------------------------------------- /cmds/playScript/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/cmds/playScript/main.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/go.sum -------------------------------------------------------------------------------- /source/lession01/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession01/a.out -------------------------------------------------------------------------------- /source/lession01/go-ast/cmd/parse.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession01/go-ast/cmd/parse.go -------------------------------------------------------------------------------- /source/lession01/go-ast/test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession01/go-ast/test.go -------------------------------------------------------------------------------- /source/lession01/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession01/hello.c -------------------------------------------------------------------------------- /source/lession01/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession01/readme.md -------------------------------------------------------------------------------- /source/lession02/input.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession02/input.txt -------------------------------------------------------------------------------- /source/lession02/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession02/main.go -------------------------------------------------------------------------------- /source/lession02/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession02/readme.md -------------------------------------------------------------------------------- /source/lession03/ast/ast.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession03/ast/ast.go -------------------------------------------------------------------------------- /source/lession03/lexer/lexer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession03/lexer/lexer.go -------------------------------------------------------------------------------- /source/lession03/parser/parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession03/parser/parser.go -------------------------------------------------------------------------------- /source/lession03/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession03/readme.md -------------------------------------------------------------------------------- /source/lession03/simple_calculator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession03/simple_calculator.go -------------------------------------------------------------------------------- /source/lession03/token/token.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession03/token/token.go -------------------------------------------------------------------------------- /source/lession04/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession04/readme.md -------------------------------------------------------------------------------- /source/lession05/craft/calculator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession05/craft/calculator.go -------------------------------------------------------------------------------- /source/lession05/craft/calculator_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession05/craft/calculator_test.go -------------------------------------------------------------------------------- /source/lession05/craft/lexer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession05/craft/lexer.go -------------------------------------------------------------------------------- /source/lession05/craft/lexer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession05/craft/lexer_test.go -------------------------------------------------------------------------------- /source/lession05/craft/simpleparser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession05/craft/simpleparser.go -------------------------------------------------------------------------------- /source/lession05/craft/simplescript.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession05/craft/simplescript.go -------------------------------------------------------------------------------- /source/lession05/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession05/readme.md -------------------------------------------------------------------------------- /source/lession05/simplecalculator/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/lession05/simplecalculator/main.go -------------------------------------------------------------------------------- /source/编译原理之美.excalidraw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bjmayor/GoPlayWithCompiler/HEAD/source/编译原理之美.excalidraw --------------------------------------------------------------------------------