PageRenderTime 36ms CodeModel.GetById 18ms RepoModel.GetById 0ms 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
Possible License(s): BSD-3-Clause
  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>