⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 helloworldparser.java

📁 java 词法分析器,用于一般的C,C++,VB,PS/SQL 语句的翻译
💻 JAVA
字号:
package fri.patterns.interpreter.parsergenerator.examples;import fri.patterns.interpreter.parsergenerator.Token;import fri.patterns.interpreter.parsergenerator.Lexer;import fri.patterns.interpreter.parsergenerator.Parser;import fri.patterns.interpreter.parsergenerator.ParserTables;import fri.patterns.interpreter.parsergenerator.syntax.Syntax;import fri.patterns.interpreter.parsergenerator.syntax.builder.SyntaxSeparation;import fri.patterns.interpreter.parsergenerator.lexer.LexerBuilder;import fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables;import fri.patterns.interpreter.parsergenerator.semantics.PrintSemantic;/**	"Hello World" example. Checks if "Hello" is followed by "World", arbitrary whitespaces.	This example shows how to build parser and lexer from scratch.		@author Fritz Ritzberger*/public class HelloWorldParser{	private static final String [][] syntax =	{		{ "Start", "\"Hello\"", "\"World\"" },		{ Token.IGNORED, "`whitespaces`" },	};		public static void main(String [] args)		throws Exception	{		SyntaxSeparation separation = new SyntaxSeparation(new Syntax(syntax));	// separate lexer and parser syntax		LexerBuilder builder = new LexerBuilder(separation.getLexerSyntax(), separation.getIgnoredSymbols());	// build a Lexer		Lexer lexer = builder.getLexer();		lexer.setInput("\tHello \r\n\tWorld\n");	// give the lexer some very complex input :-)		ParserTables parserTables = new SLRParserTables(separation.getParserSyntax());		Parser parser = new Parser(parserTables);		parser.parse(lexer, new PrintSemantic());	// start parsing with a print-semantic	}}

⌨️ 快捷键说明

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