taskjuggler 0.0.8 → 0.0.9

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 (613) hide show
  1. data/CHANGELOG +1144 -2047
  2. data/README +1 -1
  3. data/Rakefile +6 -6
  4. data/data/css/tjmanual.css +20 -0
  5. data/data/css/tjreport.css +7 -6
  6. data/doc/AppConfig.html +136 -130
  7. data/doc/Arguments.html +46 -40
  8. data/doc/CHANGELOG.html +1162 -2057
  9. data/doc/COPYING.html +8 -2
  10. data/doc/Object.html +205 -199
  11. data/doc/README.html +9 -3
  12. data/doc/RuntimeConfig.html +75 -69
  13. data/doc/String.html +69 -63
  14. data/doc/TaskJuggler.html +350 -291
  15. data/doc/TaskJuggler/Account.html +26 -20
  16. data/doc/TaskJuggler/AccountAttribute.html +24 -18
  17. data/doc/TaskJuggler/AccountScenario.html +24 -18
  18. data/doc/TaskJuggler/Allocation.html +74 -68
  19. data/doc/TaskJuggler/AllocationAttribute.html +54 -48
  20. data/doc/TaskJuggler/AttributeBase.html +172 -93
  21. data/doc/TaskJuggler/AttributeDefinition.html +22 -16
  22. data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
  23. data/doc/TaskJuggler/BatchProcessor.html +263 -257
  24. data/doc/TaskJuggler/Booking.html +44 -38
  25. data/doc/TaskJuggler/BookingListAttribute.html +25 -21
  26. data/doc/TaskJuggler/BooleanAttribute.html +24 -18
  27. data/doc/TaskJuggler/CSVFile.html +193 -187
  28. data/doc/TaskJuggler/CellSettingPattern.html +13 -7
  29. data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
  30. data/doc/TaskJuggler/Charge.html +49 -43
  31. data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
  32. data/doc/TaskJuggler/ChargeSet.html +94 -88
  33. data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
  34. data/doc/TaskJuggler/CollisionDetector.html +142 -136
  35. data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
  36. data/doc/TaskJuggler/ColumnTable.html +50 -44
  37. data/doc/TaskJuggler/Daemon.html +71 -50
  38. data/doc/TaskJuggler/DataCache.html +110 -58
  39. data/doc/TaskJuggler/DataCacheEntry.html +22 -16
  40. data/doc/TaskJuggler/DateAttribute.html +24 -18
  41. data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
  42. data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
  43. data/doc/TaskJuggler/DurationAttribute.html +25 -19
  44. data/doc/TaskJuggler/FileList.html +25 -19
  45. data/doc/TaskJuggler/FileRecord.html +17 -11
  46. data/doc/TaskJuggler/FixnumAttribute.html +16 -10
  47. data/doc/TaskJuggler/FlagListAttribute.html +25 -21
  48. data/doc/TaskJuggler/FloatAttribute.html +20 -14
  49. data/doc/TaskJuggler/FormatListAttribute.html +17 -11
  50. data/doc/TaskJuggler/GanttChart.html +242 -236
  51. data/doc/TaskJuggler/GanttContainer.html +71 -67
  52. data/doc/TaskJuggler/GanttHeader.html +113 -107
  53. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
  54. data/doc/TaskJuggler/GanttLine.html +217 -210
  55. data/doc/TaskJuggler/GanttLoadStack.html +89 -83
  56. data/doc/TaskJuggler/GanttMilestone.html +11 -6
  57. data/doc/TaskJuggler/GanttRouter.html +194 -186
  58. data/doc/TaskJuggler/GanttTaskBar.html +41 -34
  59. data/doc/TaskJuggler/HTMLDocument.html +52 -46
  60. data/doc/TaskJuggler/HTMLGraphics.html +58 -52
  61. data/doc/TaskJuggler/Interval.html +90 -84
  62. data/doc/TaskJuggler/IntervalList.html +777 -0
  63. data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
  64. data/doc/TaskJuggler/JobInfo.html +36 -30
  65. data/doc/TaskJuggler/Journal.html +188 -177
  66. data/doc/TaskJuggler/JournalEntry.html +36 -30
  67. data/doc/TaskJuggler/JournalEntryList.html +88 -82
  68. data/doc/TaskJuggler/KeywordArray.html +12 -6
  69. data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
  70. data/doc/TaskJuggler/Limits.html +111 -105
  71. data/doc/TaskJuggler/Limits/Limit.html +71 -65
  72. data/doc/TaskJuggler/LimitsAttribute.html +21 -15
  73. data/doc/TaskJuggler/ListAttributeBase.html +16 -10
  74. data/doc/TaskJuggler/Log.html +111 -105
  75. data/doc/TaskJuggler/LogFile.html +54 -48
  76. data/doc/TaskJuggler/LogicalAttribute.html +35 -29
  77. data/doc/TaskJuggler/LogicalExpression.html +32 -26
  78. data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
  79. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
  80. data/doc/TaskJuggler/LogicalFlag.html +24 -18
  81. data/doc/TaskJuggler/LogicalFunction.html +164 -158
  82. data/doc/TaskJuggler/LogicalOperation.html +138 -132
  83. data/doc/TaskJuggler/Macro.html +14 -8
  84. data/doc/TaskJuggler/MacroTable.html +42 -36
  85. data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
  86. data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
  87. data/doc/TaskJuggler/Message.html +56 -50
  88. data/doc/TaskJuggler/MessageHandler.html +73 -67
  89. data/doc/TaskJuggler/Navigator.html +92 -86
  90. data/doc/TaskJuggler/NavigatorElement.html +88 -82
  91. data/doc/TaskJuggler/NikuProject.html +15 -9
  92. data/doc/TaskJuggler/NikuReport.html +405 -370
  93. data/doc/TaskJuggler/NikuResource.html +13 -7
  94. data/doc/TaskJuggler/NodeListAttribute.html +13 -9
  95. data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
  96. data/doc/TaskJuggler/ProcessIntercom.html +116 -110
  97. data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
  98. data/doc/TaskJuggler/Project.html +1064 -895
  99. data/doc/TaskJuggler/ProjectBroker.html +439 -366
  100. data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
  101. data/doc/TaskJuggler/ProjectFileParser.html +329 -319
  102. data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
  103. data/doc/TaskJuggler/ProjectRecord.html +66 -60
  104. data/doc/TaskJuggler/ProjectServer.html +287 -280
  105. data/doc/TaskJuggler/ProjectServerIface.html +43 -37
  106. data/doc/TaskJuggler/PropertyAttribute.html +16 -10
  107. data/doc/TaskJuggler/PropertyList.html +205 -199
  108. data/doc/TaskJuggler/PropertySet.html +264 -296
  109. data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
  110. data/doc/TaskJuggler/Query.html +309 -524
  111. data/doc/TaskJuggler/RTFHandlers.html +17 -11
  112. data/doc/TaskJuggler/RTFNavigator.html +33 -27
  113. data/doc/TaskJuggler/RTFQuery.html +135 -129
  114. data/doc/TaskJuggler/RTFReport.html +63 -57
  115. data/doc/TaskJuggler/RTFReportLink.html +55 -49
  116. data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
  117. data/doc/TaskJuggler/RealFormat.html +64 -58
  118. data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
  119. data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
  120. data/doc/TaskJuggler/Report.html +294 -249
  121. data/doc/TaskJuggler/ReportBase.html +229 -223
  122. data/doc/TaskJuggler/ReportContext.html +52 -46
  123. data/doc/TaskJuggler/ReportServer.html +143 -137
  124. data/doc/TaskJuggler/ReportServerIface.html +51 -43
  125. data/doc/TaskJuggler/ReportServerRecord.html +36 -30
  126. data/doc/TaskJuggler/ReportServlet.html +167 -140
  127. data/doc/TaskJuggler/ReportTable.html +137 -131
  128. data/doc/TaskJuggler/ReportTableCell.html +332 -292
  129. data/doc/TaskJuggler/ReportTableColumn.html +46 -40
  130. data/doc/TaskJuggler/ReportTableLegend.html +43 -38
  131. data/doc/TaskJuggler/ReportTableLine.html +66 -60
  132. data/doc/TaskJuggler/Resource.html +166 -160
  133. data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
  134. data/doc/TaskJuggler/ResourceListRE.html +47 -41
  135. data/doc/TaskJuggler/ResourceScenario.html +671 -644
  136. data/doc/TaskJuggler/RichText.html +51 -45
  137. data/doc/TaskJuggler/RichTextAttribute.html +28 -22
  138. data/doc/TaskJuggler/RichTextDocument.html +96 -90
  139. data/doc/TaskJuggler/RichTextElement.html +503 -497
  140. data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
  141. data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
  142. data/doc/TaskJuggler/RichTextImage.html +14 -8
  143. data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
  144. data/doc/TaskJuggler/RichTextParser.html +59 -53
  145. data/doc/TaskJuggler/RichTextScanner.html +184 -178
  146. data/doc/TaskJuggler/RichTextSnip.html +69 -63
  147. data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
  148. data/doc/TaskJuggler/Scenario.html +13 -7
  149. data/doc/TaskJuggler/ScenarioData.html +40 -34
  150. data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
  151. data/doc/TaskJuggler/Scoreboard.html +129 -107
  152. data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
  153. data/doc/TaskJuggler/SheetReceiver.html +333 -327
  154. data/doc/TaskJuggler/SheetSender.html +227 -221
  155. data/doc/TaskJuggler/Shift.html +26 -20
  156. data/doc/TaskJuggler/ShiftAssignment.html +45 -39
  157. data/doc/TaskJuggler/ShiftAssignments.html +178 -172
  158. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
  159. data/doc/TaskJuggler/ShiftScenario.html +29 -23
  160. data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
  161. data/doc/TaskJuggler/SortListAttribute.html +17 -13
  162. data/doc/TaskJuggler/SourceFileInfo.html +19 -13
  163. data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
  164. data/doc/TaskJuggler/StatusSheetReport.html +166 -159
  165. data/doc/TaskJuggler/StatusSheetSender.html +80 -74
  166. data/doc/TaskJuggler/StringAttribute.html +20 -14
  167. data/doc/TaskJuggler/SymbolAttribute.html +16 -10
  168. data/doc/TaskJuggler/SyntaxReference.html +231 -225
  169. data/doc/TaskJuggler/TOCEntry.html +46 -40
  170. data/doc/TaskJuggler/TSResourceRecord.html +15 -9
  171. data/doc/TaskJuggler/TSTaskRecord.html +16 -10
  172. data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
  173. data/doc/TaskJuggler/TableOfContents.html +28 -22
  174. data/doc/TaskJuggler/TableReport.html +906 -866
  175. data/doc/TaskJuggler/Task.html +99 -93
  176. data/doc/TaskJuggler/TaskDependency.html +24 -18
  177. data/doc/TaskJuggler/TaskListAttribute.html +29 -25
  178. data/doc/TaskJuggler/TaskListRE.html +46 -39
  179. data/doc/TaskJuggler/TaskScenario.html +2218 -1965
  180. data/doc/TaskJuggler/TextFormatter.html +154 -148
  181. data/doc/TaskJuggler/TextParser.html +362 -348
  182. data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
  183. data/doc/TaskJuggler/TextParser/Rule.html +147 -141
  184. data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
  185. data/doc/TaskJuggler/TextParser/State.html +88 -82
  186. data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
  187. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
  188. data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
  189. data/doc/TaskJuggler/TextReport.html +80 -74
  190. data/doc/TaskJuggler/TextScanner.html +284 -272
  191. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
  192. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
  193. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
  194. data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
  195. data/doc/TaskJuggler/TimeSheet.html +123 -117
  196. data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
  197. data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
  198. data/doc/TaskJuggler/TimeSheetReport.html +206 -199
  199. data/doc/TaskJuggler/TimeSheetSender.html +27 -21
  200. data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
  201. data/doc/TaskJuggler/TimeSheets.html +20 -14
  202. data/doc/TaskJuggler/Tj3AppBase.html +100 -94
  203. data/doc/TaskJuggler/Tj3Client.html +407 -483
  204. data/doc/TaskJuggler/Tj3Daemon.html +116 -107
  205. data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
  206. data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
  207. data/doc/TaskJuggler/Tj3SsSender.html +64 -58
  208. data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
  209. data/doc/TaskJuggler/Tj3TsSender.html +51 -45
  210. data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
  211. data/doc/TaskJuggler/TjException.html +13 -7
  212. data/doc/TaskJuggler/TjTime.html +444 -438
  213. data/doc/TaskJuggler/TjpExample.html +84 -78
  214. data/doc/TaskJuggler/TjpExportRE.html +356 -349
  215. data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
  216. data/doc/TaskJuggler/URLParameter.html +16 -10
  217. data/doc/TaskJuggler/UserManual.html +185 -179
  218. data/doc/TaskJuggler/VimSyntax.html +144 -138
  219. data/doc/TaskJuggler/WebServer.html +46 -39
  220. data/doc/TaskJuggler/WelcomePage.html +769 -0
  221. data/doc/TaskJuggler/WorkingHours.html +185 -179
  222. data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
  223. data/doc/TaskJuggler/XMLBlob.html +21 -15
  224. data/doc/TaskJuggler/XMLComment.html +17 -11
  225. data/doc/TaskJuggler/XMLDocument.html +33 -27
  226. data/doc/TaskJuggler/XMLElement.html +97 -91
  227. data/doc/TaskJuggler/XMLNamedText.html +13 -7
  228. data/doc/TaskJuggler/XMLText.html +32 -26
  229. data/doc/index.html +601 -563
  230. data/doc/lib/AccountScenario_rb.html +5 -3
  231. data/doc/lib/Account_rb.html +5 -3
  232. data/doc/lib/Allocation_rb.html +5 -3
  233. data/doc/lib/AppConfig_rb.html +5 -3
  234. data/doc/lib/AttributeBase_rb.html +5 -3
  235. data/doc/lib/AttributeDefinition_rb.html +5 -3
  236. data/doc/lib/Attributes_rb.html +5 -3
  237. data/doc/lib/BatchProcessor_rb.html +5 -3
  238. data/doc/lib/Booking_rb.html +5 -3
  239. data/doc/lib/ChargeSet_rb.html +5 -3
  240. data/doc/lib/Charge_rb.html +5 -3
  241. data/doc/lib/DataCache_rb.html +5 -3
  242. data/doc/lib/FileList_rb.html +5 -3
  243. data/doc/lib/HTMLDocument_rb.html +5 -3
  244. data/doc/lib/IntervalList_rb.html +69 -0
  245. data/doc/lib/Interval_rb.html +5 -3
  246. data/doc/lib/Journal_rb.html +5 -3
  247. data/doc/lib/KeywordArray_rb.html +5 -3
  248. data/doc/lib/KeywordDocumentation_rb.html +5 -3
  249. data/doc/lib/Limits_rb.html +5 -3
  250. data/doc/lib/LogFile_rb.html +5 -3
  251. data/doc/lib/Log_rb.html +5 -3
  252. data/doc/lib/LogicalExpression_rb.html +5 -3
  253. data/doc/lib/LogicalFunction_rb.html +5 -3
  254. data/doc/lib/LogicalOperation_rb.html +5 -3
  255. data/doc/lib/MacroTable_rb.html +5 -3
  256. data/doc/lib/MessageHandler_rb.html +5 -3
  257. data/doc/lib/ProjectFileParser_rb.html +5 -3
  258. data/doc/lib/ProjectFileScanner_rb.html +5 -3
  259. data/doc/lib/Project_rb.html +5 -3
  260. data/doc/lib/PropertyList_rb.html +5 -3
  261. data/doc/lib/PropertySet_rb.html +5 -3
  262. data/doc/lib/PropertyTreeNode_rb.html +5 -3
  263. data/doc/lib/Query_rb.html +5 -3
  264. data/doc/lib/RTFHandlers_rb.html +5 -3
  265. data/doc/lib/RTFNavigator_rb.html +5 -3
  266. data/doc/lib/RTFQuery_rb.html +5 -3
  267. data/doc/lib/RTFReportLink_rb.html +5 -3
  268. data/doc/lib/RTFReport_rb.html +5 -3
  269. data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
  270. data/doc/lib/RealFormat_rb.html +5 -3
  271. data/doc/lib/ResourceScenario_rb.html +5 -3
  272. data/doc/lib/Resource_rb.html +5 -3
  273. data/doc/lib/RichTextDocument_rb.html +5 -3
  274. data/doc/lib/RichTextElement_rb.html +5 -3
  275. data/doc/lib/RichTextFunctionExample_rb.html +5 -3
  276. data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
  277. data/doc/lib/RichTextParser_rb.html +5 -3
  278. data/doc/lib/RichTextScanner_rb.html +5 -3
  279. data/doc/lib/RichTextSnip_rb.html +5 -3
  280. data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
  281. data/doc/lib/RichText_rb.html +5 -3
  282. data/doc/lib/RuntimeConfig_rb.html +5 -3
  283. data/doc/lib/ScenarioData_rb.html +5 -3
  284. data/doc/lib/Scenario_rb.html +5 -3
  285. data/doc/lib/Scoreboard_rb.html +7 -3
  286. data/doc/lib/SheetHandlerBase_rb.html +5 -3
  287. data/doc/lib/SheetReceiver_rb.html +5 -3
  288. data/doc/lib/SheetSender_rb.html +5 -3
  289. data/doc/lib/ShiftAssignments_rb.html +5 -3
  290. data/doc/lib/ShiftScenario_rb.html +5 -3
  291. data/doc/lib/Shift_rb.html +5 -3
  292. data/doc/lib/SimpleQueryExpander_rb.html +5 -3
  293. data/doc/lib/SourceFileInfo_rb.html +5 -3
  294. data/doc/lib/StatusSheetReceiver_rb.html +5 -3
  295. data/doc/lib/StatusSheetSender_rb.html +5 -3
  296. data/doc/lib/SyntaxReference_rb.html +5 -3
  297. data/doc/lib/TOCEntry_rb.html +5 -3
  298. data/doc/lib/TableColumnDefinition_rb.html +5 -3
  299. data/doc/lib/TableOfContents_rb.html +5 -3
  300. data/doc/lib/TaskDependency_rb.html +5 -3
  301. data/doc/lib/TaskJuggler_rb.html +5 -3
  302. data/doc/lib/TaskScenario_rb.html +5 -3
  303. data/doc/lib/Task_rb.html +5 -3
  304. data/doc/lib/TextFormatter_rb.html +6 -4
  305. data/doc/lib/TextParser/Pattern_rb.html +5 -3
  306. data/doc/lib/TextParser/Rule_rb.html +5 -3
  307. data/doc/lib/TextParser/StackElement_rb.html +5 -3
  308. data/doc/lib/TextParser/State_rb.html +6 -4
  309. data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
  310. data/doc/lib/TextParser_rb.html +5 -3
  311. data/doc/lib/TextScanner_rb.html +5 -3
  312. data/doc/lib/TimeSheetReceiver_rb.html +5 -3
  313. data/doc/lib/TimeSheetSender_rb.html +5 -3
  314. data/doc/lib/TimeSheetSummary_rb.html +6 -4
  315. data/doc/lib/TimeSheets_rb.html +5 -3
  316. data/doc/lib/Tj3AppBase_rb.html +5 -3
  317. data/doc/lib/Tj3Config_rb.html +5 -3
  318. data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
  319. data/doc/lib/TjException_rb.html +5 -3
  320. data/doc/lib/TjTime_rb.html +5 -3
  321. data/doc/lib/TjpExample_rb.html +5 -3
  322. data/doc/lib/TjpSyntaxRules_rb.html +5 -3
  323. data/doc/lib/URLParameter_rb.html +5 -3
  324. data/doc/lib/UTF8String_rb.html +5 -3
  325. data/doc/lib/UserManual_rb.html +5 -3
  326. data/doc/lib/VimSyntax_rb.html +6 -4
  327. data/doc/lib/WorkingHours_rb.html +5 -3
  328. data/doc/lib/XMLDocument_rb.html +5 -3
  329. data/doc/lib/XMLElement_rb.html +5 -3
  330. data/doc/lib/daemon/Daemon_rb.html +5 -3
  331. data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
  332. data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
  333. data/doc/lib/daemon/ProjectServer_rb.html +5 -3
  334. data/doc/lib/daemon/ReportServer_rb.html +5 -3
  335. data/doc/lib/daemon/ReportServlet_rb.html +69 -0
  336. data/doc/lib/daemon/WebServer_rb.html +9 -3
  337. data/doc/lib/daemon/WelcomePage_rb.html +71 -0
  338. data/doc/lib/deep_copy_rb.html +5 -3
  339. data/doc/lib/reports/CSVFile_rb.html +5 -3
  340. data/doc/lib/reports/CollisionDetector_rb.html +5 -3
  341. data/doc/lib/reports/ColumnTable_rb.html +5 -3
  342. data/doc/lib/reports/GanttChart_rb.html +5 -3
  343. data/doc/lib/reports/GanttContainer_rb.html +5 -3
  344. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
  345. data/doc/lib/reports/GanttHeader_rb.html +5 -3
  346. data/doc/lib/reports/GanttLine_rb.html +5 -3
  347. data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
  348. data/doc/lib/reports/GanttMilestone_rb.html +5 -3
  349. data/doc/lib/reports/GanttRouter_rb.html +5 -3
  350. data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
  351. data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
  352. data/doc/lib/reports/Navigator_rb.html +5 -3
  353. data/doc/lib/reports/NikuReport_rb.html +5 -3
  354. data/doc/lib/reports/ReportBase_rb.html +5 -3
  355. data/doc/lib/reports/ReportContext_rb.html +5 -3
  356. data/doc/lib/reports/ReportTableCell_rb.html +5 -3
  357. data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
  358. data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
  359. data/doc/lib/reports/ReportTableLine_rb.html +5 -3
  360. data/doc/lib/reports/ReportTable_rb.html +5 -3
  361. data/doc/lib/reports/Report_rb.html +5 -3
  362. data/doc/lib/reports/ResourceListRE_rb.html +5 -3
  363. data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
  364. data/doc/lib/reports/TableReport_rb.html +5 -3
  365. data/doc/lib/reports/TaskListRE_rb.html +5 -3
  366. data/doc/lib/reports/TextReport_rb.html +5 -3
  367. data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
  368. data/doc/lib/reports/TjpExportRE_rb.html +5 -3
  369. data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
  370. data/doc/lib/tj3client_rb.html +5 -3
  371. data/doc/lib/tj3d_rb.html +6 -4
  372. data/doc/lib/tj3man_rb.html +5 -3
  373. data/doc/lib/tj3ss_receiver_rb.html +5 -3
  374. data/doc/lib/tj3ss_sender_rb.html +5 -3
  375. data/doc/lib/tj3ts_receiver_rb.html +5 -3
  376. data/doc/lib/tj3ts_sender_rb.html +5 -3
  377. data/doc/lib/tj3ts_summary_rb.html +5 -3
  378. data/examples/tutorial.tjp +13 -5
  379. data/gem_spec.rb +3 -0
  380. data/lib/Account.rb +2 -1
  381. data/lib/AccountScenario.rb +2 -1
  382. data/lib/Allocation.rb +2 -1
  383. data/lib/AppConfig.rb +2 -1
  384. data/lib/AttributeBase.rb +19 -5
  385. data/lib/AttributeDefinition.rb +2 -1
  386. data/lib/Attributes.rb +49 -38
  387. data/lib/BatchProcessor.rb +2 -1
  388. data/lib/Booking.rb +2 -1
  389. data/lib/Charge.rb +2 -1
  390. data/lib/ChargeSet.rb +2 -1
  391. data/lib/DataCache.rb +15 -1
  392. data/lib/FileList.rb +2 -1
  393. data/lib/HTMLDocument.rb +2 -1
  394. data/lib/Interval.rb +2 -1
  395. data/lib/IntervalList.rb +100 -0
  396. data/lib/Journal.rb +8 -2
  397. data/lib/KeywordArray.rb +2 -1
  398. data/lib/KeywordDocumentation.rb +10 -6
  399. data/lib/Limits.rb +2 -1
  400. data/lib/Log.rb +3 -2
  401. data/lib/LogFile.rb +2 -1
  402. data/lib/LogicalExpression.rb +2 -1
  403. data/lib/LogicalFunction.rb +2 -1
  404. data/lib/LogicalOperation.rb +2 -1
  405. data/lib/MacroTable.rb +2 -1
  406. data/lib/MessageHandler.rb +2 -1
  407. data/lib/Project.rb +92 -25
  408. data/lib/ProjectFileParser.rb +7 -2
  409. data/lib/ProjectFileScanner.rb +2 -1
  410. data/lib/PropertyList.rb +2 -1
  411. data/lib/PropertySet.rb +2 -6
  412. data/lib/PropertyTreeNode.rb +22 -44
  413. data/lib/Query.rb +32 -13
  414. data/lib/RTFHandlers.rb +2 -1
  415. data/lib/RTFNavigator.rb +2 -1
  416. data/lib/RTFQuery.rb +3 -2
  417. data/lib/RTFReport.rb +2 -1
  418. data/lib/RTFReportLink.rb +2 -1
  419. data/lib/RTFWithQuerySupport.rb +2 -1
  420. data/lib/RealFormat.rb +2 -1
  421. data/lib/Resource.rb +2 -1
  422. data/lib/ResourceScenario.rb +35 -14
  423. data/lib/RichText.rb +2 -1
  424. data/lib/RichTextDocument.rb +2 -1
  425. data/lib/RichTextElement.rb +2 -1
  426. data/lib/RichTextFunctionExample.rb +2 -1
  427. data/lib/RichTextFunctionHandler.rb +2 -1
  428. data/lib/RichTextParser.rb +2 -1
  429. data/lib/RichTextScanner.rb +2 -1
  430. data/lib/RichTextSnip.rb +2 -1
  431. data/lib/RichTextSyntaxRules.rb +2 -1
  432. data/lib/RuntimeConfig.rb +2 -1
  433. data/lib/Scenario.rb +2 -1
  434. data/lib/ScenarioData.rb +2 -1
  435. data/lib/Scoreboard.rb +27 -8
  436. data/lib/SheetHandlerBase.rb +2 -1
  437. data/lib/SheetReceiver.rb +2 -1
  438. data/lib/SheetSender.rb +2 -1
  439. data/lib/Shift.rb +2 -1
  440. data/lib/ShiftAssignments.rb +2 -1
  441. data/lib/ShiftScenario.rb +2 -1
  442. data/lib/SimpleQueryExpander.rb +2 -1
  443. data/lib/SourceFileInfo.rb +2 -1
  444. data/lib/StatusSheetReceiver.rb +2 -1
  445. data/lib/StatusSheetSender.rb +2 -1
  446. data/lib/SyntaxReference.rb +2 -1
  447. data/lib/TOCEntry.rb +2 -1
  448. data/lib/TableColumnDefinition.rb +9 -2
  449. data/lib/TableOfContents.rb +2 -1
  450. data/lib/Task.rb +2 -1
  451. data/lib/TaskDependency.rb +2 -1
  452. data/lib/TaskJuggler.rb +8 -6
  453. data/lib/TaskScenario.rb +337 -153
  454. data/lib/TextFormatter.rb +3 -2
  455. data/lib/TextParser.rb +7 -2
  456. data/lib/TextParser/Pattern.rb +2 -1
  457. data/lib/TextParser/Rule.rb +2 -1
  458. data/lib/TextParser/StackElement.rb +2 -1
  459. data/lib/TextParser/State.rb +3 -2
  460. data/lib/TextParser/TokenDoc.rb +2 -1
  461. data/lib/TextScanner.rb +12 -5
  462. data/lib/TimeSheetReceiver.rb +2 -1
  463. data/lib/TimeSheetSender.rb +2 -1
  464. data/lib/TimeSheetSummary.rb +3 -2
  465. data/lib/TimeSheets.rb +2 -1
  466. data/lib/Tj3AppBase.rb +6 -5
  467. data/lib/Tj3Config.rb +5 -4
  468. data/lib/Tj3SheetAppBase.rb +2 -1
  469. data/lib/TjException.rb +2 -1
  470. data/lib/TjTime.rb +2 -1
  471. data/lib/TjpExample.rb +2 -1
  472. data/lib/TjpSyntaxRules.rb +264 -65
  473. data/lib/URLParameter.rb +2 -1
  474. data/lib/UTF8String.rb +2 -1
  475. data/lib/UserManual.rb +2 -1
  476. data/lib/VimSyntax.rb +3 -2
  477. data/lib/WorkingHours.rb +2 -1
  478. data/lib/XMLDocument.rb +2 -1
  479. data/lib/XMLElement.rb +2 -1
  480. data/lib/daemon/Daemon.rb +3 -1
  481. data/lib/daemon/ProcessIntercom.rb +3 -1
  482. data/lib/daemon/ProjectBroker.rb +84 -32
  483. data/lib/daemon/ProjectServer.rb +5 -3
  484. data/lib/daemon/ReportServer.rb +8 -5
  485. data/lib/daemon/ReportServlet.rb +166 -0
  486. data/lib/daemon/WebServer.rb +6 -150
  487. data/lib/daemon/WelcomePage.rb +80 -0
  488. data/lib/deep_copy.rb +2 -1
  489. data/lib/reports/CSVFile.rb +2 -1
  490. data/lib/reports/CollisionDetector.rb +2 -1
  491. data/lib/reports/ColumnTable.rb +2 -1
  492. data/lib/reports/GanttChart.rb +2 -1
  493. data/lib/reports/GanttContainer.rb +3 -4
  494. data/lib/reports/GanttHeader.rb +2 -1
  495. data/lib/reports/GanttHeaderScaleItem.rb +2 -1
  496. data/lib/reports/GanttLine.rb +12 -10
  497. data/lib/reports/GanttLoadStack.rb +2 -1
  498. data/lib/reports/GanttMilestone.rb +3 -3
  499. data/lib/reports/GanttRouter.rb +4 -1
  500. data/lib/reports/GanttTaskBar.rb +9 -7
  501. data/lib/reports/HTMLGraphics.rb +2 -1
  502. data/lib/reports/Navigator.rb +2 -1
  503. data/lib/reports/NikuReport.rb +79 -49
  504. data/lib/reports/Report.rb +42 -10
  505. data/lib/reports/ReportBase.rb +2 -1
  506. data/lib/reports/ReportContext.rb +2 -1
  507. data/lib/reports/ReportTable.rb +2 -1
  508. data/lib/reports/ReportTableCell.rb +63 -28
  509. data/lib/reports/ReportTableColumn.rb +2 -1
  510. data/lib/reports/ReportTableLegend.rb +5 -5
  511. data/lib/reports/ReportTableLine.rb +2 -1
  512. data/lib/reports/ResourceListRE.rb +2 -1
  513. data/lib/reports/StatusSheetReport.rb +4 -2
  514. data/lib/reports/TableReport.rb +42 -38
  515. data/lib/reports/TaskListRE.rb +4 -2
  516. data/lib/reports/TextReport.rb +2 -1
  517. data/lib/reports/TimeSheetReport.rb +4 -2
  518. data/lib/reports/TjpExportRE.rb +4 -2
  519. data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
  520. data/lib/tj3client.rb +19 -36
  521. data/lib/tj3d.rb +6 -2
  522. data/lib/tj3man.rb +4 -3
  523. data/lib/tj3ss_receiver.rb +2 -1
  524. data/lib/tj3ss_sender.rb +2 -1
  525. data/lib/tj3ts_receiver.rb +2 -1
  526. data/lib/tj3ts_sender.rb +2 -1
  527. data/lib/tj3ts_summary.rb +2 -1
  528. data/manual/Day_To_Day_Juggling +36 -0
  529. data/manual/How_To_Contribute +9 -4
  530. data/manual/Installation +10 -3
  531. data/manual/TaskJuggler_Internals +0 -2
  532. data/manual/Tutorial +25 -3
  533. data/prj_cfg.rb +4 -2
  534. data/spec/IntervalList_spec.rb +138 -0
  535. data/spec/ProjectBroker_spec.rb +133 -0
  536. data/tasks/changelog.rake +41 -24
  537. data/tasks/csts.rake +1 -0
  538. data/tasks/gem.rake +1 -0
  539. data/tasks/rcov.rake +1 -1
  540. data/tasks/spec.rake +7 -0
  541. data/tasks/test.rake +1 -0
  542. data/test/MessageChecker.rb +2 -1
  543. data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
  544. data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
  545. data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
  546. data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
  547. data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
  548. data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
  549. data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
  550. data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
  551. data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
  552. data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
  553. data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
  554. data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
  555. data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
  556. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
  557. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
  558. data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
  559. data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
  560. data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
  561. data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
  562. data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
  563. data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
  564. data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
  565. data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
  566. data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
  567. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
  568. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
  569. data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
  570. data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
  571. data/test/TestSuite/StatusSheets/sender.log +256 -0
  572. data/test/TestSuite/StatusSheets/statussheets.log +9 -0
  573. data/test/TestSuite/StatusSheets/tj3d.log +395 -0
  574. data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
  575. data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
  576. data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
  577. data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
  578. data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
  579. data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
  580. data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
  581. data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
  582. data/test/all.rb +2 -4
  583. data/test/test_BatchProcessor.rb +2 -1
  584. data/test/test_CSV-Reports.rb +34 -23
  585. data/test/test_CSVFile.rb +2 -1
  586. data/test/test_CollisionDetector.rb +3 -2
  587. data/test/test_Journal.rb +2 -1
  588. data/test/test_Limits.rb +2 -1
  589. data/test/test_LogicalExpression.rb +2 -1
  590. data/test/test_MacroTable.rb +2 -1
  591. data/test/test_Project.rb +3 -2
  592. data/test/test_ProjectFileScanner.rb +2 -1
  593. data/test/test_PropertySet.rb +2 -1
  594. data/test/test_Query.rb +2 -1
  595. data/test/test_RealFormat.rb +2 -1
  596. data/test/test_ReportGenerator.rb +2 -1
  597. data/test/test_RichText.rb +2 -1
  598. data/test/test_Scheduler.rb +2 -1
  599. data/test/test_ShiftAssignments.rb +2 -1
  600. data/test/test_SimpleQueryExpander.rb +2 -1
  601. data/test/test_Syntax.rb +2 -1
  602. data/test/test_TextFormatter.rb +3 -2
  603. data/test/test_TjTime.rb +2 -1
  604. data/test/test_TjpExample.rb +2 -1
  605. data/test/test_URLParameter.rb +2 -1
  606. data/test/test_UTF8String.rb +2 -1
  607. data/test/test_WorkingHours.rb +2 -1
  608. data/test/test_deep_copy.rb +2 -1
  609. metadata +74 -20
  610. data/doc/StringIO.html +0 -595
  611. data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
  612. data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
  613. data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
