source: CIVL/grammar/Command.g4@ b367a27

1.23 2.0 main test-branch
Last change on this file since b367a27 was 73090b5, checked in by Matthew B. Dwyer <matthewbdwyer@…>, 10 years ago

This commit implements a set of finer distinctions among error states in order to suppress redundant error reports. Errors of a different kind are never equivalent. Currently command line option "-errorStateEquiv" can control the equivalence based on the source location of the error (LOC), the call stacks of the processes (CALLSTACK), and the full trace (FULL). The default is "LOC" which is the prior default.

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

  • Property mode set to 100644
File size: 3.1 KB
Line 
1/**
2* This file defines the syntax of CIVL's command line specification.
3* There are totally 8 commands, namely, config, compare, gui, 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 gui (no options needed)
11* civl help [command]
12* civl replay [option]* file+ (replay for one program)
13* civl replay [option]* -spec [option]* file+ -impl [option]* file+
14* (replay for the comparison of two programs.)
15* civl run [option]* file+
16* civl show [option]* file+
17* civl verify [option]* file+
18*/
19grammar Command;
20
21/* The top-level rule */
22start
23 :
24 'help' (REPLAY | COMMAND | 'help' | 'config' | 'compare')? NEWLINE # help
25 | 'compare' commonOption? specAndImplCommand NEWLINE #compare
26 | (REPLAY | COMMAND) commandBody NEWLINE #normal
27 | 'config' NEWLINE #config
28 | REPLAY commonOption? specAndImplCommand NEWLINE #replayCompare
29 ;
30
31specAndImplCommand
32 : specCommand implCommand
33 | implCommand specCommand
34 ;
35
36commonOption
37 :
38 option+
39 ;
40
41specCommand
42 :
43 SPEC commandBody
44 ;
45
46implCommand
47 :
48 IMPL commandBody
49 ;
50
51commandBody
52 :
53 option* file+
54 ;
55
56option
57 :
58 OPTION_NAME ('=' value )? # normalOption
59 | INPUT VAR '=' value # inputOption
60 | MACRO VAR ('=' value)? # macroOption
61 ;
62
63file
64 :
65 PATH
66 ;
67
68value
69 : BOOLEAN
70 | VAR
71 | NUMBER
72 | PATH
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' | 'gui'
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 | '-deadlock'
121 | '-debug'
122 | '-enablePrintf'
123 | '-errorBound'
124 | '-errorStateEquiv'
125 | '-gui'
126 | '-guided'
127 | '-id'
128 | '-maxdepth'
129 | '-min'
130 | '-mpiContract'
131 | '-ompNoSimplify'
132 | '-ompLoopDecomp'
133 | '-preproc'
134 | '-procBound'
135 | '-pthreadOnly'
136 | '-random'
137 | '-saveStates'
138 | '-seed'
139 | '-showMemoryUnits'
140 | '-showAmpleSet'
141 | '-showAmpleSetWtStates'
142 | '-showInputs'
143 | '-showMemoryUnits'
144 | '-showModel'
145 | '-showPathCondition'
146 | '-showProgram'
147 | '-showProverQueries'
148 | '-showQueries'
149 | '-showSavedStates'
150 | '-showStates'
151 | '-showTime'
152 | '-showTransitions'
153 | '-showUnreached'
154 | '-simplify'
155 | '-solve'
156 | '-statelessPrintf'
157 | '-strict'
158 | '-svcomp16'
159 | '-sysIncludePath'
160 | '-timeout'
161 | '-trace'
162 | '-userIncludePath'
163 | '-verbose'
164 | '-web'
165 ;
166
167VAR
168 :
169 [_a-zA-Z] [_a-zA-Z0-9]*
170 ;
171
172PATH
173 :
174 ([_a-zA-Z0-9\.\/])([_:a-zA-Z0-9\-\.\/])*
175 ;
176
177NEWLINE
178 : '\r'? '\n'
179 ;
180
181/*STRING
182 : ~[ =\-\r\n\t]+;*/
183
184WS
185 : [ \t]+ -> skip
186 ;
Note: See TracBrowser for help on using the repository browser.