PageRenderTime 123ms CodeModel.GetById 71ms app.highlight 2ms RepoModel.GetById 48ms app.codeStats 0ms

/mordor/ragel.rules

http://github.com/mozy/mordor
Unknown | 202 lines | 202 code | 0 blank | 0 comment | 0 complexity | 8facd501b533170d1e914de7d91e9f07 MD5 | raw file
  1<?xml version="1.0" encoding="utf-8"?>
  2<VisualStudioToolFile
  3	Name="Ragel Finite State Machine Generator"
  4	Version="8.00"
  5	>
  6	<Rules>
  7		<CustomBuildRule
  8			Name="Ragel"
  9			CommandLine="ragel.exe [AllOptions] [AdditionalOptions] --error-format=msvc [inputs]"
 10			Outputs="[$OutputFileName]"
 11			FileExtensions="*.rl"
 12      ExecutionDescription="Generating finite state machines: [inputs]"
 13			>
 14			<Properties>
 15        <StringProperty
 16					Name="OutputFileName"
 17					DisplayName="Output File Name"
 18					PropertyPageName="Output File"
 19					Description="Write output to &lt;file&gt;     (-o &lt;file&gt;)"
 20					Switch="-o &quot;[value]&quot;"
 21					DefaultValue="$(InputName).cpp"
 22				/>
 23        <BooleanProperty
 24					Name="NoDuplicates"
 25					DisplayName="No Duplicate Removal"
 26					Description="Do not remove duplicates from action lists     (-d)"
 27					Switch="-d"
 28					DefaultValue="false"
 29				/>
 30        <StringProperty
 31					Name="IncludePaths"
 32					DisplayName="Include Paths"
 33					Description="Add &lt;dir&gt; to the list of directories to search for included and imported files     (-I [path])"
 34					Switch="-I &quot;[value]&quot;"
 35					Delimited="true"
 36					Inheritable="true"
 37				/>
 38        <EnumProperty
 39          Name="Minimization"
 40          DisplayName="FSM Minimization"
 41          Description="Specifies when to perform fsm minimization    (-n, -m, -l, e)"
 42          >
 43          <Values>
 44            <EnumValue
 45              Value="1"
 46              Switch="-n"
 47              DisplayName="Do not perform minimization (-n)"
 48            />
 49            <EnumValue
 50              Value="2"
 51              Switch="-m"
 52              DisplayName="Minimize at the end of the compilation (-m)"
 53            />
 54            <EnumValue
 55              Value="0"
 56              Switch="-l"
 57              DisplayName="Minimize after most operations (-l)"
 58            />
 59            <EnumValue
 60              Value="3"
 61              Switch="-e"
 62              DisplayName="Minimize after every operation (-e)"
 63            />
 64          </Values>
 65        </EnumProperty>
 66        <BooleanProperty
 67					Name="XML"
 68					DisplayName="Emit XML"
 69					Description="Run the frontend only: emit XML intermediate format     (-x)"
 70					Switch="-x"
 71					DefaultValue="false"
 72          PropertyPageName="Visualization"
 73				/>
 74        <BooleanProperty
 75					Name="Graphviz"
 76					DisplayName="Generate Graphviz"
 77					Description="Generate a dot file for Graphviz     (-V)"
 78					Switch="-V"
 79					DefaultValue="false"
 80          PropertyPageName="Visualization"
 81				/>
 82        <BooleanProperty
 83					Name="PrintableCharacters"
 84					DisplayName="Display printable characters"
 85					Description="Display printable characters on labels     (-p)"
 86					Switch="-p"
 87					DefaultValue="false"
 88          PropertyPageName="Visualization"
 89				/>
 90        <StringProperty
 91          Name="Spec"
 92          DisplayName="Spec"
 93          Description="FSM specification to output (for graphviz output)    (-S &lt;spec&gt;)"
 94          Switch="-S [value]"
 95          PropertyPageName="Visualization"
 96        />
 97        <StringProperty
 98          Name="Machine"
 99          DisplayName="Machine"
100          Description="Machine definition/instantiation to output (for graphviz output)    (-M &lt;spec&gt;)"
101          Switch="-M [value]"
102          PropertyPageName="Visualization"
103        />
104        <EnumProperty
105          Name="Host"
106          DisplayName="Host Language"
107          PropertyPageName="Code Generation"
108          >
109          <Values>
110            <EnumValue
111              Value="0"
112              Switch="-C"
113              DisplayName="C, C++, Obj-C or Obj-C++ (-C)"
114            />
115            <EnumValue
116              Value="1"
117              Switch="-D"
118              DisplayName="D (-D)"
119            />
120            <EnumValue
121              Value="2"
122              Switch="-J"
123              DisplayName="Java (-J)"
124            />
125            <EnumValue
126              Value="3"
127              Switch="-R"
128              DisplayName="Ruby (-R)"
129            />
130            <EnumValue
131              Value="4"
132              Switch="-A"
133              DisplayName="C# (-A)"
134            />
135          </Values>
136        </EnumProperty>
137        <BooleanProperty
138					Name="InhibitLineDirectives"
139					DisplayName="Inhibit line directives"
140					Description="Inhibit the writing of #line directives (C/D/C#)    (-L)"
141					Switch="-L"
142					DefaultValue="false"
143          PropertyPageName="Code Generation"
144				/>
145        <EnumProperty
146          Name="CodeStyle"
147          DisplayName="code style"
148          PropertyPageName="Code Generation"
149          >
150          <Values>
151            <EnumValue
152              Value="0"
153              Switch="-T0"
154              DisplayName="Table driven FSM (C/D/Java/Ruby/C#) (-T0)"
155            />
156            <EnumValue
157              Value="1"
158              Switch="-T1"
159              DisplayName="Faster table driven FSM (C/D/Ruby/C#) (-T1)"
160            />
161            <EnumValue
162              Value="2"
163              Switch="-F0"
164              DisplayName="Flat table driven FSM (C/D/Ruby/C#) (-F0)"
165            />
166            <EnumValue
167              Value="3"
168              Switch="-F1"
169              DisplayName="Faster flat table driven FSM (C/D/Ruby/C#) (-F1)"
170            />
171            <EnumValue
172              Value="4"
173              Switch="-G0"
174              DisplayName="Goto driven FSM (C/D/C#) (-G0)"
175            />
176            <EnumValue
177              Value="5"
178              Switch="-G1"
179              DisplayName="Faster goto driven FSM (C/D/C#) (-G1)"
180            />
181            <EnumValue
182              Value="6"
183              Switch="-G2"
184              DisplayName="Really fast goto driven FSM (C/D) (-G2)"
185            />
186            <EnumValue
187              Value="7"
188              Switch="-P[$NWaySplit]"
189              DisplayName="N-Way Split really fast goto driven FSM (C/D) (-P&lt;N&gt;)"
190            />
191          </Values>
192        </EnumProperty>
193        <IntegerProperty
194          Name="NWaySplit"
195          DisplayName="N"
196          Description="N for N-Way Split really fast goto driven FSM"
197          PropertyPageName="Code Generation"
198        />
199			</Properties>
200		</CustomBuildRule>
201	</Rules>
202</VisualStudioToolFile>