vety-language/README.md

115 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Vety 编程语言
Vety 是一个现代化的静态类型编程语言,专注于简洁性、安全性和高性能。它结合了多种现代编程语言的优秀特性,提供了优雅的语法和强大的类型系统。
## 主要特性
- **静态类型系统**:提供强大的类型检查和类型推导
- **现代化语法**:简洁直观的语法设计
- **函数注解**:支持 `@test`、`@debug` 等注解
- **变量声明**:支持 `let``const` 声明
- **复杂数据类型**:支持数组、映射等数据结构
- **表达式语法**:支持条件表达式、三元运算符等
- **错误处理**:内置的异常处理机制
- **内存安全**:自动内存管理
上面你就看看就行了,基本都没实现。
## 注意
现在只是暂存代码和测试,现在啥也没完成。
## 测试
``` bash
cmake --build build --target vety
./build/vety
```
## 项目结构
```
Vety
├── demo # 示例代码
├── doc # 文档
├── lib # vt库文件
├── parser # 语法分析器
├── test # 测试
├── utils # 工具
├── vm # 虚拟机
├── CMakeLists.txt # cmake文件
├── README.md # 项目说明
```
## 语法示例
### 基础语法
```vety
// 变量声明
let a: i32 = 1
const b: i32 = 2
// 数组
let arr: i32[] = [64, 34, 25, 12, 22, 11, 90]
// Map对象
let m: any = {
a: 6,
b: 9,
c: {
d: 9
}
}
// 函数定义
func add(a: i32, b: i32): i32 {
return a + b
}
```
### 控制流
```vety
// if 语句
if (condition) {
// ...
} else if (condition2) {
// ...
} else {
// ...
}
// for 循环
for (let i: i32 = 0; i < n; i++) {
// ...
}
// while 循环
while (condition) {
// ...
}
```
### 错误处理
```vety
try {
// 可能抛出异常的代码
} catch (e) {
// 处理异常
}
```
## 安装
目前 Vety 正在积极开发中,安装步骤将在稳定版本发布后提供。
## 使用文档
详细的语言规范和 API 文档正在编写中。
## 贡献
Vety是一个开源项目我们欢迎社区贡献。如果你发现了bug或有改进建议请提交issue或pull request。
## 许可证
MIT License