@@ -157,6 +157,8 @@
157
157
 
158
158
  <li><a href="../../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
159
159
 
160
+ <li><a href="../../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
161
+
160
162
  <li><a href="../../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
161
163
 
162
164
  <li><a href="../../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -235,6 +237,8 @@
235
237
 
236
238
  <li><a href="../../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
237
239
 
240
+ <li><a href="../../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
241
+
238
242
  <li><a href="../../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
239
243
 
240
244
  <li><a href="../../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -267,6 +271,8 @@
267
271
 
268
272
  <li><a href="../../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
269
273
 
274
+ <li><a href="../../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
275
+
270
276
  <li><a href="../../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
271
277
 
272
278
  <li><a href="../../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -547,6 +553,8 @@
547
553
 
548
554
  <li><a href="../../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
549
555
 
556
+ <li><a href="../../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
557
+
550
558
  <li><a href="../../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
551
559
 
552
560
  <li><a href="../../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -573,8 +581,6 @@
573
581
 
574
582
  <li><a href="../../String.html">String</a></li>
575
583
 
576
- <li><a href="../../StringIO.html">StringIO</a></li>
577
-
578
584
  </ul>
579
585
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
580
586
  </div>
@@ -732,16 +738,16 @@ Create a new syntax rule called <tt>name</tt>.
732
738
  <div class="method-source-code"
