taskjuggler 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. data/CHANGELOG +119 -0
  2. data/benchmarks/allocatedSlots.tjp +1602 -0
  3. data/benchmarks/booking.tjp +40 -30
  4. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
  5. data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
  6. data/benchmarks/gantt.tjp +57 -0
  7. data/benchmarks/htmltaskreport.tjp +26 -1
  8. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
  9. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
  10. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
  11. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
  12. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
  13. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
  14. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
  15. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
  16. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
  17. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
  18. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
  19. data/benchmarks/profile.clt +36082 -0
  20. data/benchmarks/profile.html +58182 -0
  21. data/benchmarks/runbench.rb +6 -0
  22. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
  23. data/doc/AppConfig.html +85 -37
  24. data/doc/Arguments.html +11 -1
  25. data/doc/CHANGELOG.html +131 -2
  26. data/doc/COPYING.html +11 -1
  27. data/doc/Object.html +12 -3
  28. data/doc/README.html +11 -1
  29. data/doc/RuntimeConfig.html +11 -1
  30. data/doc/String.html +11 -1
  31. data/doc/StringIO.html +11 -1
  32. data/doc/TaskJuggler.html +250 -219
  33. data/doc/TaskJuggler/Account.html +11 -1
  34. data/doc/TaskJuggler/AccountAttribute.html +11 -1
  35. data/doc/TaskJuggler/AccountScenario.html +11 -1
  36. data/doc/TaskJuggler/Allocation.html +11 -1
  37. data/doc/TaskJuggler/AllocationAttribute.html +11 -1
  38. data/doc/TaskJuggler/AttributeBase.html +11 -1
  39. data/doc/TaskJuggler/AttributeDefinition.html +11 -1
  40. data/doc/TaskJuggler/BatchProcessor.html +11 -1
  41. data/doc/TaskJuggler/Booking.html +11 -1
  42. data/doc/TaskJuggler/BookingListAttribute.html +11 -1
  43. data/doc/TaskJuggler/BooleanAttribute.html +11 -1
  44. data/doc/TaskJuggler/CSVFile.html +12 -2
  45. data/doc/TaskJuggler/CellSettingPattern.html +11 -1
  46. data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
  47. data/doc/TaskJuggler/Charge.html +11 -1
  48. data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
  49. data/doc/TaskJuggler/ChargeSet.html +11 -1
  50. data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
  51. data/doc/TaskJuggler/CollisionDetector.html +1063 -0
  52. data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
  53. data/doc/TaskJuggler/ColumnTable.html +11 -1
  54. data/doc/TaskJuggler/Daemon.html +11 -1
  55. data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
  56. data/doc/TaskJuggler/DataCacheEntry.html +711 -0
  57. data/doc/TaskJuggler/DateAttribute.html +11 -1
  58. data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
  59. data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
  60. data/doc/TaskJuggler/DurationAttribute.html +16 -5
  61. data/doc/TaskJuggler/FileList.html +11 -1
  62. data/doc/TaskJuggler/FileRecord.html +11 -1
  63. data/doc/TaskJuggler/FixnumAttribute.html +19 -9
  64. data/doc/TaskJuggler/FlagListAttribute.html +29 -19
  65. data/doc/TaskJuggler/FloatAttribute.html +23 -13
  66. data/doc/TaskJuggler/FormatListAttribute.html +19 -9
  67. data/doc/TaskJuggler/GanttChart.html +94 -133
  68. data/doc/TaskJuggler/GanttContainer.html +11 -1
  69. data/doc/TaskJuggler/GanttHeader.html +11 -1
  70. data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
  71. data/doc/TaskJuggler/GanttLine.html +11 -1
  72. data/doc/TaskJuggler/GanttLoadStack.html +11 -1
  73. data/doc/TaskJuggler/GanttMilestone.html +11 -1
  74. data/doc/TaskJuggler/GanttRouter.html +247 -596
  75. data/doc/TaskJuggler/GanttTaskBar.html +11 -1
  76. data/doc/TaskJuggler/HTMLDocument.html +11 -1
  77. data/doc/TaskJuggler/HTMLGraphics.html +11 -1
  78. data/doc/TaskJuggler/Interval.html +11 -1
  79. data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
  80. data/doc/TaskJuggler/JobInfo.html +11 -1
  81. data/doc/TaskJuggler/Journal.html +11 -1
  82. data/doc/TaskJuggler/JournalEntry.html +11 -1
  83. data/doc/TaskJuggler/JournalEntryList.html +11 -1
  84. data/doc/TaskJuggler/KeywordArray.html +11 -1
  85. data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
  86. data/doc/TaskJuggler/Limits.html +11 -1
  87. data/doc/TaskJuggler/Limits/Limit.html +11 -1
  88. data/doc/TaskJuggler/LimitsAttribute.html +24 -14
  89. data/doc/TaskJuggler/ListAttributeBase.html +11 -1
  90. data/doc/TaskJuggler/Log.html +11 -1
  91. data/doc/TaskJuggler/LogFile.html +11 -1
  92. data/doc/TaskJuggler/LogicalAttribute.html +11 -1
  93. data/doc/TaskJuggler/LogicalExpression.html +11 -1
  94. data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
  95. data/doc/TaskJuggler/LogicalFlag.html +11 -1
  96. data/doc/TaskJuggler/LogicalFunction.html +11 -1
  97. data/doc/TaskJuggler/LogicalOperation.html +11 -1
  98. data/doc/TaskJuggler/Macro.html +11 -1
  99. data/doc/TaskJuggler/MacroTable.html +11 -1
  100. data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
  101. data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
  102. data/doc/TaskJuggler/Message.html +11 -1
  103. data/doc/TaskJuggler/MessageHandler.html +11 -1
  104. data/doc/TaskJuggler/Navigator.html +12 -2
  105. data/doc/TaskJuggler/NavigatorElement.html +11 -1
  106. data/doc/TaskJuggler/NikuProject.html +11 -1
  107. data/doc/TaskJuggler/NikuReport.html +11 -1
  108. data/doc/TaskJuggler/NikuResource.html +11 -1
  109. data/doc/TaskJuggler/NodeListAttribute.html +17 -7
  110. data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
  111. data/doc/TaskJuggler/ProcessIntercom.html +11 -1
  112. data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
  113. data/doc/TaskJuggler/Project.html +587 -500
  114. data/doc/TaskJuggler/ProjectBroker.html +11 -1
  115. data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
  116. data/doc/TaskJuggler/ProjectFileParser.html +205 -192
  117. data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
  118. data/doc/TaskJuggler/ProjectRecord.html +11 -1
  119. data/doc/TaskJuggler/ProjectServer.html +11 -1
  120. data/doc/TaskJuggler/ProjectServerIface.html +11 -1
  121. data/doc/TaskJuggler/PropertyAttribute.html +19 -9
  122. data/doc/TaskJuggler/PropertyList.html +95 -83
  123. data/doc/TaskJuggler/PropertySet.html +11 -1
  124. data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
  125. data/doc/TaskJuggler/Query.html +234 -232
  126. data/doc/TaskJuggler/RTFHandlers.html +11 -1
  127. data/doc/TaskJuggler/RTFNavigator.html +11 -1
  128. data/doc/TaskJuggler/RTFQuery.html +11 -1
  129. data/doc/TaskJuggler/RTFReport.html +11 -1
  130. data/doc/TaskJuggler/RTFReportLink.html +11 -1
  131. data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
  132. data/doc/TaskJuggler/RealFormat.html +12 -2
  133. data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
  134. data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
  135. data/doc/TaskJuggler/Report.html +96 -113
  136. data/doc/TaskJuggler/ReportBase.html +161 -152
  137. data/doc/TaskJuggler/ReportContext.html +11 -1
  138. data/doc/TaskJuggler/ReportServer.html +59 -48
  139. data/doc/TaskJuggler/ReportServerIface.html +51 -41
  140. data/doc/TaskJuggler/ReportServerRecord.html +11 -1
  141. data/doc/TaskJuggler/ReportServlet.html +11 -1
  142. data/doc/TaskJuggler/ReportTable.html +46 -25
  143. data/doc/TaskJuggler/ReportTableCell.html +296 -275
  144. data/doc/TaskJuggler/ReportTableColumn.html +14 -4
  145. data/doc/TaskJuggler/ReportTableLegend.html +11 -1
  146. data/doc/TaskJuggler/ReportTableLine.html +19 -7
  147. data/doc/TaskJuggler/Resource.html +12 -2
  148. data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
  149. data/doc/TaskJuggler/ResourceListRE.html +11 -1
  150. data/doc/TaskJuggler/ResourceScenario.html +708 -565
  151. data/doc/TaskJuggler/RichText.html +54 -36
  152. data/doc/TaskJuggler/RichTextAttribute.html +31 -21
  153. data/doc/TaskJuggler/RichTextDocument.html +11 -1
  154. data/doc/TaskJuggler/RichTextElement.html +11 -1
  155. data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
  156. data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
  157. data/doc/TaskJuggler/RichTextImage.html +11 -1
  158. data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
  159. data/doc/TaskJuggler/RichTextParser.html +88 -33
  160. data/doc/TaskJuggler/RichTextScanner.html +45 -35
  161. data/doc/TaskJuggler/RichTextSnip.html +11 -1
  162. data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
  163. data/doc/TaskJuggler/Scenario.html +11 -1
  164. data/doc/TaskJuggler/ScenarioData.html +11 -1
  165. data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
  166. data/doc/TaskJuggler/Scoreboard.html +92 -73
  167. data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
  168. data/doc/TaskJuggler/SheetReceiver.html +11 -1
  169. data/doc/TaskJuggler/SheetSender.html +11 -1
  170. data/doc/TaskJuggler/Shift.html +11 -1
  171. data/doc/TaskJuggler/ShiftAssignment.html +11 -1
  172. data/doc/TaskJuggler/ShiftAssignments.html +11 -1
  173. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
  174. data/doc/TaskJuggler/ShiftScenario.html +11 -1
  175. data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
  176. data/doc/TaskJuggler/SortListAttribute.html +21 -11
  177. data/doc/TaskJuggler/SourceFileInfo.html +11 -1
  178. data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
  179. data/doc/TaskJuggler/StatusSheetReport.html +11 -1
  180. data/doc/TaskJuggler/StatusSheetSender.html +112 -11
  181. data/doc/TaskJuggler/StringAttribute.html +23 -13
  182. data/doc/TaskJuggler/SymbolAttribute.html +19 -9
  183. data/doc/TaskJuggler/SyntaxReference.html +80 -71
  184. data/doc/TaskJuggler/TOCEntry.html +11 -1
  185. data/doc/TaskJuggler/TSResourceRecord.html +11 -1
  186. data/doc/TaskJuggler/TSTaskRecord.html +11 -1
  187. data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
  188. data/doc/TaskJuggler/TableOfContents.html +11 -1
  189. data/doc/TaskJuggler/TableReport.html +422 -411
  190. data/doc/TaskJuggler/Task.html +11 -1
  191. data/doc/TaskJuggler/TaskDependency.html +11 -1
  192. data/doc/TaskJuggler/TaskListAttribute.html +33 -23
  193. data/doc/TaskJuggler/TaskListRE.html +11 -1
  194. data/doc/TaskJuggler/TaskScenario.html +2007 -1919
  195. data/doc/TaskJuggler/TextFormatter.html +11 -1
  196. data/doc/TaskJuggler/TextParser.html +421 -612
  197. data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
  198. data/doc/TaskJuggler/TextParser/Rule.html +224 -152
  199. data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
  200. data/doc/TaskJuggler/TextParser/State.html +989 -0
  201. data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
  202. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
  203. data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
  204. data/doc/TaskJuggler/TextReport.html +11 -1
  205. data/doc/TaskJuggler/TextScanner.html +285 -273
  206. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
  207. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
  208. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
  209. data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
  210. data/doc/TaskJuggler/TimeSheet.html +11 -1
  211. data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
  212. data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
  213. data/doc/TaskJuggler/TimeSheetReport.html +11 -1
  214. data/doc/TaskJuggler/TimeSheetSender.html +11 -1
  215. data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
  216. data/doc/TaskJuggler/TimeSheets.html +11 -1
  217. data/doc/TaskJuggler/Tj3AppBase.html +11 -1
  218. data/doc/TaskJuggler/Tj3Client.html +11 -1
  219. data/doc/TaskJuggler/Tj3Daemon.html +11 -1
  220. data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
  221. data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
  222. data/doc/TaskJuggler/Tj3SsSender.html +11 -1
  223. data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
  224. data/doc/TaskJuggler/Tj3TsSender.html +11 -1
  225. data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
  226. data/doc/TaskJuggler/TjException.html +11 -1
  227. data/doc/TaskJuggler/TjTime.html +474 -324
  228. data/doc/TaskJuggler/TjpExample.html +11 -1
  229. data/doc/TaskJuggler/TjpExportRE.html +11 -1
  230. data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
  231. data/doc/TaskJuggler/URLParameter.html +11 -1
  232. data/doc/TaskJuggler/UserManual.html +11 -1
  233. data/doc/TaskJuggler/VimSyntax.html +11 -1
  234. data/doc/TaskJuggler/WebServer.html +11 -1
  235. data/doc/TaskJuggler/WorkingHours.html +295 -221
  236. data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
  237. data/doc/TaskJuggler/XMLBlob.html +11 -1
  238. data/doc/TaskJuggler/XMLComment.html +11 -1
  239. data/doc/TaskJuggler/XMLDocument.html +11 -1
  240. data/doc/TaskJuggler/XMLElement.html +11 -1
  241. data/doc/TaskJuggler/XMLNamedText.html +11 -1
  242. data/doc/TaskJuggler/XMLText.html +11 -1
  243. data/doc/index.html +694 -624
  244. data/doc/lib/AppConfig_rb.html +1 -1
  245. data/doc/lib/Attributes_rb.html +1 -1
  246. data/doc/lib/Booking_rb.html +1 -1
  247. data/doc/lib/DataCache_rb.html +69 -0
  248. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  249. data/doc/lib/ProjectFileParser_rb.html +1 -1
  250. data/doc/lib/ProjectFileScanner_rb.html +1 -1
  251. data/doc/lib/Project_rb.html +1 -1
  252. data/doc/lib/PropertyList_rb.html +1 -1
  253. data/doc/lib/Query_rb.html +1 -1
  254. data/doc/lib/RealFormat_rb.html +1 -1
  255. data/doc/lib/ResourceScenario_rb.html +1 -1
  256. data/doc/lib/Resource_rb.html +1 -1
  257. data/doc/lib/RichTextParser_rb.html +1 -1
  258. data/doc/lib/RichTextScanner_rb.html +1 -1
  259. data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
  260. data/doc/lib/RichText_rb.html +1 -1
  261. data/doc/lib/Scoreboard_rb.html +1 -1
  262. data/doc/lib/StatusSheetSender_rb.html +1 -1
  263. data/doc/lib/SyntaxReference_rb.html +1 -1
  264. data/doc/lib/TaskJuggler_rb.html +1 -1
  265. data/doc/lib/TaskScenario_rb.html +3 -1
  266. data/doc/lib/TextParser/Pattern_rb.html +3 -1
  267. data/doc/lib/TextParser/Rule_rb.html +3 -1
  268. data/doc/lib/TextParser/StackElement_rb.html +3 -1
  269. data/doc/lib/TextParser/State_rb.html +65 -0
  270. data/doc/lib/TextParser_rb.html +1 -1
  271. data/doc/lib/TextScanner_rb.html +1 -1
  272. data/doc/lib/Tj3Config_rb.html +1 -1
  273. data/doc/lib/TjTime_rb.html +1 -1
  274. data/doc/lib/TjpSyntaxRules_rb.html +1 -1
  275. data/doc/lib/WorkingHours_rb.html +3 -1
  276. data/doc/lib/daemon/ReportServer_rb.html +1 -1
  277. data/doc/lib/reports/CSVFile_rb.html +1 -1
  278. data/doc/lib/reports/CollisionDetector_rb.html +67 -0
  279. data/doc/lib/reports/GanttChart_rb.html +1 -1
  280. data/doc/lib/reports/GanttRouter_rb.html +3 -1
  281. data/doc/lib/reports/Navigator_rb.html +1 -1
  282. data/doc/lib/reports/ReportBase_rb.html +1 -1
  283. data/doc/lib/reports/ReportTableCell_rb.html +1 -1
  284. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  285. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  286. data/doc/lib/reports/ReportTable_rb.html +1 -1
  287. data/doc/lib/reports/Report_rb.html +1 -1
  288. data/doc/lib/reports/TableReport_rb.html +1 -1
  289. data/doc/lib/taskjuggler3_rb.html +1 -1
  290. data/examples/tutorial.tjp +1 -2
  291. data/lib/AppConfig.rb +10 -4
  292. data/lib/Attributes.rb +4 -4
  293. data/lib/DataCache.rb +124 -0
  294. data/lib/KeywordDocumentation.rb +5 -5
  295. data/lib/Project.rb +54 -10
  296. data/lib/ProjectFileParser.rb +10 -9
  297. data/lib/ProjectFileScanner.rb +38 -25
  298. data/lib/PropertyList.rb +6 -4
  299. data/lib/Query.rb +0 -8
  300. data/lib/RealFormat.rb +1 -1
  301. data/lib/Resource.rb +1 -1
  302. data/lib/ResourceScenario.rb +96 -31
  303. data/lib/RichText.rb +17 -5
  304. data/lib/RichTextParser.rb +22 -9
  305. data/lib/RichTextScanner.rb +34 -34
  306. data/lib/RichTextSyntaxRules.rb +41 -36
  307. data/lib/Scoreboard.rb +16 -7
  308. data/lib/StatusSheetSender.rb +63 -0
  309. data/lib/SyntaxReference.rb +9 -10
  310. data/lib/TaskJuggler.rb +28 -4
  311. data/lib/TaskScenario.rb +66 -19
  312. data/lib/TextParser.rb +219 -384
  313. data/lib/TextParser/Pattern.rb +168 -49
  314. data/lib/TextParser/Rule.rb +33 -17
  315. data/lib/TextParser/StackElement.rb +42 -2
  316. data/lib/TextParser/State.rb +175 -0
  317. data/lib/TextScanner.rb +19 -15
  318. data/lib/Tj3Config.rb +1 -1
  319. data/lib/TjTime.rb +111 -3
  320. data/lib/TjpSyntaxRules.rb +122 -66
  321. data/lib/WorkingHours.rb +91 -186
  322. data/lib/daemon/ReportServer.rb +3 -2
  323. data/lib/reports/CSVFile.rb +1 -1
  324. data/lib/reports/CollisionDetector.rb +177 -0
  325. data/lib/reports/GanttChart.rb +25 -41
  326. data/lib/reports/GanttRouter.rb +104 -233
  327. data/lib/reports/Navigator.rb +1 -1
  328. data/lib/reports/Report.rb +9 -33
  329. data/lib/reports/ReportBase.rb +0 -1
  330. data/lib/reports/ReportTable.rb +19 -8
  331. data/lib/reports/ReportTableCell.rb +61 -25
  332. data/lib/reports/ReportTableColumn.rb +2 -2
  333. data/lib/reports/ReportTableLine.rb +4 -2
  334. data/lib/reports/TableReport.rb +1 -0
  335. data/lib/taskjuggler3.rb +0 -1
  336. data/manual/Installation +7 -3
  337. data/manual/Intro +12 -10
  338. data/manual/The_TaskJuggler_Syntax +4 -4
  339. data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
  340. data/test/TestSuite/CSV-Reports/genrefs +1 -1
  341. data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
  342. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
  343. data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
  344. data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
  345. data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
  346. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
  347. data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
  348. data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
  349. data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
  350. data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
  351. data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
  352. data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
  353. data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
  354. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  355. data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
  356. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
  357. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
  358. data/test/TestSuite/StatusSheets/run +2 -0
  359. data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
  360. data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
  361. data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
  362. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
  363. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  364. data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
  365. data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
  366. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  367. data/test/TestSuite/TimeSheets/run +1 -1
  368. data/test/test_CSV-Reports.rb +2 -4
  369. data/test/test_CollisionDetector.rb +85 -0
  370. data/test/test_Project.rb +2 -2
  371. data/test/test_ProjectFileScanner.rb +73 -31
  372. data/test/test_Query.rb +2 -2
  373. data/test/test_ReportGenerator.rb +1 -1
  374. data/test/test_RichText.rb +4 -4
  375. data/test/test_WorkingHours.rb +150 -11
  376. metadata +75 -67
  377. data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
  378. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
  379. data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
  380. data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
  381. data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
  382. data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
  383. data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
  384. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
  385. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  386. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  387. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  388. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  389. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  390. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  391. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  392. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  393. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  394. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  395. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  396. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  397. data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
  398. data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
  399. data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
  400. data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
  401. data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
  402. data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
  403. data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
  404. data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
  405. data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
  406. data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
  407. data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
  408. data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
  409. data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
  410. data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +0 -1301
  411. data/test/TestSuite/StatusSheets/resrep.tji +0 -7
  412. data/test/TestSuite/StatusSheets/tj3d.log +0 -312
  413. data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
  414. data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
  415. data/test/TestSuite/TimeSheets/statussheets.log +0 -1
