source: CIVL/grammar/Command.g4@ a777dc1

1.23 2.0 acw/focus-triggers main test-branch
Last change on this file since a777dc1 was 566a657, checked in by Stephen Siegel <siegel@…>, 4 years ago

separated the MPI model to blocking and non-blocking implementations

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5552 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 3.4 KB
Line 
1/**
2* This file defines the syntax of CIVL's command line specification.
3* There are totally 7 commands, namely, config, compare, help,
4* replay, run, show, and verify.
5* There are a number of options to be chosen as well.
6*
7* The usage of the commands are as follows:
8* civl config
9* civl compare [option]* -spec [option]* file+ -impl [option]* file+
10* civl help [command]
11* civl replay [option]* file+ (replay for one program)
12* civl replay [option]* -spec [option]* file+ -impl [option]* file+
13* (replay for the comparison of two programs.)
14* civl run [option]* file+
15* civl show [option]* file+
16* civl verify [option]* file+
17*/
18grammar Command;
19
20/* The top-level rule */
21start
22 :
23 'help' (REPLAY | COMMAND | 'help' | 'config' | 'compare')? NEWLINE # help
24 | 'compare' commonOption? specAndImplCommand NEWLINE #compare
25 | (REPLAY | COMMAND) commandBody NEWLINE #normal
26 | 'config' NEWLINE #config
27 | REPLAY commonOption? specAndImplCommand NEWLINE #replayCompare
28 ;
29
30specAndImplCommand
31 : specCommand implCommand
32 | implCommand specCommand
33 ;
34
35commonOption
36 :
37 option+
38 ;
39
40specCommand
41 :
42 SPEC commandBody
43 ;
44
45implCommand
46 :
47 IMPL commandBody
48 ;
49
50commandBody
51 :
52 option* file+
53 ;
54
55option
56 :
57 OPTION_NAME ('=' value )? # normalOption
58 | INPUT VAR '=' value # inputOption
59 | MACRO VAR ('=' value)? # macroOption
60 ;
61
62file
63 :
64 PATH
65 ;
66
67value
68 : BOOLEAN
69 | VAR
70 | NUMBER
71 | PATH
72 | STRING
73 ;
74
75BOOLEAN
76 : 'true' | 'false'
77 ;
78
79NUMBER
80 :
81 [\-\+]?[0-9]+
82 ;
83
84SPEC
85 :'-spec'
86 ;
87
88IMPL
89 :'-impl'
90 ;
91
92INPUT
93 : '-input'
94 ;
95
96MACRO
97 : '-D'
98 ;
99
100COMMAND:
101 'verify' | 'run' | 'show'
102 ;
103
104REPLAY
105 :
106 'replay'
107 ;
108
109OPTION_NAME
110 :
111 '-_CIVL'
112 | '-checkDivisionByZero'
113 | '-analyze_abs'
114 | '-ast'
115 | '-checkMemoryLeak'
116 | '-collectHeaps'
117 | '-collectOutput'
118 | '-collectProcesses'
119 | '-collectScopes'
120 | '-collectSymbolicConstants'
121 | '-cyclesViolate'
122 | '-deadlock'
123 | '-debug'
124 | '-enablePrintf'
125 | '-errorBound'
126 | '-errorStateEquiv'
127 | '-guided'
128 | '-id'
129 | '-int_bit'
130 | '-direct'
131 | '-loop'
132 | '-maxdepth'
133 | '-min'
134 | '-mpiContract'
135 | '-mpi'
136 | '-ompNoSimplify'
137 | '-ompOnlySimplifier'
138 | '-ompLoopDecomp'
139 | '-preemptionBound'
140 | '-preproc'
141 | '-procBound'
142 | '-prob'
143 | '-maxProcs'
144 | '-quiet'
145 | '-intOperationTransformer'
146 | '-random'
147 | '-runtimeUpdate'
148 | '-saveStates'
149 | '-seed'
150 | '-showMemoryUnits'
151 | '-showAmpleSet'
152 | '-showAmpleSetWtStates'
153 | '-showInputs'
154 | '-showMemoryUnits'
155 | '-showModel'
156 | '-showPathCondition'
157 | '-showProgram'
158 | '-showProverQueries'
159 | '-showQueries'
160 | '-showSavedStates'
161 | '-showStates'
162 | '-showTime'
163 | '-showTransitions'
164 | '-showUnreached'
165 | '-simplify'
166 | '-sliceAnalysis'
167 | '-solve'
168 | '-statelessPrintf'
169 | '-strict'
170 | '-svcomp16'
171 | '-svcomp17'
172 | '-sysIncludePath'
173 | '-timeout'
174 | '-testGen'
175 | '-trace'
176 | '-unpreproc'
177 | '-userIncludePath'
178 | '-verbose'
179 | '-web'
180 | '-witness'
181 ;
182
183VAR
184 :
185 [_a-zA-Z] [_a-zA-Z0-9]*
186 ;
187
188PATH
189 :
190 ([_a-zA-Z0-9\.\/])([_:a-zA-Z0-9\-\.\/])*
191 ;
192
193NEWLINE
194 : '\r'? '\n'
195 ;
196
197STRING
198 : '"' ~[ =\-\r\n\t]+ '"';
199
200WS
201 : [ \t]+ -> skip
202 ;
Note: See TracBrowser for help on using the repository browser.