KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fri > patterns > interpreter > parsergenerator > examples > HelloWorldParser2


1 package fri.patterns.interpreter.parsergenerator.examples;
2
3 import fri.patterns.interpreter.parsergenerator.Parser;
4 import fri.patterns.interpreter.parsergenerator.Token;
5 import fri.patterns.interpreter.parsergenerator.parsertables.SLRParserTables;
6 import fri.patterns.interpreter.parsergenerator.builder.SerializedParser;
7 import fri.patterns.interpreter.parsergenerator.semantics.PrintSemantic;
8
9 /**
10     "Hello World" example 2. Checks if "Hello" is followed by "World", arbitrary whitespaces.
11     Shows how to use the serialization parser builder (quick loading for big syntaxes).
12     
13     @author Fritz Ritzberger
14 */

15
16 public class HelloWorldParser2
17 {
18     private static final String JavaDoc [][] syntax = {
19         { "Start", "\"Hello\"", "\"World\"" },
20         { Token.IGNORED, "`whitespaces`" },
21     };
22     
23     public static void main(String JavaDoc [] args)
24         throws Exception JavaDoc
25     {
26         Parser parser = new SerializedParser().get(SLRParserTables.class, syntax, "HelloWorld2"); // generates "$HOME/.friware/parsers/HelloWorld2Parser.ser"
27
parser.setInput("\tHello \r\n\tWorld\n"); // give the lexer some very complex input :-)
28
parser.parse(new PrintSemantic()); // start parsing with a print-semantic
29
}
30
31 }
32
Popular Tags