733
739
  id="new-source">
734
740
  <pre>
735
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 32</span>
736
- 32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>)
737
- 33: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
738
- 34: <span class="ruby-ivar">@patterns</span> = []
739
- 35: <span class="ruby-ivar">@repeatable</span> = <span class="ruby-keyword kw">false</span>
740
- 36: <span class="ruby-ivar">@optional</span> = <span class="ruby-keyword kw">false</span>
741
- 37: <span class="ruby-ivar">@keyword</span> = <span class="ruby-keyword kw">nil</span>
742
- 38:
743
- 39: <span class="ruby-identifier">flushCache</span>
744
- 40: <span class="ruby-keyword kw">end</span></pre>
741
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 33</span>
742
+ 33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>)
743
+ 34: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
744
+ 35: <span class="ruby-ivar">@patterns</span> = []
745
+ 36: <span class="ruby-ivar">@repeatable</span> = <span class="ruby-keyword kw">false</span>
746
+ 37: <span class="ruby-ivar">@optional</span> = <span class="ruby-keyword kw">false</span>
747
+ 38: <span class="ruby-ivar">@keyword</span> = <span class="ruby-keyword kw">nil</span>
748
+ 39:
749
+ 40: <span class="ruby-identifier">flushCache</span>
750
+ 41: <span class="ruby-keyword kw">end</span></pre>
745
751
  </div>