@@ -71,6 +71,12 @@
71
71
 
72
72
  <li><a href="#method-c-new">::new</a></li>
73
73
 
74
+ <li><a href="#method-i-each">#each</a></li>
75
+
76
+ <li><a href="#method-i-insert">#insert</a></li>
77
+
78
+ <li><a href="#method-i-length">#length</a></li>
79
+
74
80
  <li><a href="#method-i-store">#store</a></li>
75
81
 
76
82
  </ul>
@@ -151,12 +157,18 @@
151
157
 
152
158
  <li><a href="../../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
153
159
 
160
+ <li><a href="../../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
161
+
154
162
  <li><a href="../../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
155
163
 
156
164
  <li><a href="../../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
157
165
 
158
166
  <li><a href="../../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
159
167
 
168
+ <li><a href="../../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
169
+
170
+ <li><a href="../../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
171
+
160
172
  <li><a href="../../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
161
173
 
162
174
  <li><a href="../../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -263,7 +275,7 @@
263
275
 
264
276
  <li><a href="../../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
265
277
 
266
- <li><a href="../../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
278
+ <li><a href="../../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
267
279
 
268
280
  <li><a href="../../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
269
281
 
@@ -443,6 +455,10 @@
443
455
 
444
456
  <li><a href="../../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
445
457
 
