补充上次的stdc++,Token,scanner_test

This commit is contained in:
Guan Inf 2025-06-03 19:11:48 +08:00
parent e6fb10125d
commit 4e8d942ca3

View File

@ -228,6 +228,7 @@ a = point {x:24, y:43};
## 2. 实现细节 ## 2. 实现细节
### 2.1 词法分析的符号表结构 ### 2.1 词法分析的符号表结构
@ -258,7 +259,8 @@ a = point {x:24, y:43};
| tuple | 21 | | tuple | 21 |
| print | 22 | | print | 22 |
| println | 23 | | println | 23 |
| | | |
| |
| | | | | |
| | | | | |
@ -328,5 +330,54 @@ a = point {x:24, y:43};
| 3 | my_vector | | 3 | my_vector |
| 4 | ans | | 4 | ans |
### Hydrogen样例
```Hydrogen
struct Point {
x:i8;
y:i8;
}
[Point:105] tmp;
fn MergeSort([Point:20] v,i8 l,i8 r) -> {
if l>r {
return ;
}
var mid = l + r >>1;
MergeSort(v,l,mid);
MergeSort(v,mid+1,r);
i8 i=l,j=mid+1,k=l;
for ;i <= mid && j <= r;k+=1 {
if v[l] < v[r]
{
tmp[k] = v[l];
l +=1;
}
else{
tmp[k] = v[r];
r += 1;
}
}
for ; i<=mid; {
tmp[k] = tmp[i];
k += 1,i+=1;
}
for ; j <=r ; {
tmp[k] = tmp[j];
k +=1 , j += 1;
}
}
fn main()->i8{
[Point:20] d;
[Point] d;
for i8 i = 0;i< 20; i++ {
d[i] = {x:i * i,y:i};
}
MergeSort(d,d+20);
0
}
```