-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFlexBison.xml
More file actions
445 lines (445 loc) · 16.2 KB
/
FlexBison.xml
File metadata and controls
445 lines (445 loc) · 16.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">
<Rule
Name="FlexGenerator"
PageTemplate="tool"
DisplayName="Flex Generator"
Order="200">
<Rule.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="FlexGenerator" />
</Rule.DataSource>
<Rule.Categories>
<Category
Name="General">
<Category.DisplayName>
<sys:String>General</sys:String>
</Category.DisplayName>
</Category>
<Category
Name="Command Line"
Subtype="CommandLine">
<Category.DisplayName>
<sys:String>Command Line</sys:String>
</Category.DisplayName>
</Category>
</Rule.Categories>
<StringListProperty
Name="Inputs"
Category="Command Line"
IsRequired="true"
Switch=" ">
<StringListProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="FlexGenerator"
SourceType="Item" />
</StringListProperty.DataSource>
</StringListProperty>
<BoolProperty
Name="BackingUpInfo"
Subcategory="Debug information"
HelpContext="0"
DisplayName="Generate backing-up information"
Description="Generates the file 'lex.backup' that contains a list of scanner states which require backing up and the input characters on which they do so."
Switch="-b" />
<BoolProperty
Name="DebuggerOn"
Subcategory="Debug information"
HelpContext="0"
DisplayName="Run in debug mode"
Description="Turn on debug mode in generated scanner"
Switch="-d" />
<BoolProperty
Name="GenFast"
Category="Performance"
HelpContext="0"
DisplayName="Generate fast large scanner"
Description="Generate fast, large scanner"
Switch="-f" />
<BoolProperty
Name="CaseInsensitive"
HelpContext="0"
DisplayName="Case insensitive scanner"
Description="The case of letters given in the flex input patterns will be ignored, and tokens in the input will be matched regardless of case"
Switch="-i" />
<BoolProperty
Name="CompatibilityOn"
HelpContext="0"
DisplayName="Maximum compatibility with lex"
Description="Turns on maximum compatibility with the original AT&T lex implementation. Note that this does not mean full compatibility."
Switch="-l" />
<BoolProperty
Name="PerformanceReport"
Category="Performance"
HelpContext="0"
DisplayName="Generate performance report"
Description="Generates a performance report to stderr. The report consists of comments regarding features of the flex input file which will cause a serious loss of performance in the resulting scanner."
Switch="-p" />
<BoolProperty
Name="SuppressDefault"
HelpContext="0"
DisplayName="Suppress the default rule"
Description="Causes the default rule (that unmatched scanner input is echoed to stdout) to be suppressed. If the scanner encounters input that does not match any of its rules, it aborts with an error."
Switch="-s" />
<BoolProperty
Name="SuppressWarnings"
HelpContext="0"
DisplayName="Suppress warning messages"
Description="Suppress warning messages."
Switch="-w" />
<BoolProperty
Name="BatchScanner"
Category="Performance"
HelpContext="0"
DisplayName="Generate Batch Scanner"
Description="Instructs flex to generate a batch scanner. In general, you use '-B' when you are certain that your scanner will never be used interactively, and you want to squeeze a little more performance out of it."
Switch="-B" />
<BoolProperty
Name="FastScanner"
Category="Performance"
HelpContext="0"
DisplayName="Use fast scanner table representation"
Description="Specifies that the fast scanner table representation should be used (and stdio bypassed). This representation is about as fast as the full table representation '(-f)', and for some sets of patterns will be considerably smaller (and for others, larger)."
Switch="-F" />
<BoolProperty
Name="InteractiveScanner"
Category="Performance"
HelpContext="0"
DisplayName="Generate an interactive scanner"
Description="Instructs flex to generate an interactive scanner. An interactive scanner is one that only looks ahead to decide what token has been matched if it absolutely must."
Switch="-I" />
<BoolProperty
Name="NoGenLineDirectives"
Subcategory="Debug information"
HelpContext="0"
DisplayName="Don't generate #line directives"
Description="Instructs flex not to generate '#line' directives. Without this option, flex peppers the generated scanner with #line directives so error messages in the actions will be correctly located with respect to either the original flex input file."
Switch="-L" />
<BoolProperty
Name="TraceMode"
Subcategory="Debug information"
HelpContext="0"
DisplayName="Trace mode"
Description="Makes flex run in trace mode. It will generate a lot of messages to stderr concerning the form of the input and the resultant non-deterministic and deterministic finite automata."
Switch="-T" />
<StringProperty
Name="OutputFile"
HelpContext="0"
DisplayName="Output File"
Description="The output file containing the implementation of the analyser"
Switch="-o[value]" />
<StringProperty
Name="ScannerPrefix"
HelpContext="0"
DisplayName="Scanner Prefix"
Description="Specify scanner prefix other than yy"
Switch="-P[value]" />
<StringProperty
Name="SkeletonFile"
HelpContext="0"
DisplayName="Use custom skeleton"
Description="Overrides the default skeleton file from which flex constructs its scanners"
Switch="-S[value]" />
<EnumProperty
Name="TableCompression"
Category="Performance"
HelpContext="0"
DisplayName="Table Compression"
Description="Controls the degree of table compression and, more generally, trade-offs between small scanners and fast scanners.">
<EnumValue
Name="0"
DisplayName="Equivalence classes and meta-equivalence classes (slowest & smallest)"
Switch="-Cem" />
<EnumValue
Name="1"
DisplayName="Meta-equivalence classes"
Switch="-Cm" />
<EnumValue
Name="2"
DisplayName="Equivalence classes"
Switch="-Ce" />
<EnumValue
Name="3"
DisplayName="Compress scanner tables"
Switch="-C" />
<EnumValue
Name="4"
DisplayName="Full scanner tables and equivalence classes"
Switch="-Cfe" />
<EnumValue
Name="5"
DisplayName="Alternate fast scanner representation and equivalence classes"
Switch="-CFe" />
<EnumValue
Name="6"
DisplayName="Full scanner tables"
Switch="-Cf" />
<EnumValue
Name="7"
DisplayName="Alternate fast scanner representation"
Switch="-CF" />
<EnumValue
Name="8"
DisplayName="Align data in full scanner tables (fastest & largest)"
Switch="-Cfa" />
<EnumValue
Name="9"
DisplayName="Align data in the alternate fast scanner representation (fastest & largest)"
Switch="-CFa" />
</EnumProperty>
<StringProperty
Name="CommandLineTemplate"
DisplayName="Command Line"
Visible="False"
IncludeInCommandLine="False" />
<DynamicEnumProperty
Name="FlexGeneratorBeforeTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False">
<DynamicEnumProperty.DisplayName>
<sys:String>Execute Before</sys:String>
</DynamicEnumProperty.DisplayName>
<DynamicEnumProperty.Description>
<sys:String>Specifies the targets for the build customization to run before.</sys:String>
</DynamicEnumProperty.Description>
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^FlexGeneratorBeforeTargets|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<DynamicEnumProperty
Name="FlexGeneratorAfterTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False">
<DynamicEnumProperty.DisplayName>
<sys:String>Execute After</sys:String>
</DynamicEnumProperty.DisplayName>
<DynamicEnumProperty.Description>
<sys:String>Specifies the targets for the build customization to run after.</sys:String>
</DynamicEnumProperty.Description>
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^FlexGeneratorAfterTargets|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType=""
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<StringListProperty
Name="Outputs"
DisplayName="Outputs"
Visible="False"
IncludeInCommandLine="False" />
<StringProperty
Name="ExecutionDescription"
DisplayName="Execution Description"
Visible="False"
IncludeInCommandLine="False" />
<StringListProperty
Name="AdditionalDependencies"
DisplayName="Additional Dependencies"
IncludeInCommandLine="False"
Visible="false" />
<StringProperty
Subtype="AdditionalOptions"
Name="AdditionalOptions"
Category="Command Line">
<StringProperty.DisplayName>
<sys:String>Additional Options</sys:String>
</StringProperty.DisplayName>
<StringProperty.Description>
<sys:String>Additional Options</sys:String>
</StringProperty.Description>
</StringProperty>
</Rule>
<ItemType
Name="FlexGenerator"
DisplayName="Flex Generator" />
<FileExtension
Name="*.l"
ContentType="FlexGenerator" />
<ContentType
Name="FlexGenerator"
DisplayName="Flex Generator"
ItemType="FlexGenerator" />
<Rule
Name="BisonParser"
PageTemplate="tool"
DisplayName="Bison Parser"
Order="200">
<Rule.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="BisonParser" />
</Rule.DataSource>
<Rule.Categories>
<Category
Name="General">
<Category.DisplayName>
<sys:String>General</sys:String>
</Category.DisplayName>
</Category>
<Category
Name="Command Line"
Subtype="CommandLine">
<Category.DisplayName>
<sys:String>Command Line</sys:String>
</Category.DisplayName>
</Category>
</Rule.Categories>
<StringListProperty
Name="Inputs"
Category="Command Line"
IsRequired="true"
Switch=" ">
<StringListProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="BisonParser"
SourceType="Item" />
</StringListProperty.DataSource>
</StringListProperty>
<BoolProperty
Name="Defines"
HelpContext="0"
DisplayName="Use defines"
Description="Write an extra output file containing macro definitions for the token type names defined in the grammar and the semantic value type YYSTYPE, as well as a few extern variable declarations"
Switch="-d" />
<BoolProperty
Name="NoGenLineDirectives"
HelpContext="0"
DisplayName="Don't generate '#line' directives"
Description="Don't put any #line preprocessor commands in the parser file. Ordinarily Bison puts them in the parser file so that the C compiler and debuggers will associate errors with your source file, the grammar file."
Switch="-l" />
<BoolProperty
Name="DebuggerOn"
HelpContext="0"
DisplayName="Compile debugging facilities"
Description="Output a definition of the macro YYDEBUG into the parser file, so that the debugging facilities are compiled"
Switch="-t" />
<BoolProperty
Name="Verbose"
HelpContext="0"
DisplayName="Output parser states"
Description="Write an extra output file containing verbose descriptions of the parser states and what is done for each type of look-ahead token in that state"
Switch="-v" />
<StringProperty
Name="FilePrefix"
HelpContext="0"
DisplayName="File Prefix"
Description="Specify a prefix to use for all Bison output file names"
Switch="-b [value]" />
<StringProperty
Name="OutputFile"
HelpContext="0"
DisplayName="Output file name"
Description="Specify the name outfile for the parser file"
Switch="-o [value]" />
<StringProperty
Name="RenameExternalSymbols"
HelpContext="0"
DisplayName="Rename External Symbols"
Description="Rename the external symbols used in the parser so that they start with prefix instead of `yy'."
Switch="-p [value]" />
<StringProperty
Name="CommandLineTemplate"
DisplayName="Command Line"
Visible="False"
IncludeInCommandLine="False" />
<DynamicEnumProperty
Name="BisonParserBeforeTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False">
<DynamicEnumProperty.DisplayName>
<sys:String>Execute Before</sys:String>
</DynamicEnumProperty.DisplayName>
<DynamicEnumProperty.Description>
<sys:String>Specifies the targets for the build customization to run before.</sys:String>
</DynamicEnumProperty.Description>
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^BisonParserBeforeTargets|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<DynamicEnumProperty
Name="BisonParserAfterTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False">
<DynamicEnumProperty.DisplayName>
<sys:String>Execute After</sys:String>
</DynamicEnumProperty.DisplayName>
<DynamicEnumProperty.Description>
<sys:String>Specifies the targets for the build customization to run after.</sys:String>
</DynamicEnumProperty.Description>
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^BisonParserAfterTargets|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType=""
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<StringListProperty
Name="Outputs"
DisplayName="Outputs"
Visible="False"
IncludeInCommandLine="False" />
<StringProperty
Name="ExecutionDescription"
DisplayName="Execution Description"
Visible="False"
IncludeInCommandLine="False" />
<StringListProperty
Name="AdditionalDependencies"
DisplayName="Additional Dependencies"
IncludeInCommandLine="False"
Visible="false" />
<StringProperty
Subtype="AdditionalOptions"
Name="AdditionalOptions"
Category="Command Line">
<StringProperty.DisplayName>
<sys:String>Additional Options</sys:String>
</StringProperty.DisplayName>
<StringProperty.Description>
<sys:String>Additional Options</sys:String>
</StringProperty.Description>
</StringProperty>
</Rule>
<ItemType
Name="BisonParser"
DisplayName="Bison Parser" />
<FileExtension
Name="*.y"
ContentType="BisonParser" />
<ContentType
Name="BisonParser"
DisplayName="Bison Parser"
ItemType="BisonParser" />
</ProjectSchemaDefinitions>