458
+ <li><a href="../../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
459
+
460
+ <li><a href="../../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
461
+
446
462
  <li><a href="../../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
447
463
 
448
464
  <li><a href="../../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -584,11 +600,11 @@ collected values.
584
600
  </div>
585
601
  </div>
586
602
 
587
- <div id="rule-attribute-method" class="method-detail">
588
- <a name="rule"></a>
603
+ <div id="function-attribute-method" class="method-detail">
604
+ <a name="function"></a>
589
605
 
590
606
  <div class="method-heading attribute-method-heading">
591
- <span class="method-name">rule</span><span
607
+ <span class="method-name">function</span><span
592
608
  class="attribute-access-type">[R]</span>
593
609
  </div>
594
610
 
@@ -599,11 +615,11 @@ collected values.
599
615
  </div>
600
616
  </div>
601
617
 
602
- <div id="function-attribute-method" class="method-detail">
603
- <a name="function"></a>
618
+ <div id="source-ile-nfo-attribute-method" class="method-detail">
619
+ <a name="sourceFileInfo"></a>
604
620
 
605
621
  <div class="method-heading attribute-method-heading">
606
- <span class="method-name">function</span><span
622
+ <span class="method-name">sourceFileInfo</span><span
607
623
  class="attribute-access-type">[R]</span>
608
624
  </div>
609
625
 
@@ -614,11 +630,11 @@ collected values.
614
630
  </div>
615
631
  </div>
616
632
 
617
- <div id="source-ile-nfo-attribute-method" class="method-detail">
618
- <a name="sourceFileInfo"></a>
633
+ <div id="first-ource-ile-nfo-attribute-method" class="method-detail">
634
+ <a name="firstSourceFileInfo"></a>
619
635
 
620
636
  <div class="method-heading attribute-method-heading">
621
- <span class="method-name">sourceFileInfo</span><span
637
+ <span class="method-name">firstSourceFileInfo</span><span
622
638
  class="attribute-access-type">[R]</span>
623
639
  </div>
624
640
 
@@ -626,6 +642,23 @@ collected values.
626
642
 
627
643
 
628
644
 
645
+ </div>
646
+ </div>
647
+
648
+ <div id="state-attribute-method" class="method-detail">
649
+ <a name="state"></a>
650
+
651
+ <a name="state="></a>
652
+
653
+ <div class="method-heading attribute-method-heading">
654
+ <span class="method-name">state</span><span
655
+ class="attribute-access-type">[RW]</span>
656
+ </div>
657
+
658
+ <div class="method-description">
659
+
660
+
661
+
629
662
  </div>
630
663
  </div>
631
664
 
@@ -644,7 +677,7 @@ collected values.
644
677
  <div class="method-heading">
645
678
 
646
679
  <span class="method-name">new</span><span
647
- class="method-args">(function)</span>
680
+ class="method-args">(function, state = nil)</span>
648
681
  <span class="method-click-advice">click to toggle source</span>
649
682
 
650
683
  </div>
@@ -666,17 +699,20 @@ was entered.
666
699
  <div class="method-source-code"
667
700
  id="new-source">
668
701
  <pre>
669
- <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 28</span>
670
- 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">function</span>)
671
- 29: <span class="ruby-comment cmt"># This Array stores the collected values.</span>
672
- 30: <span class="ruby-ivar">@val</span> = []
673
- 31: <span class="ruby-comment cmt"># Array to store the source file references for the collected values.</span>
674
- 32: <span class="ruby-ivar">@sourceFileInfo</span> = []
675
- 33: <span class="ruby-comment cmt"># Counter used for StackElement::store()</span>
676
- 34: <span class="ruby-ivar">@position</span> = <span class="ruby-value">0</span>
677
- 35: <span class="ruby-comment cmt"># The method that will process the collected values.</span>
678
- 36: <span class="ruby-ivar">@function</span> = <span class="ruby-identifier">function</span>
679
- 37: <span class="ruby-keyword kw">end</span></pre>
702
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 31</span>
703
+ 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">function</span>, <span class="ruby-identifier">state</span> = <span class="ruby-keyword kw">nil</span>)
704
+ 32: <span class="ruby-comment cmt"># This Array stores the collected values.</span>
705
+ 33: <span class="ruby-ivar">@val</span> = []
706
+ 34: <span class="ruby-comment cmt"># Array to store the source file references for the collected values.</span>
707
+ 35: <span class="ruby-ivar">@sourceFileInfo</span> = []
708
+ 36: <span class="ruby-comment cmt"># A shortcut to the first non-nil sourceFileInfo.</span>
709
+ 37: <span class="ruby-ivar">@firstSourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>
710
+ 38: <span class="ruby-comment cmt"># Counter used for StackElement::store()</span>
711
+ 39: <span class="ruby-ivar">@position</span> = <span class="ruby-value">0</span>
712
+ 40: <span class="ruby-comment cmt"># The method that will process the collected values.</span>
713
+ 41: <span class="ruby-ivar">@function</span> = <span class="ruby-identifier">function</span>
714
+ 42: <span class="ruby-ivar">@state</span> = <span class="ruby-identifier">state</span>
715
+ 43: <span class="ruby-keyword kw">end</span></pre>
680
716
  </div>
