commit
0c64090547
20
README.md
20
README.md
|
@ -1,4 +1,4 @@
|
|||
# <img src="./doc/svg/nasal_transparent.svg" height="50px"/> __Nasal - Modern Interpreter__
|
||||
# <img src="./doc/svg/nasal_transparent.svg" height="40px"/> __Nasal - Modern Interpreter__
|
||||
|
||||
<img src="./doc/pic/header.png" style="width:600px"></img>
|
||||
|
||||
|
@ -50,7 +50,7 @@ Old version of this project uses __MIT license__ (2019/7 ~ 2021/5/4 ~ 2023/5). N
|
|||
2019 summer,
|
||||
members in [FGPRC](https://www.fgprc.org/) told me that it is hard to debug with nasal-console in Flightgear,
|
||||
especially when checking syntax errors.
|
||||
So i wrote a new interpreter to help checking syntax error and runtime error.
|
||||
So i wrote a new interpreter to help checking syntax error and runtime error.
|
||||
|
||||
I wrote the lexer, parser and
|
||||
bytecode virtual machine to help checking errors.
|
||||
|
@ -67,30 +67,24 @@ Nightly build could be found here.
|
|||
Windows nightly build is not supported yet,
|
||||
please wait or just compile it by yourself, a Cmake file is given for Visual Studio to compile this project easily:
|
||||
|
||||
* [macOS-nightly-build](https://github.com/ValKmjolnir/Nasal-Interpreter/releases/tag/next_macOS)
|
||||
* [linux-nightly-build](https://github.com/ValKmjolnir/Nasal-Interpreter/releases/tag/next_linux_x86_64)
|
||||
* windows-nightly-build: [WIP]
|
||||
* [MacOS-nightly-build](https://github.com/ValKmjolnir/Nasal-Interpreter/releases/tag/next_macOS)
|
||||
* [Linux-nightly-build](https://github.com/ValKmjolnir/Nasal-Interpreter/releases/tag/next_linux_x86_64)
|
||||
* [Windows-nightly-build](#download) [WIP]
|
||||
|
||||
## __Compile__
|
||||
|
||||
![g++](https://img.shields.io/badge/GNU-g++-A42E2B?style=flat-square&logo=GNU)
|
||||
![clang++](https://img.shields.io/badge/LLVM-clang++-262D3A?style=flat-square&logo=LLVM)
|
||||
![vs](https://img.shields.io/badge/Visual_Studio-MSVC-5C2D91?style=flat-square&logo=visualstudio)
|
||||
![g++](https://img.shields.io/badge/GNU-g++-A42E2B?style=flat-square&logo=GNU) ![clang++](https://img.shields.io/badge/LLVM-clang++-262D3A?style=flat-square&logo=LLVM) ![vs](https://img.shields.io/badge/Visual_Studio-MSVC-5C2D91?style=flat-square&logo=visualstudio)
|
||||
|
||||
Better download the latest update source of the interpreter and build it! It's quite easy to build this interpreter, what you need are only two things: C++ compiler and the `make`. There is no third-party library used in this project.
|
||||
Download the latest source of the interpreter and build it! It's quite easy to build, what you need are only two things: C++ compiler and the `make`. There is no third-party library used in this project.
|
||||
|
||||
### __Windows (MinGW-w64)__
|
||||
|
||||
![windows](https://img.shields.io/badge/Microsoft-Windows-green?style=flat-square&logo=windows)
|
||||
|
||||
Make sure thread model is `posix thread model`, otherwise no thread library exists.
|
||||
|
||||
> mingw32-make nasal.exe -j4
|
||||
|
||||
### __Windows (Visual Studio)__
|
||||
|
||||
![windows](https://img.shields.io/badge/Microsoft-Windows-green?style=flat-square&logo=windows)
|
||||
|
||||
There is a [__CMakelists.txt__](./CMakeLists.txt) to create project.
|
||||
|
||||
### __Linux / macOS / Unix__
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# <img src="./svg/nasal_transparent.svg" height="50px"/> __Nasal - Modern Interpreter__
|
||||
# <img src="./svg/nasal_transparent.svg" height="40px"/> __Nasal - Modern Interpreter__
|
||||
|
||||
<img src="../doc/pic/header.png" style="width:600px"></img>
|
||||
|
||||
|
@ -46,7 +46,7 @@ __如果有好的意见或建议,欢迎联系我们!__
|
|||
|
||||
### __为什么重新写 Nasal 解释器?__
|
||||
|
||||
2019 年暑假,[FGPRC](https://www.fgprc.org.cn/) 的成员告诉我,在 Flightgear 中提供的 nasal 控制台窗口中进行调试很不方便,仅仅是想检查语法错误,也得花时间打开软件等待加载进去后进行调试。所以我就写了一个全新的解释器来帮助他们检查语法错误以及运行时错误。
|
||||
2019 年夏天,[FGPRC](https://www.fgprc.org.cn/) 的成员吐槽,在 Flightgear 中提供的 nasal 控制台中进行调试很不方便,仅仅是想检查语法错误,也要花时间打开软件等待加载进去后调试。所以我就写了一个新的解释器来帮助检查语法错误和运行时错误。
|
||||
|
||||
我编写了 nasal 的词法分析器和语法分析器,以及一个全新的字节码虚拟机,并用这个运行时来进行 nasal 程序的调试。我们发现使用这个解释器来检测语法和运行时错误极大的提高了效率。
|
||||
|
||||
|
@ -59,9 +59,9 @@ Windows 平台的预览版解释器现在还没配置相关流水线,
|
|||
请耐心等候或者直接在本地编译。
|
||||
我们提供了一份 Cmake 文件,可以很方便地在 Visual Studio 中编译:
|
||||
|
||||
* [macOS-nightly-build](https://github.com/ValKmjolnir/Nasal-Interpreter/releases/tag/next_macOS)
|
||||
* [linux-nightly-build](https://github.com/ValKmjolnir/Nasal-Interpreter/releases/tag/next_linux_x86_64)
|
||||
* windows-nightly-build: [施工中...]
|
||||
* [MacOS-nightly-build](https://github.com/ValKmjolnir/Nasal-Interpreter/releases/tag/next_macOS)
|
||||
* [Linux-nightly-build](https://github.com/ValKmjolnir/Nasal-Interpreter/releases/tag/next_linux_x86_64)
|
||||
* [Windows-nightly-build](#下载) [施工中]
|
||||
|
||||
## __编译__
|
||||
|
||||
|
@ -69,21 +69,16 @@ Windows 平台的预览版解释器现在还没配置相关流水线,
|
|||
![clang++](https://img.shields.io/badge/LLVM-clang++-262D3A?style=flat-square&logo=LLVM)
|
||||
![vs](https://img.shields.io/badge/Visual_Studio-MSVC-5C2D91?style=flat-square&logo=visualstudio)
|
||||
|
||||
推荐下载最新代码包编译,这个项目非常小巧, 没有使用任何第三方库,因此编译起来非常轻松,
|
||||
只需要这两样东西: C++ 编译器以及make程序。
|
||||
下载最新代码包编译,项目非常小巧, 没有使用任何第三方库,只需要这两样即可编译: C++ 编译器以及 make 程序。
|
||||
|
||||
### __Windows 平台 (MinGW-w64)__
|
||||
|
||||
![windows](https://img.shields.io/badge/Microsoft-Windows-green?style=flat-square&logo=windows)
|
||||
|
||||
确保 thread model 是 `posix thread model`, 否则没有 thread 库。
|
||||
|
||||
> mingw32-make nasal.exe -j4
|
||||
|
||||
### __Windows 平台 (Vistual Studio)__
|
||||
|
||||
![windows](https://img.shields.io/badge/Microsoft-Windows-green?style=flat-square&logo=windows)
|
||||
|
||||
项目提供了 [__CMakeLists.txt__](../CMakeLists.txt) 用于在`Visual Studio`中创建项目。
|
||||
|
||||
### __Linux / macOS / Unix 平台__
|
||||
|
|
|
@ -4,15 +4,16 @@
|
|||
<g fill="#1d2c4e">
|
||||
<!-- left side -->
|
||||
<path d="M 10 10 L 10 80 L 20 90 L 25 90 L 25 20 L 15 10 Z"/>
|
||||
<path d="M 10 10 L 85 85 L 85 90 L 70 90 L 10 30 Z"/>
|
||||
<path d="M 10 10 L 84 84 L 84 90 L 70 90 L 10 30 Z"/>
|
||||
<!-- right-up corner -->
|
||||
<path d="M 30 10 L 70 50 L 70 55 L 30 15 Z" />
|
||||
<path d="M 30 10 L 40 10 L 70 40 L 70 55 Z" />
|
||||
<path d="M 30 10 L 80 10 L 80 15 L 30 15 Z" />
|
||||
<path d="M 72 10 L 72 55 L 65 55 L 65 10 Z" />
|
||||
<path d="M 55 10 L 70 25 L 70 35 L 45 10 Z"/>
|
||||
<path d="M 70 55 L 65 55 L 55 45 L 55 35 Z"/>
|
||||
<path d="M 70 10 L 80 10 L 80 15 L 70 25 Z"/>
|
||||
</g>
|
||||
<path d="M 30 10 L 43 10 L 70 37 L 70 55 Z" />
|
||||
<path d="M 68 10 L 68 55 L 83 55 L 83 18 L 75 10 Z" />
|
||||
<path d="M 70 50 L 70 55 L 65 55 L 55 45 L 55 35 Z"/>
|
||||
</g>
|
||||
<g fill="#97363a">
|
||||
<!-- right-down corner -->
|
||||
<path d="M 83 60 L 83 75 L 68 60 Z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 787 B After Width: | Height: | Size: 755 B |
|
@ -4,15 +4,16 @@
|
|||
<g fill="#6e93e9">
|
||||
<!-- left side -->
|
||||
<path d="M 10 10 L 10 80 L 20 90 L 25 90 L 25 20 L 15 10 Z"/>
|
||||
<path d="M 10 10 L 85 85 L 85 90 L 70 90 L 10 30 Z"/>
|
||||
<path d="M 10 10 L 84 84 L 84 90 L 70 90 L 10 30 Z"/>
|
||||
<!-- right-up corner -->
|
||||
<path d="M 30 10 L 70 50 L 70 55 L 30 15 Z" />
|
||||
<path d="M 30 10 L 40 10 L 70 40 L 70 55 Z" />
|
||||
<path d="M 30 10 L 80 10 L 80 15 L 30 15 Z" />
|
||||
<path d="M 72 10 L 72 55 L 65 55 L 65 10 Z" />
|
||||
<path d="M 55 10 L 70 25 L 70 35 L 45 10 Z"/>
|
||||
<path d="M 70 55 L 65 55 L 55 45 L 55 35 Z"/>
|
||||
<path d="M 70 10 L 80 10 L 80 15 L 70 25 Z"/>
|
||||
</g>
|
||||
<path d="M 30 10 L 43 10 L 70 37 L 70 55 Z" />
|
||||
<path d="M 68 10 L 68 55 L 83 55 L 83 18 L 75 10 Z" />
|
||||
<path d="M 70 50 L 70 55 L 65 55 L 55 45 L 55 35 Z"/>
|
||||
</g>
|
||||
<g fill="#97363a">
|
||||
<!-- right-down corner -->
|
||||
<path d="M 83 60 L 83 75 L 68 60 Z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 796 B After Width: | Height: | Size: 764 B |
Loading…
Reference in New Issue