746
752
 
747
753
  </div>
@@ -781,10 +787,10 @@ be of type <a href="Pattern.html">TextParser::Pattern</a>.
781
787
  <div class="method-source-code"
782
788
  id="add-attern-source">
783
789
  <pre>
784
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 51</span>
785
- 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addPattern</span>(<span class="ruby-identifier">pattern</span>)
786
- 52: <span class="ruby-ivar">@patterns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">pattern</span>
787
- 53: <span class="ruby-keyword kw">end</span></pre>
790
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 52</span>
791
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addPattern</span>(<span class="ruby-identifier">pattern</span>)
792
+ 53: <span class="ruby-ivar">@patterns</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">pattern</span>
793
+ 54: <span class="ruby-keyword kw">end</span></pre>
788
794
  </div>
789
795
 
790
796
  </div>
@@ -818,14 +824,14 @@ pattern of this rule.
818
824
  <div class="method-source-code"
819
825
  id="add-ransitions-o-tate-source">
820
826
  <pre>
821
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 94</span>
822
- 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">sourceState</span>,
823
- 95: <span class="ruby-identifier">loopBack</span>)
824
- 96: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pattern</span><span class="ruby-operator">|</span>
825
- 97: <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">stateStack</span>.<span class="ruby-identifier">dup</span>, <span class="ruby-identifier">sourceState</span>,
826
- 98: <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">loopBack</span>)
827
- 99: <span class="ruby-keyword kw">end</span>
828
- 100: <span class="ruby-keyword kw">end</span></pre>
827
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 95</span>
828
+ 95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">stateStack</span>, <span class="ruby-identifier">sourceState</span>,
829
+ 96: <span class="ruby-identifier">loopBack</span>)
830
+ 97: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pattern</span><span class="ruby-operator">|</span>
831
+ 98: <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">addTransitionsToState</span>(<span class="ruby-identifier">states</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">stateStack</span>.<span class="ruby-identifier">dup</span>, <span class="ruby-identifier">sourceState</span>,
832
+ 99: <span class="ruby-keyword kw">self</span>, <span class="ruby-value">0</span>, <span class="ruby-identifier">loopBack</span>)
833
+ 100: <span class="ruby-keyword kw">end</span>
834
+ 101: <span class="ruby-keyword kw">end</span></pre>
829
835
  </div>
