9627a89eb92534aebd95313c4cc4adaf977a8ed6
[cdsspec-compiler.git] / grammer / spec-compiler.jj
1 /* spec-compiler.jj Grammer definition for the specification */
2
3 options {
4         STATIC = false;
5         JAVA_UNICODE_ESCAPE = true;
6 }
7
8 PARSER_BEGIN(SpecParser)
9 package edu.uci.eecs.specCompiler.grammerParser;
10
11         class SpecParser {
12                 public static void main(String[] argvs)
13                 throws ParseException, TokenMgrError {
14                         SpecParser parser = new SpecParser(System.in);
15                         parser.Start();
16                         System.out.println("Parsing finished!");
17                 }
18         }
19 PARSER_END(SpecParser)
20
21 SKIP : {" " | "\n" | "\r" | "\r\n" | <COMMENT>}
22
23 TOKEN :
24 {
25         <SPACE: (" " | "\t")+>
26 |
27         <COMMENT: <SPACE> "#" (~["\n", "\r"])* ["\n", "\r"]>
28 |
29         <HEAD: "/**">
30 |
31         <TAIL: "*/">
32 |
33         <BEGIN: "@Begin">
34 |
35         <END: "@End">
36 |
37         <ID: "@ID:">
38 |
39         <CONDITION: "@Condition:">
40 |
41         <CHECK: "@Check:">
42 |
43         <ACTION: "@Action:">
44 |
45         <POST_ACTION: "@Post_action:">
46 |
47         <POST_CHECK: "@Post_check:">
48 |
49         <GLOBAL_DEFINE: "@Global_define:">
50 |
51         <HAPPENS_BEFORE: "@Happens_before:">
52 |
53         <INTERFACE_CLUSTER: "@Interface_cluster:">
54 |
55         <POTENTIAL_COMMIT_POINT: "@Potential_commit_point:">
56         
57 }
58
59 void Start() :
60 {}
61 {
62         <HEAD> <BEGIN> <END> <TAIL> <EOF>
63 }