681
717
 
682
718
  </div>
@@ -693,6 +729,132 @@ was entered.
693
729
  <h3 class="section-header">Public Instance Methods</h3>
694
730
 
695
731
 
732
+ <div id="each-method" class="method-detail ">
733
+ <a name="method-i-each"></a>
734
+
735
+ <div class="method-heading">
736
+
737
+ <span class="method-name">each</span><span
738
+ class="method-args">()</span>
739
+ <span class="method-click-advice">click to toggle source</span>
740
+
741
+ </div>
742
+
743
+ <div class="method-description">
744
+
745
+
746
+
747
+
748
+
749
+ <div class="method-source-code"
750
+ id="each-source">
751
+ <pre>
752
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 78</span>
753
+ 78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
754
+ 79: <span class="ruby-ivar">@val</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">x</span> }
755
+ 80: <span class="ruby-keyword kw">end</span></pre>
756
+ </div>
757
+
758
+ </div>
759
+
760
+
761
+
762
+
763
+ </div>
764
+
765
+
766
+ <div id="insert-method" class="method-detail ">
767
+ <a name="method-i-insert"></a>
768
+
769
+ <div class="method-heading">
770
+
771
+ <span class="method-name">insert</span><span
772
+ class="method-args">(index, val, sourceFileInfo, multiValue)</span>
773
+ <span class="method-click-advice">click to toggle source</span>
774
+
775
+ </div>
776
+
777
+ <div class="method-description">
778
+
779
+ <p>
780
+ Insert the value <em>val</em> at the position <em>index</em>. It also
781
+ stores the <em>sourceFileInfo</em> for this element. In case
782
+ <em>multiValue</em> is true, the old value is not overwritten, but values
783
+ are stored in an <a
784
+ href="TextParserResultArray.html">TextParserResultArray</a> object.
785
+ </p>
786
+
787
+
788
+
789
+ <div class="method-source-code"
790
+ id="insert-source">
791
+ <pre>
792
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 49</span>
793
+ 49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">insert</span>(<span class="ruby-identifier">index</span>, <span class="ruby-identifier">val</span>, <span class="ruby-identifier">sourceFileInfo</span>, <span class="ruby-identifier">multiValue</span>)
794
+ 50: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">multiValue</span>
795
+ 51: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@val</span>[<span class="ruby-identifier">index</span>]
796
+ 52: <span class="ruby-comment cmt"># We already have a value for this token position.</span>
797
+ 53: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@val</span>[<span class="ruby-identifier">index</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TextParserResultArray</span>)
798
+ 54: <span class="ruby-comment cmt"># This should never happen.</span>
799
+ 55: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{@val[index].class} must be an Array&quot;</span>
800
+ 56: <span class="ruby-keyword kw">end</span>
801
+ 57: <span class="ruby-keyword kw">else</span>
802
+ 58: <span class="ruby-ivar">@val</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-constant">TextParserResultArray</span>.<span class="ruby-identifier">new</span>
803
+ 59: <span class="ruby-keyword kw">end</span>
804
+ 60: <span class="ruby-comment cmt"># Just append the value and apply the special Array merging.</span>
805
+ 61: <span class="ruby-ivar">@val</span>[<span class="ruby-identifier">index</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">val</span>
806
+ 62: <span class="ruby-keyword kw">else</span>
807
+ 63: <span class="ruby-ivar">@val</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">val</span>
808
+ 64: <span class="ruby-keyword kw">end</span>
809
+ 65: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">sourceFileInfo</span>
810
+ 66: <span class="ruby-comment cmt"># Store the first SFI for faster access.</span>
811
+ 67: <span class="ruby-ivar">@firstSourceFileInfo</span> = <span class="ruby-identifier">sourceFileInfo</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@firstSourceFileInfo</span>
812
+ 68: <span class="ruby-identifier">val</span>
813
+ 69: <span class="ruby-keyword kw">end</span></pre>
814
+ </div>
815
+
816
+ </div>
817
+
818
+
819
+
820
+
821
+ </div>
822
+
823
+
824
+ <div id="length-method" class="method-detail ">
825
+ <a name="method-i-length"></a>
826
+
827
+ <div class="method-heading">
828
+
829
+ <span class="method-name">length</span><span
830
+ class="method-args">()</span>
831
+ <span class="method-click-advice">click to toggle source</span>
832
+
833
+ </div>
834
+
835
+ <div class="method-description">
836
+
837
+
838
+
839
+
840
+
841
+ <div class="method-source-code"
842
+ id="length-source">
843
+ <pre>
844
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 82</span>
845
+ 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length</span>
846
+ 83: <span class="ruby-ivar">@val</span>.<span class="ruby-identifier">length</span>
847
+ 84: <span class="ruby-keyword kw">end</span></pre>
848
+ </div>
849
+
850
+ </div>
851
+
852
+
853
+
854
+
855
+ </div>
856
+
857
+
696
858
  <div id="store-method" class="method-detail ">
697
859
  <a name="method-i-store"></a>
698
860
 
@@ -715,12 +877,12 @@ Store a collected value and move the position to the next pattern.
715
877
  <div class="method-source-code"
716
878
  id="store-source">
717
879
  <pre>
718
- <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 40</span>
719
- 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>)
720
- 41: <span class="ruby-ivar">@val</span>[<span class="ruby-ivar">@position</span>] = <span class="ruby-identifier">val</span>
721
- 42: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-ivar">@position</span>] = <span class="ruby-identifier">sourceFileInfo</span>
722
- 43: <span class="ruby-ivar">@position</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
723
- 44: <span class="ruby-keyword kw">end</span></pre>
880
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 72</span>
881
+ 72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store</span>(<span class="ruby-identifier">val</span>, <span class="ruby-identifier">sourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>)
882
+ 73: <span class="ruby-ivar">@val</span>[<span class="ruby-ivar">@position</span>] = <span class="ruby-identifier">val</span>
883
+ 74: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-ivar">@position</span>] = <span class="ruby-identifier">sourceFileInfo</span>
884
+ 75: <span class="ruby-ivar">@position</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
885
+ 76: <span class="ruby-keyword kw">end</span></pre>
724
886
  </div>
725
887
 
726
888
  </div>
