Compiler of Scope
The C# source code of the compiler Scope
is generated by bitzhuwei.GrammarFormat
.
Grammar
// 7 VnRegulations:
Scope : '[' 'firstItem1' RangeItems ']' // [0]
| '[^' 'firstItem2' RangeItems ']' // [1]
| '[' 'firstItem1' ']' // [2]
| '[^' 'firstItem2' ']' ; // [3]
RangeItems : RangeItems RangeItem // [4]
| RangeItem ; // [5]
RangeItem : 'char' ; // [6]
// 3 VtPatterns:
'firstItem1' : %%<'['>\\u[0-9]{4}|\\t|\\n|\\r|\\-|[ -Z]|\[|\\\\|]|\\\^|[_-~]%% ; // [0]
'firstItem2' : %%<'[^'>\\u[0-9]{4}|\\t|\\n|\\r|\\-|[ -Z]|\[|\\\\|]|\^|\\\^|[_-~]%% ; // [1]
'char' : %%\\u[0-9]{4}|\\t|\\n|\\r|\\-|[ -Z]|\\\[|\\\\|\\\]|\^|\\\^|[_-~]%% ; // [2]
Lexical Analyzer States
nullable
[0]: nullable( Scope ) = False
[1]: nullable( '[' ) = False
[2]: nullable( 'firstItem1' ) = False
[3]: nullable( RangeItems ) = False
[4]: nullable( ']' ) = False
[5]: nullable( '[^' ) = False
[6]: nullable( 'firstItem2' ) = False
[7]: nullable( RangeItem ) = False
[8]: nullable( 'char' ) = False
[9]: nullable( ) = True
FIRST
[0]: FIRST( Scope ) = { '[' '[^' }
[1]: FIRST( RangeItems ) = { 'char' }
[2]: FIRST( RangeItem ) = { 'char' }
[3]: FIRST( '[' ) = { '[' }
[4]: FIRST( 'firstItem1' ) = { 'firstItem1' }
[5]: FIRST( ']' ) = { ']' }
[6]: FIRST( '[^' ) = { '[^' }
[7]: FIRST( 'firstItem2' ) = { 'firstItem2' }
[8]: FIRST( 'char' ) = { 'char' }
[9]: FIRST( ) = { empty }
[10]: FIRST( '[' 'firstItem1' RangeItems ']' ) = { '[' }
[11]: FIRST( '[^' 'firstItem2' RangeItems ']' ) = { '[^' }
[12]: FIRST( '[' 'firstItem1' ']' ) = { '[' }
[13]: FIRST( '[^' 'firstItem2' ']' ) = { '[^' }
[14]: FIRST( RangeItems RangeItem ) = { 'char' }
FOLLOW
[0]: FOLLOW( Scope ) = { }
[1]: FOLLOW( RangeItems ) = { ']' 'char' }
[2]: FOLLOW( RangeItem ) = { ']' 'char' }
LL(1) Syntax Machine
状态 |
'[' |
'firstItem1' |
']' |
'[^' |
'firstItem2' |
'char' |
Scope |
R[0] R[2] |
|
|
R[1] R[3] |
|
|
RangeItems |
|
|
|
|
|
R[4] R[5] |
RangeItem |
|
|
|
|
|
R[6] |
LR(0) Syntax Machine
状态 |
'[' |
'firstItem1' |
']' |
'[^' |
'firstItem2' |
'char' |
'¥' |
Scope |
RangeItems |
RangeItem |
0 |
S2 |
|
|
S3 |
|
|
|
G1 |
|
|
1 |
|
|
|
|
|
|
完成 |
|
|
|
2 |
|
S4 |
|
|
|
|
|
|
|
|
3 |
|
|
|
|
S5 |
|
|
|
|
|
4 |
|
|
S7 |
|
|
S9 |
|
|
G6 |
G8 |
5 |
|
|
S11 |
|
|
S9 |
|
|
G10 |
G8 |
6 |
|
|
S12 |
|
|
S9 |
|
|
|
G13 |
7 |
R[2] |
R[2] |
R[2] |
R[2] |
R[2] |
R[2] |
R[2] |
|
|
|
8 |
R[5] |
R[5] |
R[5] |
R[5] |
R[5] |
R[5] |
R[5] |
|
|
|
9 |
R[6] |
R[6] |
R[6] |
R[6] |
R[6] |
R[6] |
R[6] |
|
|
|
10 |
|
|
S14 |
|
|
S9 |
|
|
|
G13 |
11 |
R[3] |
R[3] |
R[3] |
R[3] |
R[3] |
R[3] |
R[3] |
|
|
|
12 |
R[0] |
R[0] |
R[0] |
R[0] |
R[0] |
R[0] |
R[0] |
|
|
|
13 |
R[4] |
R[4] |
R[4] |
R[4] |
R[4] |
R[4] |
R[4] |
|
|
|
14 |
R[1] |
R[1] |
R[1] |
R[1] |
R[1] |
R[1] |
R[1] |
|
|
|
SLR(1) Syntax Machine
状态 |
'[' |
'firstItem1' |
']' |
'[^' |
'firstItem2' |
'char' |
'¥' |
Scope |
RangeItems |
RangeItem |
0 |
S2 |
|
|
S3 |
|
|
|
G1 |
|
|
1 |
|
|
|
|
|
|
完成 |
|
|
|
2 |
|
S4 |
|
|
|
|
|
|
|
|
3 |
|
|
|
|
S5 |
|
|
|
|
|
4 |
|
|
S7 |
|
|
S9 |
|
|
G6 |
G8 |
5 |
|
|
S11 |
|
|
S9 |
|
|
G10 |
G8 |
6 |
|
|
S12 |
|
|
S9 |
|
|
|
G13 |
7 |
|
|
|
|
|
|
R[2] |
|
|
|
8 |
|
|
R[5] |
|
|
R[5] |
|
|
|
|
9 |
|
|
R[6] |
|
|
R[6] |
|
|
|
|
10 |
|
|
S14 |
|
|
S9 |
|
|
|
G13 |
11 |
|
|
|
|
|
|
R[3] |
|
|
|
12 |
|
|
|
|
|
|
R[0] |
|
|
|
13 |
|
|
R[4] |
|
|
R[4] |
|
|
|
|
14 |
|
|
|
|
|
|
R[1] |
|
|
|
LALR(1) Syntax Machine
状态 |
'[' |
'firstItem1' |
']' |
'[^' |
'firstItem2' |
'char' |
'¥' |
Scope |
RangeItems |
RangeItem |
0 |
S2 |
|
|
S3 |
|
|
|
G1 |
|
|
1 |
|
|
|
|
|
|
完成 |
|
|
|
2 |
|
S4 |
|
|
|
|
|
|
|
|
3 |
|
|
|
|
S5 |
|
|
|
|
|
4 |
|
|
S7 |
|
|
S9 |
|
|
G6 |
G8 |
5 |
|
|
S11 |
|
|
S9 |
|
|
G10 |
G8 |
6 |
|
|
S12 |
|
|
S9 |
|
|
|
G13 |
7 |
|
|
|
|
|
|
R[2] |
|
|
|
8 |
|
|
R[5] |
|
|
R[5] |
|
|
|
|
9 |
|
|
R[6] |
|
|
R[6] |
|
|
|
|
10 |
|
|
S14 |
|
|
S9 |
|
|
|
G13 |
11 |
|
|
|
|
|
|
R[3] |
|
|
|
12 |
|
|
|
|
|
|
R[0] |
|
|
|
13 |
|
|
R[4] |
|
|
R[4] |
|
|
|
|
14 |
|
|
|
|
|
|
R[1] |
|
|
|
LR(1) Syntax Machine
状态 |
'[' |
'firstItem1' |
']' |
'[^' |
'firstItem2' |
'char' |
'¥' |
Scope |
RangeItems |
RangeItem |
0 |
S2 |
|
|
S3 |
|
|
|
G1 |
|
|
1 |
|
|
|
|
|
|
完成 |
|
|
|
2 |
|
S4 |
|
|
|
|
|
|
|
|
3 |
|
|
|
|
S5 |
|
|
|
|
|
4 |
|
|
S7 |
|
|
S9 |
|
|
G6 |
G8 |
5 |
|
|
S11 |
|
|
S9 |
|
|
G10 |
G8 |
6 |
|
|
S12 |
|
|
S9 |
|
|
|
G13 |
7 |
|
|
|
|
|
|
R[2] |
|
|
|
8 |
|
|
R[5] |
|
|
R[5] |
|
|
|
|
9 |
|
|
R[6] |
|
|
R[6] |
|
|
|
|
10 |
|
|
S14 |
|
|
S9 |
|
|
|
G13 |
11 |
|
|
|
|
|
|
R[3] |
|
|
|
12 |
|
|
|
|
|
|
R[0] |
|
|
|
13 |
|
|
R[4] |
|
|
R[4] |
|
|
|
|
14 |
|
|
|
|
|
|
R[1] |
|
|
|
End
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)