830
836
 
831
837
  </div>
@@ -856,28 +862,28 @@ pattern of this rule.
856
862
  <div class="method-source-code"
857
863
  id="dump-source">
858
864
  <pre>
859
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 170</span>
860
- 170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dump</span>
861
- 171: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Rule: #{name} #{@optional ? &quot;[optional]&quot; : &quot;&quot;} &quot;</span> <span class="ruby-operator">+</span>
862
- 172: <span class="ruby-node">&quot;#{@repeatable ? &quot;[repeatable]&quot; : &quot;&quot;}&quot;</span>
863
- 173: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
864
- 174: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot; Pattern: \&quot;#{@patterns[i]}\&quot;&quot;</span>
865
- 175: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">i</span>]
866
- 176: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;No transitions for this pattern!&quot;</span>
867
- 177: <span class="ruby-keyword kw">next</span>
868
- 178: <span class="ruby-keyword kw">end</span>
869
- 179:
870
- 180: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">rule</span><span class="ruby-operator">|</span>
871
- 181: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">key</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">__</span>
872
- 182: <span class="ruby-identifier">token</span> = <span class="ruby-value str">&quot;\&quot;&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">key</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">key</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\&quot;&quot;</span>
873
- 183: <span class="ruby-keyword kw">else</span>
874
- 184: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">key</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">key</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
875
- 185: <span class="ruby-keyword kw">end</span>
876
- 186: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot; #{token} -&gt; #{rule.name}&quot;</span>
877
- 187: <span class="ruby-keyword kw">end</span>
878
- 188: <span class="ruby-keyword kw">end</span>
879
- 189: <span class="ruby-identifier">puts</span>
880
- 190: <span class="ruby-keyword kw">end</span></pre>
865
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 171</span>
866
+ 171: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dump</span>
867
+ 172: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Rule: #{name} #{@optional ? &quot;[optional]&quot; : &quot;&quot;} &quot;</span> <span class="ruby-operator">+</span>
868
+ 173: <span class="ruby-node">&quot;#{@repeatable ? &quot;[repeatable]&quot; : &quot;&quot;}&quot;</span>
869
+ 174: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
870
+ 175: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot; Pattern: \&quot;#{@patterns[i]}\&quot;&quot;</span>
871
+ 176: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">i</span>]
872
+ 177: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;No transitions for this pattern!&quot;</span>
873
+ 178: <span class="ruby-keyword kw">next</span>
874
+ 179: <span class="ruby-keyword kw">end</span>
875
+ 180:
876
+ 181: <span class="ruby-ivar">@transitions</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">rule</span><span class="ruby-operator">|</span>
877
+ 182: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">key</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">__</span>
878
+ 183: <span class="ruby-identifier">token</span> = <span class="ruby-value str">&quot;\&quot;&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">key</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">key</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\&quot;&quot;</span>
879
+ 184: <span class="ruby-keyword kw">else</span>
880
+ 185: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">key</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">key</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
881
+ 186: <span class="ruby-keyword kw">end</span>
882
+ 187: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot; #{token} -&gt; #{rule.name}&quot;</span>
883
+ 188: <span class="ruby-keyword kw">end</span>
884
+ 189: <span class="ruby-keyword kw">end</span>
885
+ 190: <span class="ruby-identifier">puts</span>
886
+ 191: <span class="ruby-keyword kw">end</span></pre>
881
887
  </div>
