summaryrefslogtreecommitdiff
path: root/re2c.rules
blob: 45ade93249e0bf7925466cddb90c517ad2926aea (plain)
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
<?xml version="1.0" encoding="utf-8"?>
<VisualStudioToolFile
	Name="re2c"
	Version="8.00"
	>
	<Rules>
		<CustomBuildRule
			Name="re2c"
			DisplayName="re2c"
			CommandLine="re2c.exe [AllOptions] [AdditionalOptions] [inputs]"
			Outputs="[$OutputFileName]"
			FileExtensions="*.re"
			ExecutionDescription="Compiling regular expressions..."
			>
			<Properties>
				<StringProperty
					Name="OutputFileName"
					DisplayName="Output File Name"
					Description="Specifies the name of the output source file.     (-o[file])"
					Switch="-o&quot;[value]&quot;"
					DefaultValue="$(InputDir)$(InputName).cpp"
				/>
				<EnumProperty
					Name="Version"
					DisplayName="Show Version Information"
					Description="Displays version information at compile-time.     (-v -V)"
					>
					<Values>
						<EnumValue
							Value="0"
							DisplayName="Default"
						/>
						<EnumValue
							Value="1"
							Switch="-v"
							DisplayName="Show Version (-v)"
						/>
						<EnumValue
							Value="2"
							Switch="-V"
							DisplayName="Show Version as a Number (-V)"
						/>
					</Values>
				</EnumProperty>
				<BooleanProperty
					Name="NoLineInfo"
					DisplayName="Suppress Line Information"
					Description="Suppress line-number debugging information in the output file.     (-i)"
					Switch="-i"
				/>
				<BooleanProperty
					Name="NoGenerationDate"
					DisplayName="Suppress Generation Date"
					Description="Suppress generation-date information in the output file.     (--no-generation-date)"
					Switch="--no-generation-date"
				/>
				<EnumProperty
					Name="CharacterSet"
					DisplayName="Scanner Character Set"
					PropertyPageName="Code Generation"
					Description="Specifies the generated scanner&apos;s character set.     (-e, -w, -u)"
					>
					<Values>
						<EnumValue
							Value="0"
							DisplayName="Default"
						/>
						<EnumValue
							Value="1"
							Switch="-e"
							DisplayName="EBCDIC (-e)"
						/>
						<EnumValue
							Value="2"
							Switch="-w"
							DisplayName="UCS-16 (-w)"
						/>
						<EnumValue
							Value="3"
							Switch="-u"
							DisplayName="UTF-32 (-u)"
						/>
					</Values>
				</EnumProperty>
				<EnumProperty
					Name="Optimization"
					DisplayName="Optimization Level"
					PropertyPageName="Code Generation"
					Description="Specifies the optimizations used in the scanner.     (-s, -b, -g)"
					DefaultValue="2"
					>
					<Values>
						<EnumValue
							Value="0"
							DisplayName="None"
						/>
						<EnumValue
							Value="1"
							Switch="-s"
							DisplayName="Use Nested If&apos;s (-s)"
						/>
						<EnumValue
							Value="2"
							Switch="-b"
							DisplayName="Use Bit Vectors (-b)"
						/>
						<EnumValue
							Value="3"
							Switch="-g"
							DisplayName="Use Computed Goto&apos;s (GCC Only) (-g)"
						/>
					</Values>
				</EnumProperty>
				<BooleanProperty
					Name="StorableState"
					DisplayName="Enable Storable State"
					PropertyPageName="Code Generation"
					Description="Generates a scanner with support for storable state.     (-r)"
					Switch="-r"
				/>
				<BooleanProperty
					Name="DebugOutput"
					DisplayName="Enable Debugging Output"
					PropertyPageName="Code Generation"
					Description="Generates a scanner that outputs its current position and state. You must define a YYDEBUG(int state, char current) macro to recieve this information.     (-d)"
					Switch="-d"
				/>
				<BooleanProperty
					Name="SinglePass"
					DisplayName="Single Pass Code Generation"
					PropertyPageName="Code Generation"
					Description="Forces single pass code generation. This disables YYMAXFILL generation prior to last block and cannot be used with storable state.     (-1)"
					Switch="-1"
				/>
				<BooleanProperty
					Name="Conditions"
					DisplayName="Require Start Conditions"
					PropertyPageName="Code Generation"
					Description="Enables support for (f)lex-like conditions.     (-c)"
					Switch="-c"
				/>
				<StringProperty
					Name="TypeHeader"
					DisplayName="Condition Header File"
					PropertyPageName="Code Generation"
					Description="Generates a header file that contains types for the (f)lex-like condition support.     (-t[file])"
					Switch="-t&quot;[value]&quot;"
				/>
			</Properties>
		</CustomBuildRule>
	</Rules>
</VisualStudioToolFile>