data.g

来自「Java写的词法/语法分析器。可生成JAVA语言或者是C++的词法和语法分析器。」· G 代码 · 共 35 行

G
35
字号
options {
	language = "Sather";
}

class DATA_PARSER extends Parser;
{
   println ( s : STR ) is
     #OUT + s + "\n";
   end;
}
   
file:	(	sh:SHORT	{println(sh.text);}
		|	st:STRING	{println("\"" + st.text + "\"");}
		)+
	;

class DATA_LEXER extends Lexer;
options {
	charVocabulary = '\u0000'..'\u00FF';
}

SHORT
	:	'\0' high:. lo:.
		{
		v : INT := high.int.lshift(8) + lo.int;
		%setText(""+v);
		}
	;

STRING
	:	'\1'!	// begin string (discard)
		( ~'\2' )*
		'\2'!	// end string (discard)
	;

⌨️ 快捷键说明

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