882
888
 
883
889
  </div>
@@ -908,13 +914,13 @@ pattern of this rule.
908
914
  <div class="method-source-code"
909
915
  id="flush-ache-source">
910
916
  <pre>
911
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 42</span>
912
- 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flushCache</span>
913
- 43: <span class="ruby-comment cmt"># A rule is considered to describe optional tokens in case the @optional</span>
914
- 44: <span class="ruby-comment cmt"># flag is set or all of the patterns reference optional rules again.</span>
915
- 45: <span class="ruby-comment cmt"># This variable caches the transitively determined optional value.</span>
916
- 46: <span class="ruby-ivar">@transitiveOptional</span> = <span class="ruby-keyword kw">nil</span>
917
- 47: <span class="ruby-keyword kw">end</span></pre>
917
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 43</span>
918
+ 43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flushCache</span>
919
+ 44: <span class="ruby-comment cmt"># A rule is considered to describe optional tokens in case the @optional</span>
920
+ 45: <span class="ruby-comment cmt"># flag is set or all of the patterns reference optional rules again.</span>
921
+ 46: <span class="ruby-comment cmt"># This variable caches the transitively determined optional value.</span>
922
+ 47: <span class="ruby-ivar">@transitiveOptional</span> = <span class="ruby-keyword kw">nil</span>
923
+ 48: <span class="ruby-keyword kw">end</span></pre>
918
924
  </div>
919
925
 
920
926
  </div>
@@ -945,18 +951,18 @@ pattern of this rule.
945
951
  <div class="method-source-code"
946
952
  id="generate-tates-source">
947
953
  <pre>
948
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 80</span>
949
- 80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateStates</span>
950
- 81: <span class="ruby-comment cmt"># First, add an entry State for this rule. Entry states are never</span>
951
- 82: <span class="ruby-comment cmt"># reached by normal state transitions. They are only used as (re-)start</span>
952
- 83: <span class="ruby-comment cmt"># states.</span>
953
- 84: <span class="ruby-identifier">states</span> = [ <span class="ruby-constant">State</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>) ]
954
- 85:
955
- 86: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pattern</span><span class="ruby-operator">|</span>
956
- 87: <span class="ruby-identifier">states</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">generateStates</span>(<span class="ruby-keyword kw">self</span>)
957
- 88: <span class="ruby-keyword kw">end</span>
958
- 89: <span class="ruby-identifier">states</span>
959
- 90: <span class="ruby-keyword kw">end</span></pre>
954
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 81</span>
955
+ 81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateStates</span>
956
+ 82: <span class="ruby-comment cmt"># First, add an entry State for this rule. Entry states are never</span>
957
+ 83: <span class="ruby-comment cmt"># reached by normal state transitions. They are only used as (re-)start</span>
958
+ 84: <span class="ruby-comment cmt"># states.</span>
959
+ 85: <span class="ruby-identifier">states</span> = [ <span class="ruby-constant">State</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>) ]
960
+ 86:
961
+ 87: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pattern</span><span class="ruby-operator">|</span>
962
+ 88: <span class="ruby-identifier">states</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">generateStates</span>(<span class="ruby-keyword kw">self</span>)
963
+ 89: <span class="ruby-keyword kw">end</span>
964
+ 90: <span class="ruby-identifier">states</span>
965
+ 91: <span class="ruby-keyword kw">end</span></pre>
960
966
  </div>
961
967
 
962
968
  </div>
@@ -991,23 +997,23 @@ be reused for later calls.
991
997
  <div class="method-source-code"
992
998
  id="optional--source">
993
999
  <pre>
994
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 63</span>
995
- 63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">optional?</span>(<span class="ruby-identifier">rules</span>)
996
- 64: <span class="ruby-comment cmt"># If we have a cached result, use this.</span>
997
- 65: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@transitiveOptional</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@transitiveOptional</span>
998
- 66:
999
- 67: <span class="ruby-comment cmt"># If the rule is marked optional, then it is optional.</span>
1000
- 68: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optional</span>
1001
- 69: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@transitiveOptional</span> = <span class="ruby-keyword kw">true</span>
1002
- 70: <span class="ruby-keyword kw">end</span>
1003
- 71:
1004
- 72: <span class="ruby-comment cmt"># If all patterns describe optional content, then this rule is optional</span>
1005
- 73: <span class="ruby-comment cmt"># as well.</span>
1006
- 74: <span class="ruby-ivar">@transitiveOptional</span> = <span class="ruby-keyword kw">true</span>
1007
- 75: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pat</span><span class="ruby-operator">|</span>
1008
- 76: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@transitiveOptional</span> = <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">pat</span>.<span class="ruby-identifier">optional?</span>(<span class="ruby-identifier">rules</span>)
1009
- 77: <span class="ruby-keyword kw">end</span>
1010
- 78: <span class="ruby-keyword kw">end</span></pre>
1000
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 64</span>
1001
+ 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">optional?</span>(<span class="ruby-identifier">rules</span>)
1002
+ 65: <span class="ruby-comment cmt"># If we have a cached result, use this.</span>
1003
+ 66: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@transitiveOptional</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@transitiveOptional</span>
1004
+ 67:
1005
+ 68: <span class="ruby-comment cmt"># If the rule is marked optional, then it is optional.</span>
1006
+ 69: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optional</span>
1007
+ 70: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@transitiveOptional</span> = <span class="ruby-keyword kw">true</span>
1008
+ 71: <span class="ruby-keyword kw">end</span>
1009
+ 72:
1010
+ 73: <span class="ruby-comment cmt"># If all patterns describe optional content, then this rule is optional</span>
1011
+ 74: <span class="ruby-comment cmt"># as well.</span>
1012
+ 75: <span class="ruby-ivar">@transitiveOptional</span> = <span class="ruby-keyword kw">true</span>
1013
+ 76: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pat</span><span class="ruby-operator">|</span>
1014
+ 77: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@transitiveOptional</span> = <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">pat</span>.<span class="ruby-identifier">optional?</span>(<span class="ruby-identifier">rules</span>)
1015
+ 78: <span class="ruby-keyword kw">end</span>
1016
+ 79: <span class="ruby-keyword kw">end</span></pre>
1011
1017
  </div>
