docs: 更新文档
This commit is contained in:
parent
582ba2ce27
commit
4ae77434dc
20
README.md
20
README.md
@ -44,7 +44,7 @@ SnowVM) 的完整编译-执行链路。
|
|||||||
|
|
||||||
Snow 语言受到 LLM 驱动代码生成趋势的启发,强调简单而清晰的语法和严格的类型系统,以帮助 LLM 更好地理解程序。
|
Snow 语言受到 LLM 驱动代码生成趋势的启发,强调简单而清晰的语法和严格的类型系统,以帮助 LLM 更好地理解程序。
|
||||||
|
|
||||||
语言使用显式的 `module` 声明来组织代码,用 `function`,`parameter`,`return_type`,`body` 等关键字分隔不同代码块,语法结构固定且易读。此外,Snow
|
语言使用显式的 `module` 声明来组织代码,用 `function`,`parameter`,`returns`,`body` 等关键字分隔不同代码块,语法结构固定且易读。此外,Snow
|
||||||
实现了语义分析来检查变量作用域和类型一致性,在编译阶段捕获错误并确保生成的中间代码正确无误。这种自上而下的编译流程,使得代码设计和生成更加模块化,可解释,也有利于调试和优化。
|
实现了语义分析来检查变量作用域和类型一致性,在编译阶段捕获错误并确保生成的中间代码正确无误。这种自上而下的编译流程,使得代码设计和生成更加模块化,可解释,也有利于调试和优化。
|
||||||
|
|
||||||
相关背景: [心路历程](docs/Snow-Lang-Journey/Snow-Lang-Journey.md)
|
相关背景: [心路历程](docs/Snow-Lang-Journey/Snow-Lang-Journey.md)
|
||||||
@ -111,7 +111,7 @@ Snow 语言受到 LLM 驱动代码生成趋势的启发,强调简单而清晰的
|
|||||||
module: Main
|
module: Main
|
||||||
import:Math
|
import:Math
|
||||||
function: main
|
function: main
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
Math.add(6,1)
|
Math.add(6,1)
|
||||||
return 0
|
return 0
|
||||||
@ -135,7 +135,7 @@ Snow 语言受到 LLM 驱动代码生成趋势的启发,强调简单而清晰的
|
|||||||
3 15 IDENTIFIER main
|
3 15 IDENTIFIER main
|
||||||
3 19 NEWLINE \n
|
3 19 NEWLINE \n
|
||||||
|
|
||||||
4 9 KEYWORD return_type
|
4 9 KEYWORD returns
|
||||||
4 20 COLON :
|
4 20 COLON :
|
||||||
4 22 TYPE int
|
4 22 TYPE int
|
||||||
4 25 NEWLINE \n
|
4 25 NEWLINE \n
|
||||||
@ -174,10 +174,10 @@ Snow 语言受到 LLM 驱动代码生成趋势的启发,强调简单而清晰的
|
|||||||
#### Math.snow
|
#### Math.snow
|
||||||
module: Math
|
module: Math
|
||||||
function: add
|
function: add
|
||||||
parameter:
|
params:
|
||||||
declare n1: int
|
declare n1: int
|
||||||
declare n2: int
|
declare n2: int
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
return n1 + n2
|
return n1 + n2
|
||||||
end body
|
end body
|
||||||
@ -195,7 +195,7 @@ Snow 语言受到 LLM 驱动代码生成趋势的启发,强调简单而清晰的
|
|||||||
2 15 IDENTIFIER add
|
2 15 IDENTIFIER add
|
||||||
2 18 NEWLINE \n
|
2 18 NEWLINE \n
|
||||||
|
|
||||||
3 9 KEYWORD parameter
|
3 9 KEYWORD params
|
||||||
3 18 COLON :
|
3 18 COLON :
|
||||||
3 19 NEWLINE \n
|
3 19 NEWLINE \n
|
||||||
|
|
||||||
@ -211,7 +211,7 @@ Snow 语言受到 LLM 驱动代码生成趋势的启发,强调简单而清晰的
|
|||||||
5 25 TYPE int
|
5 25 TYPE int
|
||||||
5 28 NEWLINE \n
|
5 28 NEWLINE \n
|
||||||
|
|
||||||
6 9 KEYWORD return_type
|
6 9 KEYWORD returns
|
||||||
6 20 COLON :
|
6 20 COLON :
|
||||||
6 22 TYPE int
|
6 22 TYPE int
|
||||||
6 25 NEWLINE \n
|
6 25 NEWLINE \n
|
||||||
@ -494,7 +494,7 @@ Snow 语言受到 LLM 驱动代码生成趋势的启发,强调简单而清晰的
|
|||||||
```snow
|
```snow
|
||||||
module: Math
|
module: Math
|
||||||
function: main
|
function: main
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
Math.factorial(6)
|
Math.factorial(6)
|
||||||
return 0
|
return 0
|
||||||
@ -502,9 +502,9 @@ module: Math
|
|||||||
end function
|
end function
|
||||||
|
|
||||||
function: factorial
|
function: factorial
|
||||||
parameter:
|
params:
|
||||||
declare n:int
|
declare n:int
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
declare num1:int = 1
|
declare num1:int = 1
|
||||||
loop:
|
loop:
|
||||||
|
|||||||
@ -76,8 +76,8 @@
|
|||||||
module: Main
|
module: Main
|
||||||
import:Math
|
import:Math
|
||||||
function: main
|
function: main
|
||||||
parameter:
|
params:
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
Math.factorial(6L,1L)
|
Math.factorial(6L,1L)
|
||||||
|
|
||||||
@ -90,10 +90,10 @@ end module
|
|||||||
## 源代码 (test.snow)
|
## 源代码 (test.snow)
|
||||||
module: Math
|
module: Math
|
||||||
function: factorial
|
function: factorial
|
||||||
parameter:
|
params:
|
||||||
declare n1: long
|
declare n1: long
|
||||||
declare n2: long
|
declare n2: long
|
||||||
return_type: long
|
returns: long
|
||||||
body:
|
body:
|
||||||
return n1+n2
|
return n1+n2
|
||||||
end body
|
end body
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
```snow
|
```snow
|
||||||
module: Main
|
module: Main
|
||||||
function: main
|
function: main
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
|
|
||||||
return 1 + 1
|
return 1 + 1
|
||||||
@ -116,7 +116,7 @@ cond 可以是表达式(结果为 bool 类型)或者 bool 字面量
|
|||||||
```snow
|
```snow
|
||||||
module: Main
|
module: Main
|
||||||
function: main
|
function: main
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
if 5 > 7 then
|
if 5 > 7 then
|
||||||
return 5
|
return 5
|
||||||
@ -154,7 +154,7 @@ end loop
|
|||||||
```snow
|
```snow
|
||||||
module: Main
|
module: Main
|
||||||
function: main
|
function: main
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
declare sum: int = 0
|
declare sum: int = 0
|
||||||
loop:
|
loop:
|
||||||
@ -179,17 +179,17 @@ end module
|
|||||||
函数的形式如下:
|
函数的形式如下:
|
||||||
```snow
|
```snow
|
||||||
function: add
|
function: add
|
||||||
parameter:
|
params:
|
||||||
declare a: int
|
declare a: int
|
||||||
declare b: int
|
declare b: int
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
return a + b
|
return a + b
|
||||||
end body
|
end body
|
||||||
end function
|
end function
|
||||||
```
|
```
|
||||||
其中 add 是函数名,parameter 下面是参数列表(可省略),与变量的定义类似,但是不允许赋初值,
|
其中 add 是函数名,params 下面是参数列表(可省略),与变量的定义类似,但是不允许赋初值,
|
||||||
接着 return_type 设置返回值类型,最后的 body 为函数体。
|
接着 returns 设置返回值类型,最后的 body 为函数体。
|
||||||
|
|
||||||
## 模块
|
## 模块
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ snow 会自动将同名模块的函数合并。
|
|||||||
```snow
|
```snow
|
||||||
module: Main
|
module: Main
|
||||||
function: main
|
function: main
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
|
|
||||||
return 1 + 1
|
return 1 + 1
|
||||||
@ -218,10 +218,10 @@ end module
|
|||||||
// Math.snow
|
// Math.snow
|
||||||
module: Math
|
module: Math
|
||||||
function: add
|
function: add
|
||||||
parameter:
|
params:
|
||||||
declare a: int
|
declare a: int
|
||||||
declare b: int
|
declare b: int
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
return a + b
|
return a + b
|
||||||
end body
|
end body
|
||||||
@ -235,7 +235,7 @@ end module
|
|||||||
module: Main
|
module: Main
|
||||||
import: Math
|
import: Math
|
||||||
function: main
|
function: main
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
|
|
||||||
return Math.add(5, 7)
|
return Math.add(5, 7)
|
||||||
@ -250,7 +250,7 @@ end module
|
|||||||
module: Main
|
module: Main
|
||||||
import: Math, Time
|
import: Math, Time
|
||||||
function: main
|
function: main
|
||||||
return_type: int
|
returns: int
|
||||||
body:
|
body:
|
||||||
|
|
||||||
return Math.add(5, 7)
|
return Math.add(5, 7)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user