mib.lexer

来自「用C#写的一个OPC CLIENT的工具」· LEXER 代码 · 共 46 行

LEXER
46
字号
%lexer
%token ID { 
	public string id; 
}
%token UNSIGNED { 
	public uint val;
}
%token STRING {
	public string val;
}
DEFINITIONS		%DEFINITIONS
BEGIN			%BEGIN
END				%END
IMPORTS			%IMPORTS
EXPORTS			%EXPORTS
FROM			%FROM
OBJECT(' ')*IDENTIFIER		%OBJECT
OBJECT-IDENTITY	%OBJECT
OBJECT-TYPE		%OBJECT
OBJECT-GROUP	%OBJECT
MODULE-IDENTITY	%OBJECT
MODULE-COMPLIANCE	%OBJECT
TRAP-TYPE		%TRAP
TEXTUAL-CONVENTION	%CONVENTION
DESCRIPTION		%DESCRIPTION
SIZE			%SIZE
SYNTAX			%SYNTAX
SEQUENCE		%SEQUENCE
CHOICE			%SEQUENCE
MODULE			%MODULE
MACRO			%MACRO
OF				%OF
OCTET(' ')*STRING	%TYPEID
[A-Z][-A-Za-z0-9]+	%TYPEID
[0-9]+			%UNSIGNED{ val = uint.Parse(yytext); }
"'"[0-9A-Fa-f]*"'"h	%UNSIGNED
[-A-Za-z0-9]+	%ID { id = yytext; }
"::="			%IS
"--".*			;
".."			%TO
[ \t\r\n]		;
'"'[^\"]*'"'	%STRING { val=yytext; }
"|"				%OR
.				%TOKEN

⌨️ 快捷键说明

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