LangSandbox

所属分类:编程语言基础
开发工具:kotlin
文件大小:0KB
下载次数:0
上传日期:2021-02-23 18:10:34
上 传 者sh-1993
说明:  演示如何构建编程语言的项目
(Project to illustrate how to build a programming language)

文件列表:
.editorconfig (1306, 2020-06-09)
.travis.yml (331, 2020-06-09)
LICENSE (11357, 2020-06-09)
build.gradle (3196, 2020-06-09)
examples/ (0, 2020-06-09)
examples/some_calcs.sandy (41, 2020-06-09)
exec.gradle (163, 2020-06-09)
gradle/ (0, 2020-06-09)
gradle/wrapper/ (0, 2020-06-09)
gradle/wrapper/gradle-wrapper.jar (53319, 2020-06-09)
gradle/wrapper/gradle-wrapper.properties (231, 2020-06-09)
gradlew (5046, 2020-06-09)
gradlew.bat (2404, 2020-06-09)
src/ (0, 2020-06-09)
src/main/ (0, 2020-06-09)
src/main/antlr/ (0, 2020-06-09)
src/main/antlr/SandyLexer.g4 (648, 2020-06-09)
src/main/antlr/SandyLexer.tokens (239, 2020-06-09)
src/main/antlr/SandyParser.g4 (1185, 2020-06-09)
src/main/kotlin/ (0, 2020-06-09)
src/main/kotlin/me/ (0, 2020-06-09)
src/main/kotlin/me/tomassetti/ (0, 2020-06-09)
src/main/kotlin/me/tomassetti/sandy/ (0, 2020-06-09)
src/main/kotlin/me/tomassetti/sandy/ast/ (0, 2020-06-09)
src/main/kotlin/me/tomassetti/sandy/ast/Mapping.kt (3230, 2020-06-09)
src/main/kotlin/me/tomassetti/sandy/ast/Model.kt (4426, 2020-06-09)
src/main/kotlin/me/tomassetti/sandy/ast/Validation.kt (1528, 2020-06-09)
src/main/kotlin/me/tomassetti/sandy/compiling/ (0, 2020-06-09)
src/main/kotlin/me/tomassetti/sandy/compiling/Jvm.kt (8748, 2020-06-09)
src/main/kotlin/me/tomassetti/sandy/parsing/ (0, 2020-06-09)
src/main/kotlin/me/tomassetti/sandy/parsing/SandyParserFacade.kt (3162, 2020-06-09)
src/test/ (0, 2020-06-09)
src/test/kotlin/ (0, 2020-06-09)
... ...

[![Apache 2.0 License][license badge]][Apache 2.0 License]  ![build status][travis badge] # LangSandbox This project is used to illustrate how to build a programming language. The code present here is discussed in a series of articles. From these series of tutorials I derived a [book on creating languages]. You may be interested in the companion project ([Kanvas]) where we show how to build an editor for your language. 1. [Define the lexer] 2. [Define the parser] 3. [Build an editor with syntax highlighting] (the code for this part is in [this project][Kanvas]) 4. [Build an editor with autocompletion] (the code for this part is in [this project][Kanvas]) 5. [Map the parse tree to the abstract syntax tree] 6. [Transform the abstract syntax tree] 7. [Validate the abstract syntax tree] 8. [Generate bytecode] I hope you enjoy and please let me know if you have issues, ideas, comments or any sort of feedback! [Kanvas]: https://github.com/ftomassetti/kanvas "Visit the Kanvas repository on GitHub" [book on creating languages]: https://tomassetti.me/create-languages "'How to Create Pragmatic, Lightweight Languages' by Federico Tomassetti" [Apache 2.0 License]: ./LICENSE [license badge]: https://img.shields.io/badge/license-Apache%202.0-00b5da.svg [travis badge]: https://travis-ci.org/ftomassetti/LangSandbox.svg?branch=master "Travis CI Build status for EditorConfig code-styles consistency validation" [Define the lexer]: https://tomassetti.me/getting-started-with-antlr-building-a-simple-expression-language/ "Read the tutorial on tomassetti.me" [Define the parser]: https://tomassetti.me/building-and-testing-a-parser-with-antlr-and-kotlin/ "Read the tutorial on tomassetti.me" [Build an editor with syntax highlighting]: https://tomassetti.me/how-to-create-an-editor-with-syntax-highlighting-dsl/ "Read the tutorial on tomassetti.me" [Build an editor with autocompletion]: https://tomassetti.me/autocompletion-editor-antlr/ "Read the tutorial on tomassetti.me" [Map the parse tree to the abstract syntax tree]: https://tomassetti.me/parse-tree-abstract-syntax-tree/ "Read the tutorial on tomassetti.me" [Transform the abstract syntax tree]: https://tomassetti.me/model-to-model-transformations/ "Read the tutorial on tomassetti.me" [Validate the abstract syntax tree]: https://tomassetti.me/building-compiler-language-validation/ "Read the tutorial on tomassetti.me" [Generate bytecode]: https://tomassetti.me/generating-bytecode/ "Read the tutorial on tomassetti.me"

近期下载者

相关文件


收藏者