成功测试identifier和Punctutation , 增加界符;

This commit is contained in:
Guan Inf 2025-06-03 21:45:03 +08:00
parent 7eb6630248
commit dbb1abdcd5
4 changed files with 62 additions and 61 deletions

View File

@ -263,51 +263,52 @@ a = point {x:24, y:43};
#### 界符表
| id | 关键字 |
| ------ | ------ |
| 1 | - |
| 2 | |
| 3 | ~ |
| 4 | / |
| 5 | * |
| 6 | % |
| 7 | + |
| 8 | - |
| 9 | << |
| 10 | >> |
| 11 | > |
| 12 | >= |
| 13 | < |
| 14 | <= |
| 15 | == |
| 16 | != |
| 17 | & |
| 18 | ^ |
| 19 | \| |
| 20 | && |
| 21 | \|\| |
| 22 | = |
| 23 | %= |
| 24 | \*= |
| 25 | /= |
| 26 | += |
| 27 | -= |
| 28 | \|= |
| 29 | &= |
| 30 | ^= |
| 31 | <<= |
| 32 | >>= |
| 33 | ( |
| 34 | ) |
| 35 | < |
| 36 | > |
| 37 | , |
| 38 | . |
| 39 | [ |
| 40 | ] |
| 41 | ? |
| 42 | : |
| 43 | -> |
| id | 关键字 |
|----|------|
| 1 | - |
| 2 | |
| 3 | ~ |
| 4 | / |
| 5 | * |
| 6 | % |
| 7 | + |
| 8 | - |
| 9 | << |
| 10 | >> |
| 11 | > |
| 12 | >= |
| 13 | < |
| 14 | <= |
| 15 | == |
| 16 | != |
| 17 | & |
| 18 | ^ |
| 19 | \| |
| 20 | && |
| 21 | \|\| |
| 22 | = |
| 23 | %= |
| 24 | \*= |
| 25 | /= |
| 26 | += |
| 27 | -= |
| 28 | \|= |
| 29 | &= |
| 30 | ^= |
| 31 | <<= |
| 32 | >>= |
| 33 | ( |
| 34 | ) |
| 35 | < |
| 36 | > |
| 37 | , |
| 38 | . |
| 39 | [ |
| 40 | ] |
| 41 | ? |
| 42 | : |
| 43 | -> |
| 44 | : |
#### 常量表
@ -329,14 +330,13 @@ a = point {x:24, y:43};
### Hydrogen样例
```Hydrogen
struct Point {
x:i8;
y:i8;
}
[Point:105] tmp;
fn MergeSort([Point:20] v,i8 l,i8 r) -> {
if l>r {
return ;

View File

@ -76,7 +76,8 @@ public:
{40, "]"},
{41, "?"},
{42, ":"},
{43, "->"}
{43, "->"},
{44,";"}
};
};

View File

@ -8,7 +8,7 @@ using std::string,std::vector;
TEST_CASE("Scanner test identifier table") {
Tbs tables;
std::string src = "abcvljl laadfs fafarwrw";
std::string src = "a += b b<<=casd;";
Scanner scan(src, tables);
scan.scan();
@ -18,13 +18,13 @@ TEST_CASE("Scanner test identifier table") {
}
TEST_CASE("Scanner test Punct table") {
Tbs tables = {};
std::string src = "+=---<<=>>>===--((([]--<<<>.";
Scanner scan(src, tables);
scan.scan();
std::cout<<"test\n";
for (auto e : scan.get_token_list()) {
std::cout<<e.id<<" "<<e.type<<" "<<tables.PunctTable[e.id]<<"\n";
}
}
// TEST_CASE("Scanner test Punct table") {
// Tbs tables = {};
// std::string src = "+=---<<=>>>===--((([]--<<<>.";
// Scanner scan(src, tables);
// scan.scan();
// std::cout<<"test\n";
// for (auto e : scan.get_token_list()) {
// std::cout<<e.id<<" "<<e.type<<" "<<tables.PunctTable[e.id]<<"\n";
// }
// }