@@ -0,0 +1,989 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: TaskJuggler::TextParser::State</title>
9
+
10
+ <link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../../index.html">Home</a>
29
+ <a href="../../index.html#classes">Classes</a>
30
+ <a href="../../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../../lib/TextParser/State_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/TextParser/State.rb">lib/TextParser/State.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link"><a href="../../Object.html">Object</a></p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+ <div id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+ <ul class="link-list">
71
+
72
+ <li><a href="#method-c-new">::new</a></li>
73
+
74
+ <li><a href="#method-i-addTransition">#addTransition</a></li>
75
+
76
+ <li><a href="#method-i-addTransitions">#addTransitions</a></li>
77
+
78
+ <li><a href="#method-i-expectedTokens">#expectedTokens</a></li>
79
+
80
+ <li><a href="#method-i-to_s">#to_s</a></li>
81
+
82
+ <li><a href="#method-i-transition">#transition</a></li>
83
+
84
+ </ul>
85
+ </div>
86
+
87
+
88
+ <!-- Included Modules -->
89
+
90
+ </div>
91
+
92
+ <div id="project-metadata">
93
+
94
+
95
+ <div id="fileindex-section" class="section project-section">
96
+ <h3 class="section-header">Files</h3>
97
+ <ul>
98
+
99
+ <li class="file"><a href="../../CHANGELOG.html">CHANGELOG</a></li>
100
+
101
+ <li class="file"><a href="../../COPYING.html">COPYING</a></li>
102
+
103
+ <li class="file"><a href="../../README.html">README</a></li>
104
+
105
+ </ul>
106
+ </div>
107
+
108
+
109
+ <div id="classindex-section" class="section project-section">
110
+ <h3 class="section-header">Class Index
111
+ <span class="search-toggle"><img src="../../images/find.png"
112
+ height="16" width="16" alt="[+]"
113
+ title="show/hide quicksearch" /></span></h3>
114
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
115
+ <fieldset>
116
+ <legend>Quicksearch</legend>
117
+ <input type="text" name="quicksearch" value=""
118
+ class="quicksearch-field" />
119
+ </fieldset>
120
+ </form>
121
+
122
+ <ul class="link-list">
123
+
124
+ <li><a href="../../TaskJuggler.html">TaskJuggler</a></li>
125
+
126
+ <li><a href="../../TaskJuggler/Account.html">TaskJuggler::Account</a></li>
127
+
128
+ <li><a href="../../TaskJuggler/AccountAttribute.html">TaskJuggler::AccountAttribute</a></li>
129
+
130
+ <li><a href="../../TaskJuggler/AccountScenario.html">TaskJuggler::AccountScenario</a></li>
131
+
132
+ <li><a href="../../TaskJuggler/Allocation.html">TaskJuggler::Allocation</a></li>
133
+
134
+ <li><a href="../../TaskJuggler/AllocationAttribute.html">TaskJuggler::AllocationAttribute</a></li>
135
+
136
+ <li><a href="../../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li>
137
+
138
+ <li><a href="../../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
139
+
140
+ <li><a href="../../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
141
+
142
+ <li><a href="../../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
143
+
144
+ <li><a href="../../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li>
145
+
146
+ <li><a href="../../TaskJuggler/BooleanAttribute.html">TaskJuggler::BooleanAttribute</a></li>
147
+
148
+ <li><a href="../../TaskJuggler/CSVFile.html">TaskJuggler::CSVFile</a></li>
149
+
150
+ <li><a href="../../TaskJuggler/CellSettingPattern.html">TaskJuggler::CellSettingPattern</a></li>
151
+
152
+ <li><a href="../../TaskJuggler/CellSettingPatternList.html">TaskJuggler::CellSettingPatternList</a></li>
153
+
154
+ <li><a href="../../TaskJuggler/Charge.html">TaskJuggler::Charge</a></li>
155
+
156
+ <li><a href="../../TaskJuggler/ChargeListAttribute.html">TaskJuggler::ChargeListAttribute</a></li>
157
+
158
+ <li><a href="../../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li>
159
+
160
+ <li><a href="../../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
161
+
162
+ <li><a href="../../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
163
+
164
+ <li><a href="../../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
165
+
166
+ <li><a href="../../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
167
+
168
+ <li><a href="../../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
169
+
170
+ <li><a href="../../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
171
+
172
+ <li><a href="../../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
173
+
174
+ <li><a href="../../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
175
+
176
+ <li><a href="../../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
177
+
178
+ <li><a href="../../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
179
+
180
+ <li><a href="../../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
181
+
182
+ <li><a href="../../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
183
+
184
+ <li><a href="../../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
185
+
186
+ <li><a href="../../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
187
+
188
+ <li><a href="../../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
189
+
190
+ <li><a href="../../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
191
+
192
+ <li><a href="../../TaskJuggler/FormatListAttribute.html">TaskJuggler::FormatListAttribute</a></li>
193
+
194
+ <li><a href="../../TaskJuggler/GanttChart.html">TaskJuggler::GanttChart</a></li>
195
+
196
+ <li><a href="../../TaskJuggler/GanttContainer.html">TaskJuggler::GanttContainer</a></li>
197
+
198
+ <li><a href="../../TaskJuggler/GanttHeader.html">TaskJuggler::GanttHeader</a></li>
199
+
200
+ <li><a href="../../TaskJuggler/GanttHeaderScaleItem.html">TaskJuggler::GanttHeaderScaleItem</a></li>
201
+
202
+ <li><a href="../../TaskJuggler/GanttLine.html">TaskJuggler::GanttLine</a></li>
203
+
204
+ <li><a href="../../TaskJuggler/GanttLoadStack.html">TaskJuggler::GanttLoadStack</a></li>
205
+
206
+ <li><a href="../../TaskJuggler/GanttMilestone.html">TaskJuggler::GanttMilestone</a></li>
207
+
208
+ <li><a href="../../TaskJuggler/GanttRouter.html">TaskJuggler::GanttRouter</a></li>
209
+
210
+ <li><a href="../../TaskJuggler/GanttTaskBar.html">TaskJuggler::GanttTaskBar</a></li>
211
+
212
+ <li><a href="../../TaskJuggler/HTMLDocument.html">TaskJuggler::HTMLDocument</a></li>
213
+
214
+ <li><a href="../../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li>
215
+
216
+ <li><a href="../../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
217
+
218
+ <li><a href="../../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
219
+
220
+ <li><a href="../../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
221
+
222
+ <li><a href="../../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li>
223
+
224
+ <li><a href="../../TaskJuggler/JournalEntry.html">TaskJuggler::JournalEntry</a></li>
225
+
226
+ <li><a href="../../TaskJuggler/JournalEntryList.html">TaskJuggler::JournalEntryList</a></li>
227
+
228
+ <li><a href="../../TaskJuggler/KeywordArray.html">TaskJuggler::KeywordArray</a></li>
229
+
230
+ <li><a href="../../TaskJuggler/KeywordDocumentation.html">TaskJuggler::KeywordDocumentation</a></li>
231
+
232
+ <li><a href="../../TaskJuggler/Limits.html">TaskJuggler::Limits</a></li>
233
+
234
+ <li><a href="../../TaskJuggler/Limits/Limit.html">TaskJuggler::Limits::Limit</a></li>
235
+
236
+ <li><a href="../../TaskJuggler/LimitsAttribute.html">TaskJuggler::LimitsAttribute</a></li>
237
+
238
+ <li><a href="../../TaskJuggler/ListAttributeBase.html">TaskJuggler::ListAttributeBase</a></li>
239
+
240
+ <li><a href="../../TaskJuggler/Log.html">TaskJuggler::Log</a></li>
241
+
242
+ <li><a href="../../TaskJuggler/LogFile.html">TaskJuggler::LogFile</a></li>
243
+
244
+ <li><a href="../../TaskJuggler/LogicalAttribute.html">TaskJuggler::LogicalAttribute</a></li>
245
+
246
+ <li><a href="../../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li>
247
+
248
+ <li><a href="../../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
249
+
250
+ <li><a href="../../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
251
+
252
+ <li><a href="../../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
253
+
254
+ <li><a href="../../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
255
+
256
+ <li><a href="../../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
257
+
258
+ <li><a href="../../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
259
+
260
+ <li><a href="../../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
261
+
262
+ <li><a href="../../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
263
+
264
+ <li><a href="../../TaskJuggler/Message.html">TaskJuggler::Message</a></li>
265
+
266
+ <li><a href="../../TaskJuggler/MessageHandler.html">TaskJuggler::MessageHandler</a></li>
267
+
268
+ <li><a href="../../TaskJuggler/Navigator.html">TaskJuggler::Navigator</a></li>
269
+
270
+ <li><a href="../../TaskJuggler/NavigatorElement.html">TaskJuggler::NavigatorElement</a></li>
271
+
272
+ <li><a href="../../TaskJuggler/NikuProject.html">TaskJuggler::NikuProject</a></li>
273
+
274
+ <li><a href="../../TaskJuggler/NikuReport.html">TaskJuggler::NikuReport</a></li>
275
+
276
+ <li><a href="../../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
277
+
278
+ <li><a href="../../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
279
+
280
+ <li><a href="../../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
281
+
282
+ <li><a href="../../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
283
+
284
+ <li><a href="../../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li>
285
+
286
+ <li><a href="../../TaskJuggler/Project.html">TaskJuggler::Project</a></li>
287
+
288
+ <li><a href="../../TaskJuggler/ProjectBroker.html">TaskJuggler::ProjectBroker</a></li>
289
+
290
+ <li><a href="../../TaskJuggler/ProjectBrokerIface.html">TaskJuggler::ProjectBrokerIface</a></li>
291
+
292
+ <li><a href="../../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
293
+
294
+ <li><a href="../../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
295
+
296
+ <li><a href="../../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
297
+
298
+ <li><a href="../../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
299
+
300
+ <li><a href="../../TaskJuggler/ProjectServerIface.html">TaskJuggler::ProjectServerIface</a></li>
301
+
302
+ <li><a href="../../TaskJuggler/PropertyAttribute.html">TaskJuggler::PropertyAttribute</a></li>
303
+
304
+ <li><a href="../../TaskJuggler/PropertyList.html">TaskJuggler::PropertyList</a></li>
305
+
306
+ <li><a href="../../TaskJuggler/PropertySet.html">TaskJuggler::PropertySet</a></li>
307
+
308
+ <li><a href="../../TaskJuggler/PropertyTreeNode.html">TaskJuggler::PropertyTreeNode</a></li>
309
+
310
+ <li><a href="../../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
311
+
312
+ <li><a href="../../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
313
+
314
+ <li><a href="../../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
315
+
316
+ <li><a href="../../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
317
+
318
+ <li><a href="../../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
319
+
320
+ <li><a href="../../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
321
+
322
+ <li><a href="../../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
323
+
324
+ <li><a href="../../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
325
+
326
+ <li><a href="../../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
327
+
328
+ <li><a href="../../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
329
+
330
+ <li><a href="../../TaskJuggler/Report.html">TaskJuggler::Report</a></li>
331
+
332
+ <li><a href="../../TaskJuggler/ReportBase.html">TaskJuggler::ReportBase</a></li>
333
+
334
+ <li><a href="../../TaskJuggler/ReportContext.html">TaskJuggler::ReportContext</a></li>
335
+
336
+ <li><a href="../../TaskJuggler/ReportServer.html">TaskJuggler::ReportServer</a></li>
337
+
338
+ <li><a href="../../TaskJuggler/ReportServerIface.html">TaskJuggler::ReportServerIface</a></li>
339
+
340
+ <li><a href="../../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
341
+
342
+ <li><a href="../../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
343
+
344
+ <li><a href="../../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
345
+
346
+ <li><a href="../../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
347
+
348
+ <li><a href="../../TaskJuggler/ReportTableColumn.html">TaskJuggler::ReportTableColumn</a></li>
349
+
350
+ <li><a href="../../TaskJuggler/ReportTableLegend.html">TaskJuggler::ReportTableLegend</a></li>
351
+
352
+ <li><a href="../../TaskJuggler/ReportTableLine.html">TaskJuggler::ReportTableLine</a></li>
353
+
354
+ <li><a href="../../TaskJuggler/Resource.html">TaskJuggler::Resource</a></li>
355
+
356
+ <li><a href="../../TaskJuggler/ResourceListAttribute.html">TaskJuggler::ResourceListAttribute</a></li>
357
+
358
+ <li><a href="../../TaskJuggler/ResourceListRE.html">TaskJuggler::ResourceListRE</a></li>
359
+
360
+ <li><a href="../../TaskJuggler/ResourceScenario.html">TaskJuggler::ResourceScenario</a></li>
361
+
362
+ <li><a href="../../TaskJuggler/RichText.html">TaskJuggler::RichText</a></li>
363
+
364
+ <li><a href="../../TaskJuggler/RichTextAttribute.html">TaskJuggler::RichTextAttribute</a></li>
365
+
366
+ <li><a href="../../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
367
+
368
+ <li><a href="../../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
369
+
370
+ <li><a href="../../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
371
+
372
+ <li><a href="../../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
373
+
374
+ <li><a href="../../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
375
+
376
+ <li><a href="../../TaskJuggler/RichTextIntermediate.html">TaskJuggler::RichTextIntermediate</a></li>
377
+
378
+ <li><a href="../../TaskJuggler/RichTextParser.html">TaskJuggler::RichTextParser</a></li>
379
+
380
+ <li><a href="../../TaskJuggler/RichTextScanner.html">TaskJuggler::RichTextScanner</a></li>
381
+
382
+ <li><a href="../../TaskJuggler/RichTextSnip.html">TaskJuggler::RichTextSnip</a></li>
383
+
384
+ <li><a href="../../TaskJuggler/RichTextSyntaxRules.html">TaskJuggler::RichTextSyntaxRules</a></li>
385
+
386
+ <li><a href="../../TaskJuggler/Scenario.html">TaskJuggler::Scenario</a></li>
387
+
388
+ <li><a href="../../TaskJuggler/ScenarioData.html">TaskJuggler::ScenarioData</a></li>
389
+
390
+ <li><a href="../../TaskJuggler/ScenarioListAttribute.html">TaskJuggler::ScenarioListAttribute</a></li>
391
+
392
+ <li><a href="../../TaskJuggler/Scoreboard.html">TaskJuggler::Scoreboard</a></li>
393
+
394
+ <li><a href="../../TaskJuggler/SheetHandlerBase.html">TaskJuggler::SheetHandlerBase</a></li>
395
+
396
+ <li><a href="../../TaskJuggler/SheetReceiver.html">TaskJuggler::SheetReceiver</a></li>
397
+
398
+ <li><a href="../../TaskJuggler/SheetSender.html">TaskJuggler::SheetSender</a></li>
399
+
400
+ <li><a href="../../TaskJuggler/Shift.html">TaskJuggler::Shift</a></li>
401
+
402
+ <li><a href="../../TaskJuggler/ShiftAssignment.html">TaskJuggler::ShiftAssignment</a></li>
403
+
404
+ <li><a href="../../TaskJuggler/ShiftAssignments.html">TaskJuggler::ShiftAssignments</a></li>
405
+
406
+ <li><a href="../../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
407
+
408
+ <li><a href="../../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
409
+
410
+ <li><a href="../../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
411
+
412
+ <li><a href="../../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
413
+
414
+ <li><a href="../../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
415
+
416
+ <li><a href="../../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
417
+
418
+ <li><a href="../../TaskJuggler/StatusSheetReport.html">TaskJuggler::StatusSheetReport</a></li>
419
+
420
+ <li><a href="../../TaskJuggler/StatusSheetSender.html">TaskJuggler::StatusSheetSender</a></li>
421
+
422
+ <li><a href="../../TaskJuggler/StringAttribute.html">TaskJuggler::StringAttribute</a></li>
423
+
424
+ <li><a href="../../TaskJuggler/SymbolAttribute.html">TaskJuggler::SymbolAttribute</a></li>
425
+
426
+ <li><a href="../../TaskJuggler/SyntaxReference.html">TaskJuggler::SyntaxReference</a></li>
427
+
428
+ <li><a href="../../TaskJuggler/TOCEntry.html">TaskJuggler::TOCEntry</a></li>
429
+
430
+ <li><a href="../../TaskJuggler/TSResourceRecord.html">TaskJuggler::TSResourceRecord</a></li>
431
+
432
+ <li><a href="../../TaskJuggler/TSTaskRecord.html">TaskJuggler::TSTaskRecord</a></li>
433
+
434
+ <li><a href="../../TaskJuggler/TableColumnDefinition.html">TaskJuggler::TableColumnDefinition</a></li>
435
+
436
+ <li><a href="../../TaskJuggler/TableOfContents.html">TaskJuggler::TableOfContents</a></li>
437
+
438
+ <li><a href="../../TaskJuggler/TableReport.html">TaskJuggler::TableReport</a></li>
439
+
440
+ <li><a href="../../TaskJuggler/Task.html">TaskJuggler::Task</a></li>
441
+
442
+ <li><a href="../../TaskJuggler/TaskDependency.html">TaskJuggler::TaskDependency</a></li>
443
+
444
+ <li><a href="../../TaskJuggler/TaskListAttribute.html">TaskJuggler::TaskListAttribute</a></li>
445
+
446
+ <li><a href="../../TaskJuggler/TaskListRE.html">TaskJuggler::TaskListRE</a></li>
447
+
448
+ <li><a href="../../TaskJuggler/TaskScenario.html">TaskJuggler::TaskScenario</a></li>
449
+
450
+ <li><a href="../../TaskJuggler/TextFormatter.html">TaskJuggler::TextFormatter</a></li>
451
+
452
+ <li><a href="../../TaskJuggler/TextParser.html">TaskJuggler::TextParser</a></li>
453
+
454
+ <li><a href="../../TaskJuggler/TextParser/Pattern.html">TaskJuggler::TextParser::Pattern</a></li>
455
+
456
+ <li><a href="../../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li>
457
+
458
+ <li><a href="../../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
459
+
460
+ <li><a href="../../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
461
+
462
+ <li><a href="../../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
463
+
464
+ <li><a href="../../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
465
+
466
+ <li><a href="../../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
467
+
468
+ <li><a href="../../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li>
469
+
470
+ <li><a href="../../TaskJuggler/TextScanner.html">TaskJuggler::TextScanner</a></li>
471
+
472
+ <li><a href="../../TaskJuggler/TextScanner/BufferStreamHandle.html">TaskJuggler::TextScanner::BufferStreamHandle</a></li>
473
+
474
+ <li><a href="../../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
475
+
476
+ <li><a href="../../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
477
+
478
+ <li><a href="../../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
479
+
480
+ <li><a href="../../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
481
+
482
+ <li><a href="../../TaskJuggler/TimeSheetReceiver.html">TaskJuggler::TimeSheetReceiver</a></li>
483
+
484
+ <li><a href="../../TaskJuggler/TimeSheetRecord.html">TaskJuggler::TimeSheetRecord</a></li>
485
+
486
+ <li><a href="../../TaskJuggler/TimeSheetReport.html">TaskJuggler::TimeSheetReport</a></li>
487
+
488
+ <li><a href="../../TaskJuggler/TimeSheetSender.html">TaskJuggler::TimeSheetSender</a></li>
489
+
490
+ <li><a href="../../TaskJuggler/TimeSheetSummary.html">TaskJuggler::TimeSheetSummary</a></li>
491
+
492
+ <li><a href="../../TaskJuggler/TimeSheets.html">TaskJuggler::TimeSheets</a></li>
493
+
494
+ <li><a href="../../TaskJuggler/Tj3AppBase.html">TaskJuggler::Tj3AppBase</a></li>
495
+
496
+ <li><a href="../../TaskJuggler/Tj3Client.html">TaskJuggler::Tj3Client</a></li>
497
+
498
+ <li><a href="../../TaskJuggler/Tj3Daemon.html">TaskJuggler::Tj3Daemon</a></li>
499
+
500
+ <li><a href="../../TaskJuggler/Tj3SheetAppBase.html">TaskJuggler::Tj3SheetAppBase</a></li>
501
+
502
+ <li><a href="../../TaskJuggler/Tj3SsReceiver.html">TaskJuggler::Tj3SsReceiver</a></li>
503
+
504
+ <li><a href="../../TaskJuggler/Tj3SsSender.html">TaskJuggler::Tj3SsSender</a></li>
505
+
506
+ <li><a href="../../TaskJuggler/Tj3TsReceiver.html">TaskJuggler::Tj3TsReceiver</a></li>
507
+
508
+ <li><a href="../../TaskJuggler/Tj3TsSender.html">TaskJuggler::Tj3TsSender</a></li>
509
+
510
+ <li><a href="../../TaskJuggler/Tj3TsSummary.html">TaskJuggler::Tj3TsSummary</a></li>
511
+
512
+ <li><a href="../../TaskJuggler/TjException.html">TaskJuggler::TjException</a></li>
513
+
514
+ <li><a href="../../TaskJuggler/TjTime.html">TaskJuggler::TjTime</a></li>
515
+
516
+ <li><a href="../../TaskJuggler/TjpExample.html">TaskJuggler::TjpExample</a></li>
517
+
518
+ <li><a href="../../TaskJuggler/TjpExportRE.html">TaskJuggler::TjpExportRE</a></li>
519
+
520
+ <li><a href="../../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
521
+
522
+ <li><a href="../../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
523
+
524
+ <li><a href="../../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
525
+
526
+ <li><a href="../../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
527
+
528
+ <li><a href="../../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
529
+
530
+ <li><a href="../../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
531
+
532
+ <li><a href="../../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
533
+
534
+ <li><a href="../../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li>
535
+
536
+ <li><a href="../../TaskJuggler/XMLComment.html">TaskJuggler::XMLComment</a></li>
537
+
538
+ <li><a href="../../TaskJuggler/XMLDocument.html">TaskJuggler::XMLDocument</a></li>
539
+
540
+ <li><a href="../../TaskJuggler/XMLElement.html">TaskJuggler::XMLElement</a></li>
541
+
542
+ <li><a href="../../TaskJuggler/XMLNamedText.html">TaskJuggler::XMLNamedText</a></li>
543
+
544
+ <li><a href="../../TaskJuggler/XMLText.html">TaskJuggler::XMLText</a></li>
545
+
546
+ <li><a href="../../AppConfig.html">AppConfig</a></li>
547
+
548
+ <li><a href="../../Arguments.html">Arguments</a></li>
549
+
550
+ <li><a href="../../Object.html">Object</a></li>
551
+
552
+ <li><a href="../../RuntimeConfig.html">RuntimeConfig</a></li>
553
+
554
+ <li><a href="../../String.html">String</a></li>
555
+
556
+ <li><a href="../../StringIO.html">StringIO</a></li>
557
+
558
+ </ul>
559
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
560
+ </div>
561
+
562
+
563
+ </div>
564
+ </div>
565
+
566
+ <div id="documentation">
567
+ <h1 class="class">TaskJuggler::TextParser::State</h1>
568
+
569
+ <div id="description">
570
+ <p>
571
+ This <a href="State.html">State</a> objects describes a state of the <a
572
+ href="../TextParser.html">TextParser</a> FSM. A <a
573
+ href="State.html">State</a> captures the position in the syntax description
574
+ that the parser is currently at. A position is defined by the <a
575
+ href="Rule.html">Rule</a>, the <a href="Pattern.html">Pattern</a> and the
576
+ index of the current token of that <a href="Pattern.html">Pattern</a>. An
577
+ index of 0 means, we&#8217;ve just read the 1st token of the pattern.
578
+ States which have no <a href="Pattern.html">Pattern</a> describe the start
579
+ of rule. The parser has not yet identified the first token, so it
580
+ doesn&#8217;t know the <a href="Pattern.html">Pattern</a> yet.
581
+ </p>
582
+ <p>
583
+ The actual data of a <a href="State.html">State</a> is the list of possible
584
+ StateTransitions to other states and a boolean flag that specifies if
585
+ Reduce operations are valid for this <a href="State.html">State</a> or not.
586
+ The transitions are hashed by the token that would trigger this transition.
587
+ </p>
588
+
589
+ </div>
590
+
591
+ <!-- Constants -->
592
+
593
+
594
+ <!-- Attributes -->
595
+
596
+ <div id="attribute-method-details" class="method-section section">
597
+ <h3 class="section-header">Attributes</h3>
598
+
599
+
600
+ <div id="rule-attribute-method" class="method-detail">
601
+ <a name="rule"></a>
602
+
603
+ <div class="method-heading attribute-method-heading">
604
+ <span class="method-name">rule</span><span
605
+ class="attribute-access-type">[R]</span>
606
+ </div>
607
+
608
+ <div class="method-description">
609
+
610
+
611
+
612
+ </div>
613
+ </div>
614
+
615
+ <div id="pattern-attribute-method" class="method-detail">
616
+ <a name="pattern"></a>
617
+
618
+ <div class="method-heading attribute-method-heading">
619
+ <span class="method-name">pattern</span><span
620
+ class="attribute-access-type">[R]</span>
621
+ </div>
622
+
623
+ <div class="method-description">
624
+
625
+
626
+
627
+ </div>
628
+ </div>
629
+
630
+ <div id="index-attribute-method" class="method-detail">
631
+ <a name="index"></a>
632
+
633
+ <div class="method-heading attribute-method-heading">
634
+ <span class="method-name">index</span><span
635
+ class="attribute-access-type">[R]</span>
636
+ </div>
637
+
638
+ <div class="method-description">
639
+
640
+
641
+
642
+ </div>
643
+ </div>
644
+
645
+ <div id="transitions-attribute-method" class="method-detail">
646
+ <a name="transitions"></a>
647
+
648
+ <div class="method-heading attribute-method-heading">
649
+ <span class="method-name">transitions</span><span
650
+ class="attribute-access-type">[R]</span>
651
+ </div>
652
+
653
+ <div class="method-description">
654
+
655
+
656
+
657
+ </div>
658
+ </div>
659
+
660
+ <div id="no-educe-attribute-method" class="method-detail">
661
+ <a name="noReduce"></a>
662
+
663
+ <a name="noReduce="></a>
664
+
665
+ <div class="method-heading attribute-method-heading">
666
+ <span class="method-name">noReduce</span><span
667
+ class="attribute-access-type">[RW]</span>
668
+ </div>
669
+
670
+ <div class="method-description">
671
+
672
+
673
+
674
+ </div>
675
+ </div>
676
+
677
+ </div>
678
+
679
+
680
+ <!-- Methods -->
681
+
682
+ <div id="public-class-method-details" class="method-section section">
683
+ <h3 class="section-header">Public Class Methods</h3>
684
+
685
+
686
+ <div id="new-method" class="method-detail ">
687
+ <a name="method-c-new"></a>
688
+
689
+ <div class="method-heading">
690
+
691
+ <span class="method-name">new</span><span
692
+ class="method-args">(rule, pattern = nil, index = 0)</span>
693
+ <span class="method-click-advice">click to toggle source</span>
694
+
695
+ </div>
696
+
697
+ <div class="method-description">
698
+
699
+
700
+
701
+
702
+
703
+ <div class="method-source-code"
704
+ id="new-source">
705
+ <pre>
706
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 84</span>
707
+ 84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">pattern</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">index</span> = <span class="ruby-value">0</span>)
708
+ 85: <span class="ruby-ivar">@rule</span> = <span class="ruby-identifier">rule</span>
709
+ 86: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">pattern</span>
710
+ 87: <span class="ruby-ivar">@index</span> = <span class="ruby-identifier">index</span>
711
+ 88: <span class="ruby-comment cmt"># Starting states are always reduceable. Other states may or may not be</span>
712
+ 89: <span class="ruby-comment cmt"># reduceable. For now, we assume they are not.</span>
713
+ 90: <span class="ruby-ivar">@noReduce</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">nil?</span>
714
+ 91:
715
+ 92: <span class="ruby-ivar">@transitions</span> = {}
716
+ 93: <span class="ruby-keyword kw">end</span></pre>
717
+ </div>
718
+
719
+ </div>
720
+
721
+
722
+
723
+
724
+ </div>
725
+
726
+
727
+ </div>
728
+
729
+ <div id="public-instance-method-details" class="method-section section">
730
+ <h3 class="section-header">Public Instance Methods</h3>
731
+
732
+
733
+ <div id="add-ransition-method" class="method-detail ">
734
+ <a name="method-i-addTransition"></a>
735
+
736
+ <div class="method-heading">
737
+
738
+ <span class="method-name">addTransition</span><span
739
+ class="method-args">(token, nextState, stateStack, loopBack)</span>
740
+ <span class="method-click-advice">click to toggle source</span>
741
+
742
+ </div>
743
+
744
+ <div class="method-description">
745
+
746
+ <p>
747
+ This method adds the actual <a
748
+ href="StateTransition.html">StateTransition</a> to this <a
749
+ href="State.html">State</a>.
750
+ </p>
751
+
752
+
753
+
754
+ <div class="method-source-code"
755
+ id="add-ransition-source">
756
+ <pre>
757
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 110</span>
758
+ 110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addTransition</span>(<span class="ruby-identifier">token</span>, <span class="ruby-identifier">nextState</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">loopBack</span>)
759
+ 111: <span class="ruby-identifier">tr</span> = <span class="ruby-constant">StateTransition</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">token</span>, <span class="ruby-identifier">nextState</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">loopBack</span>)
760
+ 112: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@transitions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">tr</span>.<span class="ruby-identifier">tokenType</span>)
761
+ 113: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Ambiguous transition for #{tr.tokenType} in \n#{self}\n&quot;</span> <span class="ruby-operator">+</span>
762
+ 114: <span class="ruby-value str">&quot;The following transition both match:\n&quot;</span> <span class="ruby-operator">+</span>
763
+ 115: <span class="ruby-node">&quot; #{tr}\n #{@transitions[tr.tokenType]}&quot;</span>
764
+ 116: <span class="ruby-keyword kw">end</span>
765
+ 117: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">tr</span>.<span class="ruby-identifier">tokenType</span>] = <span class="ruby-identifier">tr</span>
766
+ 118: <span class="ruby-keyword kw">end</span></pre>
767
+ </div>
768
+
769
+ </div>
770
+
771
+
772
+
773
+
774
+ </div>
775
+
776
+
777
+ <div id="add-ransitions-method" class="method-detail ">
778
+ <a name="method-i-addTransitions"></a>
779
+
780
+ <div class="method-heading">
781
+
782
+ <span class="method-name">addTransitions</span><span
783
+ class="method-args">(states, rules)</span>
784
+ <span class="method-click-advice">click to toggle source</span>
785
+
786
+ </div>
787
+
788
+ <div class="method-description">
789
+
790
+ <p>
791
+ Completed the <a href="StateTransition.html">StateTransition</a> list. We
792
+ can only call this function after all <a href="State.html">State</a>
793
+ objects for the syntax have been created. So we can&#8217;t make this part
794
+ of the constructor.
795
+ </p>
796
+
797
+
798
+
799
+ <div class="method-source-code"
800
+ id="add-ransitions-source">
801
+ <pre>
802
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 98</span>
803
+ 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addTransitions</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>)
804
+ 99: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>
805
+ 100: <span class="ruby-comment cmt"># This is an normal state node.</span>
806
+ 101: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, [], <span class="ruby-keyword kw">self</span>,
807
+ 102: <span class="ruby-ivar">@rule</span>, <span class="ruby-ivar">@index</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-keyword kw">false</span>)
808
+ 103: <span class="ruby-keyword kw">else</span>
809
+ 104: <span class="ruby-comment cmt"># This is a start node.</span>
810
+ 105: <span class="ruby-ivar">@rule</span>.<span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, [], <span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">false</span>)
811
+ 106: <span class="ruby-keyword kw">end</span>
812
+ 107: <span class="ruby-keyword kw">end</span></pre>
813
+ </div>
814
+
815
+ </div>
816
+
817
+
818
+
819
+
820
+ </div>
821
+
822
+
823
+ <div id="expected-okens-method" class="method-detail ">
824
+ <a name="method-i-expectedTokens"></a>
825
+
826
+ <div class="method-heading">
827
+
828
+ <span class="method-name">expectedTokens</span><span
829
+ class="method-args">()</span>
830
+ <span class="method-click-advice">click to toggle source</span>
831
+
832
+ </div>
833
+
834
+ <div class="method-description">
835
+
836
+ <p>
837
+ Return a comma separated list of token strings that would trigger
838
+ transitions for this <a href="State.html">State</a>.
839
+ </p>
840
+
841
+
842
+
843
+ <div class="method-source-code"
844
+ id="expected-okens-source">
845
+ <pre>
846
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 135</span>
847
+ 135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expectedTokens</span>
848
+ 136: <span class="ruby-identifier">tokens</span> = []
849
+ 137: <span class="ruby-ivar">@transitions</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
850
+ 138: <span class="ruby-identifier">tokens</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{t.is_a?(String) ? &quot;'#{t}'&quot; : &quot;:#{t}&quot;}&quot;</span>
851
+ 139: <span class="ruby-keyword kw">end</span>
852
+ 140: <span class="ruby-identifier">tokens</span>
853
+ 141: <span class="ruby-keyword kw">end</span></pre>
854
+ </div>
855
+
856
+ </div>
857
+
858
+
859
+
860
+
861
+ </div>
862
+
863
+
864
+ <div id="to-s-method" class="method-detail ">
865
+ <a name="method-i-to_s"></a>
866
+
867
+ <div class="method-heading">
868
+
869
+ <span class="method-name">to_s</span><span
870
+ class="method-args">(short = false)</span>
871
+ <span class="method-click-advice">click to toggle source</span>
872
+
873
+ </div>
874
+
875
+ <div class="method-description">
876
+
877
+ <p>
878
+ Convert the <a href="State.html">State</a> data into a human readable form.
879
+ Used for debugging only.
880
+ </p>
881
+
882
+
883
+
884
+ <div class="method-source-code"
885
+ id="to-s-source">
886
+ <pre>
887
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 145</span>
888
+ 145: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">short</span> = <span class="ruby-keyword kw">false</span>)
889
+ 146: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">short</span>
890
+ 147: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>
891
+ 148: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;#{rule.name} &quot;</span> <span class="ruby-operator">+</span>
892
+ 149: <span class="ruby-node">&quot;#{rule.patterns.index(@pattern)} #{@index}&quot;</span>
893
+ 150: <span class="ruby-keyword kw">else</span>
894
+ 151: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;#{rule.name} (Starting Node)&quot;</span>
895
+ 152: <span class="ruby-keyword kw">end</span>
896
+ 153: <span class="ruby-keyword kw">else</span>
897
+ 154: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>
898
+ 155: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;=== State: #{rule.name} &quot;</span> <span class="ruby-operator">+</span>
899
+ 156: <span class="ruby-node">&quot;#{rule.patterns.index(@pattern)} #{@index}&quot;</span> <span class="ruby-operator">+</span>
900
+ 157: <span class="ruby-node">&quot; #{@noReduce ? '' : '(R)'}&quot;</span> <span class="ruby-operator">+</span>
901
+ 158: <span class="ruby-node">&quot; #{'=' * 40}\nPattern: #{@pattern}\n&quot;</span>
902
+ 159: <span class="ruby-keyword kw">else</span>
903
+ 160: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;=== State: #{rule.name} (Starting Node) #{'=' * 30}\n&quot;</span>
904
+ 161: <span class="ruby-keyword kw">end</span>
905
+ 162:
906
+ 163: <span class="ruby-ivar">@transitions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span>, <span class="ruby-identifier">target</span><span class="ruby-operator">|</span>
907
+ 164: <span class="ruby-identifier">targetStr</span> = <span class="ruby-identifier">target</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">target</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;&lt;EOF&gt;&quot;</span>
908
+ 165: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot; #{type.is_a?(String) ? &quot;'#{type}'&quot; : &quot;:#{type}&quot;}&quot;</span> <span class="ruby-operator">+</span>
909
+ 166: <span class="ruby-node">&quot; =&gt; #{targetStr}\n&quot;</span>
910
+ 167: <span class="ruby-keyword kw">end</span>
911
+ 168: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{'=' * 76}\n&quot;</span>
912
+ 169: <span class="ruby-keyword kw">end</span>
913
+ 170: <span class="ruby-identifier">str</span>
914
+ 171: <span class="ruby-keyword kw">end</span></pre>
915
+ </div>
916
+
917
+ </div>
918
+
919
+
920
+
921
+
922
+ </div>
923
+
924
+
925
+ <div id="transition-method" class="method-detail ">
926
+ <a name="method-i-transition"></a>
927
+
928
+ <div class="method-heading">
929
+
930
+ <span class="method-name">transition</span><span
931
+ class="method-args">(token)</span>
932
+ <span class="method-click-advice">click to toggle source</span>
933
+
934
+ </div>
935
+
936
+ <div class="method-description">
937
+
938
+ <p>
939
+ Find the transition that matches <em>token</em>.
940
+ </p>
941
+
942
+
943
+
944
+ <div class="method-source-code"
945
+ id="transition-source">
946
+ <pre>
947
+ <span class="ruby-comment cmt"># File lib/TextParser/State.rb, line 121</span>
948
+ 121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">transition</span>(<span class="ruby-identifier">token</span>)
949
+ 122: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:ID</span>
950
+ 123: <span class="ruby-comment cmt"># The scanner cannot differentiate between IDs and literals that look</span>
951
+ 124: <span class="ruby-comment cmt"># like IDs. So we look for literals first and then for IDs.</span>
952
+ 125: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">token</span>[<span class="ruby-value">1</span>]] <span class="ruby-operator">||</span> <span class="ruby-ivar">@transitions</span>[<span class="ruby-value">:ID</span>]
953
+ 126: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:LITERAL</span>
954
+ 127: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">token</span>[<span class="ruby-value">1</span>]]
955
+ 128: <span class="ruby-keyword kw">else</span>
956
+ 129: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>]]
957
+ 130: <span class="ruby-keyword kw">end</span>
958
+ 131: <span class="ruby-keyword kw">end</span></pre>
959
+ </div>
960
+
961
+ </div>
962
+
963
+
964
+
965
+
966
+ </div>
967
+
968
+
969
+ </div>
970
+
971
+
972
+ </div>
973
+
974
+
975
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
976
+
977
+ <p>Disabled; run with --debug to generate this.</p>
978
+
979
+ </div>
980
+
981
+ <div id="validator-badges">
982
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
983
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
984
+ Rdoc Generator</a> 1.1.6</small>.</p>
985
+ </div>
986
+
987
+ </body>
988
+ </html>
989
+