自己动手发明编程语言
❯
教程介绍📘
❯
在线体验编译器🚀
❯
为什么要发明一个新的编程语言?☕
❯
开始🔛
❯
开发编译器的流程 🚀
❯
基础理论和原理 ⚛️
❯
计算机指令基础 (CPU)🖥️
❯
自定义虚拟机指令(VM) 🕹️
❯
C语言崩溃栈信息🐞
❯
设计强化虚拟机指令(VM) 🕹️
❯
手搓编写词法分析(Lexer)📜
❯
手搓表达式编译 🔥
❯
手搓 if-else 语法编译 ⚙️🔗
❯
手搓 for 语法编译 ⚙️🔗
❯
手搓 while 语法编译 ⚙️🔗
❯
手搓 函数调用 语法编译 ⚙️🔗
❯
虚拟机高性能优化 🚀
❯
try catch异常捕获简单实现🐞
❯
手搓即时编译(JIT)入门 ⚡️
❯
包管理器开发入门 📦📦
❯
开发故事
# 开始 自己动手发明一个编程语言应该是个很有趣的挑战。如果这个新的编程语言还有一些实用价值那就更好了。 编程语言通常可以分为 解释型和编译型。比如常见的 C/C++ 是编译型的代表。Python/PHP/JavaScript/Lua 等是解释型的代表。Java 虽然是编译型 却是在JVM虚拟机中解释运行。有时候解释型和编译型的区分不是那么明显,Java中的 JIT 技术就是采用编译技术来实现代码的加速运行,就实际实用来看 Java 依然属于编译型编程语言。 编程语言也可以从变量类型分为动态类型和静态类型,比如常见的 C/C++/Java是静态类型的代表,JavaScript/Python/PHP 为动态类型的代表。静态类型写起来略显繁琐,动态类型则写起来轻松简易。静态类型也有个好处,能够在运行前有更多的检查和提示。 是否有一种轻巧灵活的编程语言,即可以像 JavaScript 、Lua 、PHP 那样解释运行,又可以在需要的时候能够按编译的方式运行,比如编译成独立的可执行文件。同时具备静态类型的优点,还有空安全的保障。从现在开始,我将开启这段旅程。 我把这个新的编程语言起名 NextScript ,这将是个轻巧灵活的编程语言。 下面通过一些简单的例子来快速了解这个编程语言的特性。 ## 先从 Hello World 开始 ```java import os; os.print("Hello World"); ``` ### 实现求和函数 ```java package demo; int add(int a,int b) { return a+b; } ``` 可以看出来这是一个和 c 语言非常类似的语言,对 c 语言一些缺失的地方进行了增强(内置字符串类型、数组带长度信息等等),对一些过于灵活很容易出问题的地方进行了限制(比如指针运算等)。 不过,我们需要先从实现一些简单的功能开始。比如变量类型先只支持整数类型,但是预留其他变量类型的空间。 >**自己动手发明一个编程语言。要相信自己能够做到。**
Hello!请先完成登录验证
微信公众号
哈希空间
扫码进入公众号回复 9 即可完成验证,实现自动登录网站。
关注就是支持,更好的服务提供给粉丝