自研产品:Plang游戏语言
Plang是一款C++开发的高级程序设计语言。语言主要用于Microsoft Windows10平台下C++系统的嵌入式游戏脚本开发(支持win10/mac os/linux系统)。本文通过简单的示例让用户了解Plang编程语言。
第一个PLANG程序
命令解析:
* plang -c HelloWorld指明运行的类名。
* plang -s src 指明源文件编译路径。
PLANG介绍
- Plang语言是简单的:
- 继承C++、Java语言的语法特点。
- 消除void、extends、implements等关键字。
- 支持内存自动回收功能。
- 支持通过PNI(Plang Native Interface)调用C语言函数库。
- Plang语言是面向对象的:
- 提供类、接口等面向对象数据结构。
- 完全支持封装+继承+多态。
- Plang语言是解释型的:
- Plang程序(后缀为ps的文件)被编译成字节码格式(后缀为p的文件),然后可以在PC平台下由解释器运行。
- Plang语言是支持协程的:
- Plang语言在语法层面支持协程。协程是一种单线程环境下支持异步执行的解决方案。相比内核调度的多线程,协程将调度权交给开发者,以减少内核环境切换的开销,更能适应大量且耗时极短的异步应用场景。
PLANG基本数据类型
Plang语言提供内置数据类型、引用类型、常量。
- 内置数据类型
|
数据类型 |
最小值 |
最大值 |
|
byte |
-128(-2^7) |
127(2^7-1) |
|
char |
0 |
256(2^8) |
|
short |
-32768(-2^15) |
32767(2^15 - 1) |
|
int |
-2,147,483,648(-2^31) |
2,147,483,647(2^31 - 1) |
|
long |
-9,223,372,036,854,775,808(-2^63) |
9,223,372,036,854,775,807(2^63 -1) |
|
float |
IEEE 754标准 |
IEEE 754标准 |
|
double |
IEEE 754标准 |
IEEE 754标准 |
|
boolean |
false |
true |
示例如下:
- 引用类型
- 对象、数组都属于引用类型。
- 引用类型默认值为null。
PLANG控制语句
- 条件语句
- if语句
- if…else语句
- if…else if…else语句
- 循环结构
- while循环。
- do…while循环。
- break中断。
- continue中断。
- 异常处理语句
- throw语句
- try...catch语句
- 协程语句
- co_start语句
- co_await语句
- co_yield语句
协程调度
Plang语言支持协程,由关键字co_start,co_await,co_yield提供支持。主方法为默认主协程,子协程的执行顺序按照分发先后依次执行。Plang虚拟机维护一个协程队列,一个协程需要在前个协程让出执行权后,才能运行。如果程序结束时仍存在阻塞协程(程序处于死锁状态),则中断运行并且提示错误(该情况往往归咎于程序设计者)。
- co_start语句
- 用于创建协程。协程方法需要具备以下条件:
- 返回值为空。
- 非构造方法。
- 非native方法。
- 用于创建协程。协程方法需要具备以下条件:
示例:
- co_await语句
- 用于阻塞当前协程。语句后接绑定对象实例。例如:co_await john;
- 所接对象若为null,程序报错。
示例:
- co_yield语句
- co_yield用于切换程序执行权,其后接绑定对象;
- 若后接对象存在与之绑定的阻塞协程,则切换当前协程,并唤醒关联的阻塞协程。例如:co_yield john;
- 若后接对象为null,则仅切换当前执行权。例如:co_yield null;
示例:
组件介绍(软件包)
1、plang.exe/plang32.exe(win10平台)
Plang语言源代码编译器+虚拟机。命令行环境下,通过输入“plang.exe”查看命令格式信息。
2、pdb.exe/pdb32.exe(win10平台)
Plang语言字节码调试器。命令行环境下,通过输入“pdb.exe”查看命令格式信息。
仓库路径:plang-1.4.* -- github.com



浙公网安备 33010602011771号