source: CIVL/grammar/Command.g4@ 4209e90

1.23 2.0 main test-branch
Last change on this file since 4209e90 was f944ee6, checked in by Stephen Siegel <siegel@…>, 11 years ago

Partial implementation of procBound. Added option to configuration classes, check in enabler, added method in State to get the number of live procs. Cleaned up some other random code as I encountered problems.

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

  • Property mode set to 100644
File size: 2.8 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')? NEWLINE # help
25 | 'compare' commonOption? specOrImplCommand NEWLINE #compare
26 | (REPLAY | COMMAND) commandBody NEWLINE #normal
27 | 'config' NEWLINE #config
28 | REPLAY commonOption? specOrImplCommand NEWLINE #replayCompare
29 ;
30
31specOrImplCommand
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 '-ast'
112 | '-collectHeaps'
113 | '-collectProcesses'
114 | '-collectScopes'
115 | '-deadlock'
116 | '-debug'
117 | '-echo'
118 | '-enablePrintf'
119 | '-errorBound'
120 | '-gui'
121 | '-guided'
122 | '-id'
123 | '-maxdepth'
124 | '-min'
125 | '-ompNoSimplify'
126 | '-preproc'
127 | '-procBound'
128 | '-random'
129 | '-saveStates'
130 | '-seed'
131 | '-showMemoryUnits'
132 | '-showAmpleSet'
133 | '-showAmpleSetWtStates'
134 | '-showInputs'
135 | '-showMemoryUnits'
136 | '-showModel'
137 | '-showPathCondition'
138 | '-showProgram'
139 | '-showProverQueries'
140 | '-showQueries'
141 | '-showSavedStates'
142 | '-showStates'
143 | '-showTime'
144 | '-showTransitions'
145 | '-simplify'
146 | '-solve'
147 | '-statelessPrintf'
148 | '-svcomp'
149 | '-sysIncludePath'
150 | '-trace'
151 | '-userIncludePath'
152 | '-verbose'
153 | '-web'
154 ;
155
156VAR
157 :
158 [_a-zA-Z] [_a-zA-Z0-9]*
159 ;
160
161PATH
162 :
163 ([_a-zA-Z0-9\.\/])([_a-zA-Z0-9\-\.\/])*
164 ;
165
166NEWLINE
167 : '\r'? '\n'
168 ;
169
170/*STRING
171 : ~[ =\-\r\n\t]+;*/
172
173WS
174 : [ \t]+ -> skip
175 ;
Note: See TracBrowser for help on using the repository browser.