1012
1018
 
1013
1019
  </div>
@@ -1040,10 +1046,10 @@ Return a reference the pattern of this <a href="Rule.html">Rule</a>.
1040
1046
  <div class="method-source-code"
1041
1047
  id="pattern-source">
1042
1048
  <pre>
1043
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 144</span>
1044
- 144: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pattern</span>(<span class="ruby-identifier">idx</span>)
1045
- 145: <span class="ruby-ivar">@patterns</span>[<span class="ruby-identifier">idx</span>]
1046
- 146: <span class="ruby-keyword kw">end</span></pre>
1049
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 145</span>
1050
+ 145: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pattern</span>(<span class="ruby-identifier">idx</span>)
1051
+ 146: <span class="ruby-ivar">@patterns</span>[<span class="ruby-identifier">idx</span>]
1052
+ 147: <span class="ruby-keyword kw">end</span></pre>
1047
1053
  </div>
1048
1054
 
1049
1055
  </div>
@@ -1076,11 +1082,11 @@ Add a description for a pattern element of the last added pattern.
1076
1082
  <div class="method-source-code"
1077
1083
  id="set-rg-source">
1078
1084
  <pre>
1079
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 118</span>
1080
- 118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setArg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">doc</span>)
1081
- 119: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'No pattern defined yet'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">empty?</span>
1082
- 120: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setArg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">doc</span>)
1083
- 121: <span class="ruby-keyword kw">end</span></pre>
1085
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 119</span>
1086
+ 119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setArg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">doc</span>)
1087
+ 120: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'No pattern defined yet'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">empty?</span>
1088
+ 121: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setArg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">doc</span>)
1089
+ 122: <span class="ruby-keyword kw">end</span></pre>
1084
1090
  </div>
1085
1091
 
1086
1092
  </div>
@@ -1117,11 +1123,11 @@ scope can be appended, separated by a dot (E.g. name.scope).
1117
1123
  <div class="method-source-code"
1118
1124
  id="set-oc-source">
1119
1125
  <pre>
1120
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 112</span>
1121
- 112: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setDoc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">doc</span>)
1122
- 113: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'No pattern defined yet'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">empty?</span>
1123
- 114: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setDoc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">doc</span>)
1124
- 115: <span class="ruby-keyword kw">end</span></pre>
1126
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 113</span>
1127
+ 113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setDoc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">doc</span>)
1128
+ 114: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'No pattern defined yet'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">empty?</span>
1129
+ 115: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setDoc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">doc</span>)
1130
+ 116: <span class="ruby-keyword kw">end</span></pre>
1125
1131
  </div>
1126
1132
 
1127
1133
  </div>
@@ -1155,10 +1161,10 @@ Add a reference to a code example. <tt>file</tt> is the name of the file.
1155
1161
  <div class="method-source-code"
1156
1162
  id="set-xample-source">
1157
1163
  <pre>
1158
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 139</span>
1159
- 139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setExample</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span>)
1160
- 140: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setExample</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span>)
1161
- 141: <span class="ruby-keyword kw">end</span></pre>
1164
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 140</span>
1165
+ 140: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setExample</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span>)
1166
+ 141: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setExample</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span>)
1167
+ 142: <span class="ruby-keyword kw">end</span></pre>
1162
1168
  </div>
1163
1169
 
1164
1170
  </div>
@@ -1192,12 +1198,12 @@ documentation. All subsequent tokens will be ignored.
1192
1198
  <div class="method-source-code"
1193
1199
  id="set-ast-yntax-oken-source">
1194
1200
  <pre>
1195
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 125</span>
1196
- 125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1197
- 126: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'No pattern defined yet'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">empty?</span>
1198
- 127: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Token index too large'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">length</span>
1199
- 128: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setLastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1200
- 129: <span class="ruby-keyword kw">end</span></pre>
1201
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 126</span>
1202
+ 126: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1203
+ 127: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'No pattern defined yet'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">empty?</span>
1204
+ 128: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Token index too large'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">length</span>
1205
+ 129: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setLastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
1206
+ 130: <span class="ruby-keyword kw">end</span></pre>
1201
1207
  </div>
1202
1208
 
1203
1209
  </div>
@@ -1230,10 +1236,10 @@ Mark the rule as an optional element of the syntax.
1230
1236
  <div class="method-source-code"
1231
1237
  id="set-ptional-source">
1232
1238
  <pre>
1233
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 56</span>
1234
- 56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setOptional</span>
1235
- 57: <span class="ruby-ivar">@optional</span> = <span class="ruby-keyword kw">true</span>
1236
- 58: <span class="ruby-keyword kw">end</span></pre>
1239
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 57</span>
1240
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setOptional</span>
1241
+ 58: <span class="ruby-ivar">@optional</span> = <span class="ruby-keyword kw">true</span>
1242
+ 59: <span class="ruby-keyword kw">end</span></pre>
1237
1243
  </div>
1238
1244
 
1239
1245
  </div>
@@ -1267,10 +1273,10 @@ repeatable element that can occur once or more times in sequence.
1267
1273
  <div class="method-source-code"
1268
1274
  id="set-epeatable-source">
1269
1275
  <pre>
1270
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 104</span>
1271
- 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setRepeatable</span>
1272
- 105: <span class="ruby-ivar">@repeatable</span> = <span class="ruby-keyword kw">true</span>
1273
- 106: <span class="ruby-keyword kw">end</span></pre>
1276
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 105</span>
1277
+ 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setRepeatable</span>
1278
+ 106: <span class="ruby-ivar">@repeatable</span> = <span class="ruby-keyword kw">true</span>
1279
+ 107: <span class="ruby-keyword kw">end</span></pre>
1274
1280
  </div>
1275
1281
 
1276
1282
  </div>
@@ -1303,11 +1309,11 @@ Add a reference to another rule for documentation purposes.
1303
1309
  <div class="method-source-code"
1304
1310
  id="set-ee-lso-source">
1305
1311
  <pre>
1306
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 132</span>
1307
- 132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setSeeAlso</span>(<span class="ruby-identifier">also</span>)
1308
- 133: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'No pattern defined yet'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">empty?</span>
1309
- 134: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setSeeAlso</span>(<span class="ruby-identifier">also</span>)
1310
- 135: <span class="ruby-keyword kw">end</span></pre>
1312
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 133</span>
1313
+ 133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setSeeAlso</span>(<span class="ruby-identifier">also</span>)
1314
+ 134: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'No pattern defined yet'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">empty?</span>
1315
+ 135: <span class="ruby-ivar">@patterns</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">setSeeAlso</span>(<span class="ruby-identifier">also</span>)
1316
+ 136: <span class="ruby-keyword kw">end</span></pre>
1311
1317
  </div>
1312
1318
 
1313
1319
  </div>
@@ -1338,28 +1344,28 @@ Add a reference to another rule for documentation purposes.
1338
1344
  <div class="method-source-code"
1339
1345
  id="to-syntax-source">
1340
1346
  <pre>
