复件 example.xlex

来自「词法分析器」· XLEX 代码 · 共 121 行

XLEX
121
字号
    //注释测试
/*关键字定义*/
[Keyword_begin] //注释测试
	/*所有关键字每个一行,不能有多余字符*/
	main
	if
	while
	for
	break
	continue
	return
	int
	float
	double
	char
	short
	switch
	case
	default
	string
	read
	write
[Keyword_end]

[Symbol_begin]
~
!
@
%
^
&
\*
\(
\)
-
+
\=
\{
\}
\[
\]
:
;
"
'
\|
\\
<
>
,
.
?
/
<=
>=
==
!=
[Symbol_end]


[type_begin]
	/*
		新的token类型定义
		最好用大写
	*/
	NUM
	FLOATNUM
	CONSTSTRING
	ID		//变量、函数等名称
	NOTATION
	BLANK
[type_end]

[Regular_begin]
	digit	= [0-9]
	letter	= [a-zA-Z]
	all	= [#-~]|\s|!		// \s 为空格
	name_c	= [a-zA-Z]|_
[Regular_end]

[lex_begin]
{digit}{digit}* | -{digit}{digit}*
NUM

{digit}*.{digit}{digit}* | -{digit}*.{digit}{digit}*
FLOATNUM

" {all}* "
CONSTSTRING

{name_c}  ({name_c} | {digit})*
ID

\/ \/  {all}* (\n|\n\r)
NOTATION

(\n | \s | \t | \r)(\n | \s | \t | \r)*		//回车 或者 空格 或者TAB
BLANK
[lex_end]

[nonterminal_begin]
a
b
c
d
e

[nonterminal_end]

[grammer_begin]
a = [b][c]

b = [c][d]

c = [a]

d = <if>

e = <if>

[grammer_end]

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?