1341
- <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 148</span>
1342
- 148: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_syntax</span>(<span class="ruby-identifier">stack</span>, <span class="ruby-identifier">docs</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">skip</span>)
1343
- 149: <span class="ruby-identifier">str</span> = <span class="ruby-value str">''</span>
1344
- 150: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'['</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optional</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@repeatable</span>
1345
- 151: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'('</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
1346
- 152: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1347
- 153: <span class="ruby-identifier">pStr</span> = <span class="ruby-value str">''</span>
1348
- 154: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pat</span><span class="ruby-operator">|</span>
1349
- 155: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1350
- 156: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1351
- 157: <span class="ruby-keyword kw">else</span>
1352
- 158: <span class="ruby-identifier">pStr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">' | '</span>
1353
- 159: <span class="ruby-keyword kw">end</span>
1354
- 160: <span class="ruby-identifier">pStr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">pat</span>.<span class="ruby-identifier">to_syntax_r</span>(<span class="ruby-identifier">stack</span>, <span class="ruby-identifier">docs</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">skip</span>)
1355
- 161: <span class="ruby-keyword kw">end</span>
1356
- 162: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pStr</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span>
1357
- 163: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">pStr</span>
1358
- 164: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'...'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@repeatable</span>
1359
- 165: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">')'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
1360
- 166: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">']'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optional</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@repeatable</span>
1361
- 167: <span class="ruby-identifier">str</span>
1362
- 168: <span class="ruby-keyword kw">end</span></pre>
1347
+ <span class="ruby-comment cmt"># File lib/TextParser/Rule.rb, line 149</span>
1348
+ 149: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_syntax</span>(<span class="ruby-identifier">stack</span>, <span class="ruby-identifier">docs</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">skip</span>)
1349
+ 150: <span class="ruby-identifier">str</span> = <span class="ruby-value str">''</span>
1350
+ 151: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'['</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optional</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@repeatable</span>
1351
+ 152: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'('</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
1352
+ 153: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
1353
+ 154: <span class="ruby-identifier">pStr</span> = <span class="ruby-value str">''</span>
1354
+ 155: <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pat</span><span class="ruby-operator">|</span>
1355
+ 156: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
1356
+ 157: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
1357
+ 158: <span class="ruby-keyword kw">else</span>
1358
+ 159: <span class="ruby-identifier">pStr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">' | '</span>
1359
+ 160: <span class="ruby-keyword kw">end</span>
1360
+ 161: <span class="ruby-identifier">pStr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">pat</span>.<span class="ruby-identifier">to_syntax_r</span>(<span class="ruby-identifier">stack</span>, <span class="ruby-identifier">docs</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">skip</span>)
1361
+ 162: <span class="ruby-keyword kw">end</span>
1362
+ 163: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pStr</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span>
1363
+ 164: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">pStr</span>
1364
+ 165: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'...'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@repeatable</span>
1365
+ 166: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">')'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@patterns</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
1366
+ 167: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">']'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optional</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@repeatable</span>
1367
+ 168: <span class="ruby-identifier">str</span>
1368
+ 169: <span class="ruby-keyword kw">end</span></pre>
1363
1369
  </div>
1364
1370
 
1365
1371
  </div>
@@ -135,6 +135,8 @@
135
135
 
136
136
  <li><a href="../../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
137
137
 
138
+ <li><a href="../../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
139
+
138
140
  <li><a href="../../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
139
141
 
140
142
  <li><a href="../../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
@@ -213,6 +215,8 @@
213
215
 
214
216
  <li><a href="../../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
215
217
 
218
+ <li><a href="../../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
219
+
216
220
  <li><a href="../../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
217
221
 
218
222
  <li><a href="../../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
@@ -245,6 +249,8 @@
245
249
 
246
250
  <li><a href="../../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
247
251
 
252
+ <li><a href="../../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
253
+
248
254
  <li><a href="../../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
249
255
 
250
256
  <li><a href="../../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
@@ -525,6 +531,8 @@
525
531
 
526
532
  <li><a href="../../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
527
533
 
534
+ <li><a href="../../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
535
+
528
536
  <li><a href="../../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
529
537
 
530
538
  <li><a href="../../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -551,8 +559,6 @@
551
559
 
552
560
  <li><a href="../../String.html">String</a></li>
553
561
 
554
- <li><a href="../../StringIO.html">StringIO</a></li>
555
-
556
562
  </ul>
557
563
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
558
564
  </div>
@@ -699,20 +705,20 @@ was entered.
699
705
  <div class="method-source-code"
700
706
  id="new-source">
701
707
  <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>
708
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 32</span>
709
+ 32: <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>)
710
+ 33: <span class="ruby-comment cmt"># This Array stores the collected values.</span>
711
+ 34: <span class="ruby-ivar">@val</span> = []
712
+ 35: <span class="ruby-comment cmt"># Array to store the source file references for the collected values.</span>
713
+ 36: <span class="ruby-ivar">@sourceFileInfo</span> = []
714
+ 37: <span class="ruby-comment cmt"># A shortcut to the first non-nil sourceFileInfo.</span>
715
+ 38: <span class="ruby-ivar">@firstSourceFileInfo</span> = <span class="ruby-keyword kw">nil</span>
716
+ 39: <span class="ruby-comment cmt"># Counter used for StackElement::store()</span>
717
+ 40: <span class="ruby-ivar">@position</span> = <span class="ruby-value">0</span>
718
+ 41: <span class="ruby-comment cmt"># The method that will process the collected values.</span>
719
+ 42: <span class="ruby-ivar">@function</span> = <span class="ruby-identifier">function</span>
720
+ 43: <span class="ruby-ivar">@state</span> = <span class="ruby-identifier">state</span>
721
+ 44: <span class="ruby-keyword kw">end</span></pre>
716
722
  </div>
717
723
 
718
724
  </div>
@@ -749,10 +755,10 @@ was entered.
749
755
  <div class="method-source-code"
750
756
  id="each-source">
751
757
  <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>
758
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 79</span>
759
+ 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
760
+ 80: <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> }
761
+ 81: <span class="ruby-keyword kw">end</span></pre>
756
762
  </div>
757
763
 
758
764
  </div>
@@ -789,28 +795,28 @@ href="TextParserResultArray.html">TextParserResultArray</a> object.
789
795
  <div class="method-source-code"
790
796
  id="insert-source">
791
797
  <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>
798
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 50</span>
799
+ 50: <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>)
800
+ 51: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">multiValue</span>
801
+ 52: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@val</span>[<span class="ruby-identifier">index</span>]
802
+ 53: <span class="ruby-comment cmt"># We already have a value for this token position.</span>
803
+ 54: <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>)
804
+ 55: <span class="ruby-comment cmt"># This should never happen.</span>
805
+ 56: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{@val[index].class} must be an Array&quot;</span>
806
+ 57: <span class="ruby-keyword kw">end</span>
807
+ 58: <span class="ruby-keyword kw">else</span>
808
+ 59: <span class="ruby-ivar">@val</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-constant">TextParserResultArray</span>.<span class="ruby-identifier">new</span>
809
+ 60: <span class="ruby-keyword kw">end</span>
810
+ 61: <span class="ruby-comment cmt"># Just append the value and apply the special Array merging.</span>
811
+ 62: <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>
812
+ 63: <span class="ruby-keyword kw">else</span>
813
+ 64: <span class="ruby-ivar">@val</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">val</span>
814
+ 65: <span class="ruby-keyword kw">end</span>
815
+ 66: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-identifier">index</span>] = <span class="ruby-identifier">sourceFileInfo</span>
816
+ 67: <span class="ruby-comment cmt"># Store the first SFI for faster access.</span>
817
+ 68: <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>
818
+ 69: <span class="ruby-identifier">val</span>
819
+ 70: <span class="ruby-keyword kw">end</span></pre>
814
820
  </div>
815
821
 
816
822
  </div>
@@ -841,10 +847,10 @@ href="TextParserResultArray.html">TextParserResultArray</a> object.
841
847
  <div class="method-source-code"
842
848
  id="length-source">
843
849
  <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>
850
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 83</span>
851
+ 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length</span>
852
+ 84: <span class="ruby-ivar">@val</span>.<span class="ruby-identifier">length</span>
853
+ 85: <span class="ruby-keyword kw">end</span></pre>
848
854
  </div>
849
855
 
850
856
  </div>
@@ -877,12 +883,12 @@ Store a collected value and move the position to the next pattern.
877
883
  <div class="method-source-code"
878
884
  id="store-source">
879
885
  <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>
886
+ <span class="ruby-comment cmt"># File lib/TextParser/StackElement.rb, line 73</span>
887
+ 73: <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>)
888
+ 74: <span class="ruby-ivar">@val</span>[<span class="ruby-ivar">@position</span>] = <span class="ruby-identifier">val</span>
889
+ 75: <span class="ruby-ivar">@sourceFileInfo</span>[<span class="ruby-ivar">@position</span>] = <span class="ruby-identifier">sourceFileInfo</span>
890
+ 76: <span class="ruby-ivar">@position</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
891
+ 77: <span class="ruby-keyword kw">end</span></pre>
886
892
  </div>
887
893
 
888
894
  </div>