taskjuggler 0.0.3 → 0.0.4

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 (495) hide show
  1. data/benchmarks/UTF-8-Strings.rb +58 -0
  2. data/data/css/tjmanual.css +52 -0
  3. data/data/css/tjreport.css +195 -0
  4. data/data/icons/details.png +0 -0
  5. data/data/icons/flag-green.png +0 -0
  6. data/data/icons/flag-red.png +0 -0
  7. data/data/icons/flag-yellow.png +0 -0
  8. data/data/icons/resource.png +0 -0
  9. data/data/icons/resourcegroup.png +0 -0
  10. data/data/icons/task.png +0 -0
  11. data/data/icons/taskgroup.png +0 -0
  12. data/data/icons/trend-down.png +0 -0
  13. data/data/icons/trend-flat.png +0 -0
  14. data/data/icons/trend-up.png +0 -0
  15. data/data/scripts/wz_tooltip.js +1301 -0
  16. data/doc/classes/AppConfig.html +298 -230
  17. data/doc/classes/Arguments.html +8 -8
  18. data/doc/classes/Object.html +7 -7
  19. data/doc/classes/String.html +89 -89
  20. data/doc/classes/TaskJuggler.html +396 -264
  21. data/doc/classes/TaskJuggler/Account.html +18 -18
  22. data/doc/classes/TaskJuggler/AccountAttribute.html +26 -26
  23. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  24. data/doc/classes/TaskJuggler/Allocation.html +30 -30
  25. data/doc/classes/TaskJuggler/AllocationAttribute.html +26 -26
  26. data/doc/classes/TaskJuggler/AttributeBase.html +227 -115
  27. data/doc/classes/TaskJuggler/AttributeDefinition.html +6 -6
  28. data/doc/classes/TaskJuggler/BatchProcessor.html +117 -83
  29. data/doc/classes/TaskJuggler/Booking.html +18 -18
  30. data/doc/classes/TaskJuggler/BookingListAttribute.html +26 -26
  31. data/doc/classes/TaskJuggler/BooleanAttribute.html +26 -26
  32. data/doc/classes/TaskJuggler/CSVFile.html +24 -24
  33. data/doc/classes/TaskJuggler/CellSettingPattern.html +201 -0
  34. data/doc/classes/TaskJuggler/CellSettingPatternList.html +253 -0
  35. data/doc/classes/TaskJuggler/Charge.html +18 -18
  36. data/doc/classes/TaskJuggler/ChargeListAttribute.html +20 -20
  37. data/doc/classes/TaskJuggler/ChargeSet.html +37 -37
  38. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +26 -26
  39. data/doc/classes/TaskJuggler/ColumnListAttribute.html +20 -20
  40. data/doc/classes/TaskJuggler/ColumnTable.html +40 -40
  41. data/doc/classes/TaskJuggler/DateAttribute.html +54 -15
  42. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +10 -10
  43. data/doc/classes/TaskJuggler/DependencyListAttribute.html +47 -47
  44. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  45. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  46. data/doc/classes/TaskJuggler/FlagListAttribute.html +43 -43
  47. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  48. data/doc/classes/TaskJuggler/FormatListAttribute.html +21 -21
  49. data/doc/classes/TaskJuggler/GanttChart.html +48 -48
  50. data/doc/classes/TaskJuggler/GanttContainer.html +42 -42
  51. data/doc/classes/TaskJuggler/GanttHeader.html +12 -12
  52. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +12 -12
  53. data/doc/classes/TaskJuggler/GanttLine.html +24 -24
  54. data/doc/classes/TaskJuggler/GanttLoadStack.html +18 -18
  55. data/doc/classes/TaskJuggler/GanttMilestone.html +42 -42
  56. data/doc/classes/TaskJuggler/GanttRouter.html +24 -24
  57. data/doc/classes/TaskJuggler/GanttTaskBar.html +42 -42
  58. data/doc/classes/TaskJuggler/HTMLDocument.html +13 -13
  59. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  60. data/doc/classes/TaskJuggler/Interval.html +57 -57
  61. data/doc/classes/TaskJuggler/IntervalListAttribute.html +47 -47
  62. data/doc/classes/TaskJuggler/JobInfo.html +68 -12
  63. data/doc/classes/TaskJuggler/Journal.html +266 -20
  64. data/doc/classes/TaskJuggler/JournalEntry.html +79 -23
  65. data/doc/classes/TaskJuggler/JournalEntryList.html +454 -0
  66. data/doc/classes/TaskJuggler/KeywordArray.html +10 -10
  67. data/doc/classes/TaskJuggler/KeywordDocumentation.html +171 -170
  68. data/doc/classes/TaskJuggler/Limits.html +36 -36
  69. data/doc/classes/TaskJuggler/Limits/Limit.html +30 -30
  70. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  71. data/doc/classes/TaskJuggler/ListAttributeBase.html +20 -20
  72. data/doc/classes/TaskJuggler/Log.html +145 -107
  73. data/doc/classes/TaskJuggler/LogicalAttribute.html +65 -36
  74. data/doc/classes/TaskJuggler/LogicalExpression.html +61 -24
  75. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +20 -20
  76. data/doc/classes/TaskJuggler/LogicalFlag.html +31 -51
  77. data/doc/classes/TaskJuggler/LogicalFunction.html +64 -53
  78. data/doc/classes/TaskJuggler/LogicalOperation.html +103 -55
  79. data/doc/classes/TaskJuggler/Macro.html +6 -6
  80. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  81. data/doc/classes/TaskJuggler/MacroTable.html +37 -37
  82. data/doc/classes/TaskJuggler/Message.html +12 -12
  83. data/doc/classes/TaskJuggler/MessageHandler.html +32 -20
  84. data/doc/classes/TaskJuggler/Navigator.html +110 -46
  85. data/doc/classes/TaskJuggler/NavigatorElement.html +449 -0
  86. data/doc/classes/TaskJuggler/OnShiftCache.html +24 -24
  87. data/doc/classes/TaskJuggler/Project.html +1158 -893
  88. data/doc/classes/TaskJuggler/ProjectFileParser.html +94 -91
  89. data/doc/classes/TaskJuggler/PropertyAttribute.html +20 -20
  90. data/doc/classes/TaskJuggler/PropertyList.html +225 -155
  91. data/doc/classes/TaskJuggler/PropertySet.html +375 -332
  92. data/doc/classes/TaskJuggler/PropertyTreeNode.html +750 -510
  93. data/doc/classes/TaskJuggler/Query.html +404 -139
  94. data/doc/classes/TaskJuggler/{RTPNavigator.html → RTFNavigator.html} +57 -56
  95. data/doc/classes/TaskJuggler/RTFQuery.html +343 -0
  96. data/doc/classes/TaskJuggler/{RTPReport.html → RTFReport.html} +70 -67
  97. data/doc/classes/TaskJuggler/RealFormat.html +18 -18
  98. data/doc/classes/TaskJuggler/RealFormatAttribute.html +10 -10
  99. data/doc/classes/TaskJuggler/ReferenceAttribute.html +107 -40
  100. data/doc/classes/TaskJuggler/RemoteServiceManager.html +335 -0
  101. data/doc/classes/TaskJuggler/Report.html +66 -64
  102. data/doc/classes/TaskJuggler/ReportBase.html +112 -123
  103. data/doc/classes/TaskJuggler/ReportContext.html +43 -38
  104. data/doc/classes/TaskJuggler/ReportServer.html +320 -0
  105. data/doc/classes/TaskJuggler/ReportTable.html +42 -42
  106. data/doc/classes/TaskJuggler/ReportTableCell.html +221 -129
  107. data/doc/classes/TaskJuggler/ReportTableColumn.html +27 -27
  108. data/doc/classes/TaskJuggler/ReportTableLegend.html +24 -24
  109. data/doc/classes/TaskJuggler/ReportTableLine.html +126 -80
  110. data/doc/classes/TaskJuggler/Resource.html +12 -12
  111. data/doc/classes/TaskJuggler/ResourceListAttribute.html +82 -47
  112. data/doc/classes/TaskJuggler/ResourceListRE.html +43 -39
  113. data/doc/classes/TaskJuggler/ResourceScenario.html +413 -321
  114. data/doc/classes/TaskJuggler/RichText.html +64 -248
  115. data/doc/classes/TaskJuggler/RichTextAttribute.html +94 -30
  116. data/doc/classes/TaskJuggler/RichTextDocument.html +87 -85
  117. data/doc/classes/TaskJuggler/RichTextElement.html +456 -363
  118. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  119. data/doc/classes/TaskJuggler/{RichTextProtocolExample.html → RichTextFunctionExample.html} +64 -63
  120. data/doc/classes/TaskJuggler/{RichTextProtocolHandler.html → RichTextFunctionHandler.html} +42 -36
  121. data/doc/classes/TaskJuggler/RichTextIntermediate.html +563 -0
  122. data/doc/classes/TaskJuggler/RichTextParser.html +54 -51
  123. data/doc/classes/TaskJuggler/RichTextScanner.html +94 -92
  124. data/doc/classes/TaskJuggler/RichTextSnip.html +96 -60
  125. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +369 -227
  126. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  127. data/doc/classes/TaskJuggler/ScenarioData.html +37 -37
  128. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +31 -31
  129. data/doc/classes/TaskJuggler/Scoreboard.html +66 -66
  130. data/doc/classes/TaskJuggler/Shift.html +18 -18
  131. data/doc/classes/TaskJuggler/ShiftAssignment.html +54 -54
  132. data/doc/classes/TaskJuggler/ShiftAssignments.html +78 -78
  133. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  134. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  135. data/doc/classes/TaskJuggler/SortListAttribute.html +22 -22
  136. data/doc/classes/TaskJuggler/SourceFileInfo.html +12 -12
  137. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  138. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  139. data/doc/classes/TaskJuggler/SyntaxReference.html +42 -42
  140. data/doc/classes/TaskJuggler/TOCEntry.html +12 -12
  141. data/doc/classes/TaskJuggler/TSResourceRecord.html +197 -0
  142. data/doc/classes/TaskJuggler/TSTaskRecord.html +215 -0
  143. data/doc/classes/TaskJuggler/TableColumnDefinition.html +64 -43
  144. data/doc/classes/TaskJuggler/TableOfContents.html +18 -18
  145. data/doc/classes/TaskJuggler/TableReport.html +447 -468
  146. data/doc/classes/TaskJuggler/Task.html +12 -12
  147. data/doc/classes/TaskJuggler/TaskDependency.html +12 -12
  148. data/doc/classes/TaskJuggler/TaskListAttribute.html +47 -47
  149. data/doc/classes/TaskJuggler/TaskListRE.html +43 -39
  150. data/doc/classes/TaskJuggler/TaskScenario.html +529 -282
  151. data/doc/classes/TaskJuggler/TextParser.html +215 -194
  152. data/doc/classes/TaskJuggler/TextParser/Pattern.html +97 -97
  153. data/doc/classes/TaskJuggler/TextParser/Rule.html +84 -84
  154. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -15
  155. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  156. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +6 -6
  157. data/doc/classes/TaskJuggler/TextReport.html +77 -74
  158. data/doc/classes/TaskJuggler/TextScanner.html +294 -281
  159. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  160. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +59 -60
  161. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +12 -12
  162. data/doc/classes/TaskJuggler/TimeSheetReport.html +406 -0
  163. data/doc/classes/TaskJuggler/TjException.html +6 -6
  164. data/doc/classes/TaskJuggler/TjTime.html +522 -513
  165. data/doc/classes/TaskJuggler/TjpExample.html +25 -25
  166. data/doc/classes/TaskJuggler/TjpExportRE.html +21 -24
  167. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +6177 -4318
  168. data/doc/classes/TaskJuggler/UserManual.html +212 -213
  169. data/doc/classes/TaskJuggler/WorkingHours.html +49 -49
  170. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -53
  171. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  172. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  173. data/doc/classes/TaskJuggler/XMLDocument.html +27 -26
  174. data/doc/classes/TaskJuggler/XMLElement.html +86 -50
  175. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  176. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  177. data/doc/files/COPYING.html +1 -1
  178. data/doc/files/README.html +1 -1
  179. data/doc/files/lib/AccountScenario_rb.html +3 -2
  180. data/doc/files/lib/Account_rb.html +3 -2
  181. data/doc/files/lib/Allocation_rb.html +3 -2
  182. data/doc/files/lib/AppConfig_rb.html +5 -2
  183. data/doc/files/lib/AttributeBase_rb.html +3 -2
  184. data/doc/files/lib/AttributeDefinition_rb.html +3 -2
  185. data/doc/files/lib/Attributes_rb.html +3 -2
  186. data/doc/files/lib/BatchProcessor_rb.html +4 -3
  187. data/doc/files/lib/Booking_rb.html +3 -2
  188. data/doc/files/lib/ChargeSet_rb.html +3 -2
  189. data/doc/files/lib/Charge_rb.html +3 -2
  190. data/doc/files/lib/HTMLDocument_rb.html +3 -2
  191. data/doc/files/lib/Interval_rb.html +3 -2
  192. data/doc/files/lib/Journal_rb.html +4 -3
  193. data/doc/files/lib/KeywordArray_rb.html +3 -2
  194. data/doc/files/lib/KeywordDocumentation_rb.html +3 -2
  195. data/doc/files/lib/Limits_rb.html +3 -2
  196. data/doc/files/lib/Log_rb.html +3 -2
  197. data/doc/files/lib/LogicalExpression_rb.html +3 -2
  198. data/doc/files/lib/LogicalFunction_rb.html +3 -2
  199. data/doc/files/lib/LogicalOperation_rb.html +3 -2
  200. data/doc/files/lib/MacroParser_rb.html +3 -2
  201. data/doc/files/lib/MacroTable_rb.html +3 -2
  202. data/doc/files/lib/MessageHandler_rb.html +3 -2
  203. data/doc/files/lib/Message_rb.html +3 -2
  204. data/doc/files/lib/ProjectFileParser_rb.html +7 -4
  205. data/doc/files/lib/Project_rb.html +3 -2
  206. data/doc/files/lib/PropertyList_rb.html +3 -2
  207. data/doc/files/lib/PropertySet_rb.html +3 -2
  208. data/doc/files/lib/PropertyTreeNode_rb.html +3 -2
  209. data/doc/files/lib/Query_rb.html +3 -2
  210. data/doc/files/lib/{RTPNavigator_rb.html → RTFNavigator_rb.html} +8 -7
  211. data/doc/files/lib/RTFQuery_rb.html +121 -0
  212. data/doc/files/lib/{RTPReport_rb.html → RTFReport_rb.html} +8 -7
  213. data/doc/files/lib/RealFormat_rb.html +3 -2
  214. data/doc/files/lib/RemoteServiceManager_rb.html +117 -0
  215. data/doc/files/lib/ReportServer_rb.html +107 -0
  216. data/doc/files/lib/ResourceScenario_rb.html +3 -2
  217. data/doc/files/lib/Resource_rb.html +3 -2
  218. data/doc/files/lib/RichTextDocument_rb.html +4 -3
  219. data/doc/files/lib/RichTextElement_rb.html +3 -2
  220. data/doc/files/lib/{RichTextProtocolExample_rb.html → RichTextFunctionExample_rb.html} +8 -7
  221. data/doc/files/lib/{RichTextProtocolHandler_rb.html → RichTextFunctionHandler_rb.html} +7 -6
  222. data/doc/files/lib/RichTextParser_rb.html +3 -2
  223. data/doc/files/lib/RichTextScanner_rb.html +3 -2
  224. data/doc/files/lib/RichTextSnip_rb.html +3 -2
  225. data/doc/files/lib/RichTextSyntaxRules_rb.html +3 -2
  226. data/doc/files/lib/RichText_rb.html +3 -2
  227. data/doc/files/lib/ScenarioData_rb.html +3 -2
  228. data/doc/files/lib/Scenario_rb.html +3 -2
  229. data/doc/files/lib/Scoreboard_rb.html +3 -2
  230. data/doc/files/lib/ShiftAssignments_rb.html +3 -2
  231. data/doc/files/lib/ShiftScenario_rb.html +3 -2
  232. data/doc/files/lib/Shift_rb.html +3 -2
  233. data/doc/files/lib/SourceFileInfo_rb.html +3 -2
  234. data/doc/files/lib/SyntaxReference_rb.html +3 -2
  235. data/doc/files/lib/TOCEntry_rb.html +3 -2
  236. data/doc/files/lib/TableColumnDefinition_rb.html +3 -2
  237. data/doc/files/lib/TableOfContents_rb.html +3 -2
  238. data/doc/files/lib/TaskDependency_rb.html +3 -2
  239. data/doc/files/lib/TaskJuggler_rb.html +7 -2
  240. data/doc/files/lib/TaskScenario_rb.html +3 -2
  241. data/doc/files/lib/Task_rb.html +3 -2
  242. data/doc/files/lib/TextParser/Pattern_rb.html +4 -3
  243. data/doc/files/lib/TextParser/Rule_rb.html +4 -3
  244. data/doc/files/lib/TextParser/StackElement_rb.html +4 -3
  245. data/doc/files/lib/TextParser/TokenDoc_rb.html +4 -3
  246. data/doc/files/lib/TextParser_rb.html +3 -2
  247. data/doc/files/lib/TextScanner_rb.html +3 -2
  248. data/doc/files/lib/Tj3Config_rb.html +3 -2
  249. data/doc/files/lib/TjException_rb.html +3 -2
  250. data/doc/files/lib/TjTime_rb.html +3 -2
  251. data/doc/files/lib/TjpExample_rb.html +3 -2
  252. data/doc/files/lib/TjpSyntaxRules_rb.html +3 -2
  253. data/doc/files/lib/UTF8String_rb.html +14 -6
  254. data/doc/files/lib/UserManual_rb.html +6 -3
  255. data/doc/files/lib/WorkingHours_rb.html +3 -2
  256. data/doc/files/lib/XMLDocument_rb.html +3 -2
  257. data/doc/files/lib/XMLElement_rb.html +3 -2
  258. data/doc/files/lib/deep_copy_rb.html +3 -2
  259. data/doc/files/lib/reports/CSVFile_rb.html +3 -2
  260. data/doc/files/lib/reports/ColumnTable_rb.html +3 -2
  261. data/doc/files/lib/reports/GanttChart_rb.html +3 -2
  262. data/doc/files/lib/reports/GanttContainer_rb.html +3 -2
  263. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +3 -2
  264. data/doc/files/lib/reports/GanttHeader_rb.html +3 -2
  265. data/doc/files/lib/reports/GanttLine_rb.html +3 -2
  266. data/doc/files/lib/reports/GanttLoadStack_rb.html +3 -2
  267. data/doc/files/lib/reports/GanttMilestone_rb.html +3 -2
  268. data/doc/files/lib/reports/GanttRouter_rb.html +3 -2
  269. data/doc/files/lib/reports/GanttTaskBar_rb.html +3 -2
  270. data/doc/files/lib/reports/HTMLGraphics_rb.html +3 -2
  271. data/doc/files/lib/reports/Navigator_rb.html +3 -2
  272. data/doc/files/lib/reports/ReportBase_rb.html +3 -2
  273. data/doc/files/lib/reports/ReportContext_rb.html +3 -2
  274. data/doc/files/lib/reports/ReportTableCell_rb.html +3 -2
  275. data/doc/files/lib/reports/ReportTableColumn_rb.html +3 -2
  276. data/doc/files/lib/reports/ReportTableLegend_rb.html +3 -2
  277. data/doc/files/lib/reports/ReportTableLine_rb.html +3 -2
  278. data/doc/files/lib/reports/ReportTable_rb.html +3 -2
  279. data/doc/files/lib/reports/Report_rb.html +7 -2
  280. data/doc/files/lib/reports/ResourceListRE_rb.html +3 -2
  281. data/doc/files/lib/reports/TableReport_rb.html +3 -2
  282. data/doc/files/lib/reports/TaskListRE_rb.html +3 -2
  283. data/doc/files/lib/reports/TextReport_rb.html +4 -3
  284. data/doc/files/lib/reports/TimeSheetReport_rb.html +117 -0
  285. data/doc/files/lib/reports/TjpExportRE_rb.html +3 -2
  286. data/doc/files/lib/taskjuggler3_rb.html +94 -77
  287. data/doc/files/lib/tj3client_rb.html +280 -0
  288. data/doc/files/lib/tj3man_rb.html +10 -9
  289. data/doc/fr_class_index.html +27 -5
  290. data/doc/fr_file_index.html +15 -7
  291. data/doc/fr_method_index.html +1312 -1020
  292. data/examples/tutorial.tjp +113 -14
  293. data/gem_spec.rb +2 -1
  294. data/lib/Account.rb +1 -1
  295. data/lib/AccountScenario.rb +1 -1
  296. data/lib/Allocation.rb +1 -1
  297. data/lib/AppConfig.rb +23 -10
  298. data/lib/AttributeBase.rb +34 -6
  299. data/lib/AttributeDefinition.rb +1 -1
  300. data/lib/Attributes.rb +51 -16
  301. data/lib/BatchProcessor.rb +204 -77
  302. data/lib/Booking.rb +1 -1
  303. data/lib/Charge.rb +1 -1
  304. data/lib/ChargeSet.rb +1 -1
  305. data/lib/HTMLDocument.rb +2 -2
  306. data/lib/Interval.rb +1 -1
  307. data/lib/Journal.rb +231 -9
  308. data/lib/KeywordArray.rb +1 -1
  309. data/lib/KeywordDocumentation.rb +6 -4
  310. data/lib/Limits.rb +1 -1
  311. data/lib/Log.rb +8 -1
  312. data/lib/LogicalExpression.rb +14 -13
  313. data/lib/LogicalFunction.rb +88 -14
  314. data/lib/LogicalOperation.rb +124 -53
  315. data/lib/MacroParser.rb +1 -1
  316. data/lib/MacroTable.rb +2 -2
  317. data/lib/Message.rb +1 -1
  318. data/lib/MessageHandler.rb +7 -3
  319. data/lib/Project.rb +93 -14
  320. data/lib/ProjectFileParser.rb +30 -15
  321. data/lib/PropertyList.rb +103 -36
  322. data/lib/PropertySet.rb +22 -10
  323. data/lib/PropertyTreeNode.rb +120 -15
  324. data/lib/Query.rb +119 -48
  325. data/lib/{RTPNavigator.rb → RTFNavigator.rb} +11 -10
  326. data/lib/RTFQuery.rb +166 -0
  327. data/lib/{RTPReport.rb → RTFReport.rb} +11 -8
  328. data/lib/RealFormat.rb +1 -1
  329. data/lib/RemoteServiceManager.rb +80 -0
  330. data/lib/ReportServer.rb +66 -0
  331. data/lib/Resource.rb +1 -1
  332. data/lib/ResourceScenario.rb +48 -19
  333. data/lib/RichText.rb +98 -41
  334. data/lib/RichTextDocument.rb +10 -8
  335. data/lib/RichTextElement.rb +72 -28
  336. data/lib/{RichTextProtocolExample.rb → RichTextFunctionExample.rb} +8 -7
  337. data/lib/{RichTextProtocolHandler.rb → RichTextFunctionHandler.rb} +12 -14
  338. data/lib/RichTextParser.rb +6 -3
  339. data/lib/RichTextScanner.rb +91 -19
  340. data/lib/RichTextSnip.rb +8 -3
  341. data/lib/RichTextSyntaxRules.rb +103 -45
  342. data/lib/Scenario.rb +1 -1
  343. data/lib/ScenarioData.rb +2 -2
  344. data/lib/Scoreboard.rb +1 -1
  345. data/lib/Shift.rb +1 -1
  346. data/lib/ShiftAssignments.rb +1 -1
  347. data/lib/ShiftScenario.rb +1 -1
  348. data/lib/SourceFileInfo.rb +1 -1
  349. data/lib/SyntaxReference.rb +2 -2
  350. data/lib/TOCEntry.rb +1 -1
  351. data/lib/TableColumnDefinition.rb +59 -16
  352. data/lib/TableOfContents.rb +1 -1
  353. data/lib/Task.rb +1 -1
  354. data/lib/TaskDependency.rb +1 -1
  355. data/lib/TaskJuggler.rb +31 -8
  356. data/lib/TaskScenario.rb +165 -16
  357. data/lib/TextParser.rb +36 -22
  358. data/lib/TextParser/Pattern.rb +3 -3
  359. data/lib/TextParser/Rule.rb +2 -2
  360. data/lib/TextParser/StackElement.rb +4 -3
  361. data/lib/TextParser/TokenDoc.rb +2 -2
  362. data/lib/TextScanner.rb +52 -37
  363. data/lib/Tj3Config.rb +6 -5
  364. data/lib/TjException.rb +1 -1
  365. data/lib/TjTime.rb +12 -3
  366. data/lib/TjpExample.rb +1 -1
  367. data/lib/TjpSyntaxRules.rb +1044 -150
  368. data/lib/UTF8String.rb +2 -1
  369. data/lib/UserManual.rb +18 -70
  370. data/lib/WorkingHours.rb +3 -3
  371. data/lib/XMLDocument.rb +3 -2
  372. data/lib/XMLElement.rb +6 -1
  373. data/lib/deep_copy.rb +1 -1
  374. data/lib/reports/CSVFile.rb +1 -1
  375. data/lib/reports/ColumnTable.rb +9 -9
  376. data/lib/reports/GanttChart.rb +1 -1
  377. data/lib/reports/GanttContainer.rb +1 -1
  378. data/lib/reports/GanttHeader.rb +1 -1
  379. data/lib/reports/GanttHeaderScaleItem.rb +1 -1
  380. data/lib/reports/GanttLine.rb +40 -40
  381. data/lib/reports/GanttLoadStack.rb +1 -1
  382. data/lib/reports/GanttMilestone.rb +1 -1
  383. data/lib/reports/GanttRouter.rb +1 -1
  384. data/lib/reports/GanttTaskBar.rb +1 -1
  385. data/lib/reports/HTMLGraphics.rb +1 -1
  386. data/lib/reports/Navigator.rb +149 -22
  387. data/lib/reports/Report.rb +115 -172
  388. data/lib/reports/ReportBase.rb +22 -27
  389. data/lib/reports/ReportContext.rb +29 -15
  390. data/lib/reports/ReportTable.rb +1 -1
  391. data/lib/reports/ReportTableCell.rb +120 -27
  392. data/lib/reports/ReportTableColumn.rb +3 -3
  393. data/lib/reports/ReportTableLegend.rb +1 -1
  394. data/lib/reports/ReportTableLine.rb +10 -2
  395. data/lib/reports/ResourceListRE.rb +5 -1
  396. data/lib/reports/TableReport.rb +237 -287
  397. data/lib/reports/TaskListRE.rb +5 -1
  398. data/lib/reports/TextReport.rb +7 -4
  399. data/lib/reports/TimeSheetReport.rb +233 -0
  400. data/lib/reports/TjpExportRE.rb +2 -2
  401. data/lib/taskjuggler3.rb +27 -11
  402. data/lib/tj3client.rb +110 -0
  403. data/lib/tj3man.rb +4 -4
  404. data/manual/Getting_Started +0 -50
  405. data/manual/How_To_Contribute +6 -13
  406. data/manual/Installation +102 -28
  407. data/manual/Intro +11 -1
  408. data/manual/Reporting_Bugs +23 -7
  409. data/manual/Rich_Text_Attributes +59 -6
  410. data/manual/TaskJuggler_2x_Migration +27 -0
  411. data/manual/The_TaskJuggler_Syntax +104 -0
  412. data/manual/Tutorial +10 -9
  413. data/prj_cfg.rb +8 -2
  414. data/tasks/csts.rake +1 -1
  415. data/tasks/manual.rake +5 -3
  416. data/test/MessageChecker.rb +1 -1
  417. data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
  418. data/test/TestSuite/HTML-Reports/Alerts.tjp +77 -0
  419. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  420. data/test/TestSuite/HTML-Reports/CellText.tjp +75 -0
  421. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  422. data/test/TestSuite/HTML-Reports/ColumnPeriods.tjp +44 -0
  423. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  424. data/test/TestSuite/HTML-Reports/IsOngoing.tjp +34 -0
  425. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +80 -0
  426. data/test/TestSuite/HTML-Reports/LogicalFunctions.tjp +20 -0
  427. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  428. data/test/TestSuite/HTML-Reports/Query.tjp +28 -0
  429. data/test/TestSuite/HTML-Reports/Sorting.tjp +68 -0
  430. data/test/TestSuite/HTML-Reports/TimeSheet.tjp +69 -0
  431. data/test/TestSuite/HTML-Reports/UDAQuery.tjp +27 -0
  432. data/test/TestSuite/HTML-Reports/css/tjmanual.css +52 -0
  433. data/test/TestSuite/HTML-Reports/css/tjreport.css +195 -0
  434. data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
  435. data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
  436. data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
  437. data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
  438. data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
  439. data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
  440. data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
  441. data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
  442. data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
  443. data/test/TestSuite/HTML-Reports/reference.tjp +7 -8
  444. data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
  445. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +1301 -0
  446. data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +34 -0
  447. data/test/TestSuite/Syntax/Correct/Celltext.tjp +2 -1
  448. data/test/TestSuite/Syntax/Correct/Journal.tjp +2 -2
  449. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +2 -1
  450. data/test/TestSuite/Syntax/Correct/LogicalFunction.tjp +20 -0
  451. data/test/TestSuite/Syntax/Correct/Query.tjp +18 -0
  452. data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +45 -0
  453. data/test/TestSuite/Syntax/Correct/TimeSheet.tjp +49 -0
  454. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  455. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  456. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  457. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  458. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  459. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  460. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  461. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  462. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  463. data/test/TestSuite/Syntax/Correct/tutorial.tjp +113 -14
  464. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +28 -0
  465. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +12 -0
  466. data/test/all.rb +2 -2
  467. data/test/test_BatchProcessor.rb +42 -13
  468. data/test/test_CSV-Reports.rb +1 -1
  469. data/test/test_Journal.rb +176 -0
  470. data/test/test_Limits.rb +1 -1
  471. data/test/test_LogicalExpression.rb +14 -5
  472. data/test/test_MacroTable.rb +1 -1
  473. data/test/test_Project.rb +1 -1
  474. data/test/test_PropertySet.rb +1 -1
  475. data/test/test_Query.rb +1 -1
  476. data/test/test_RealFormat.rb +1 -1
  477. data/test/test_RichText.rb +30 -20
  478. data/test/test_Scheduler.rb +1 -1
  479. data/test/test_ShiftAssignments.rb +2 -2
  480. data/test/test_Syntax.rb +1 -1
  481. data/test/test_TextScanner.rb +1 -1
  482. data/test/test_TjTime.rb +1 -1
  483. data/test/test_TjpExample.rb +1 -1
  484. data/test/test_UTF8String.rb +1 -1
  485. data/test/test_WorkingHours.rb +1 -1
  486. data/test/test_deep_copy.rb +2 -2
  487. metadata +610 -532
  488. data/doc/files/lib/ms_test_rb.html +0 -90
  489. data/examples/ContactList.html +0 -1467
  490. data/examples/Deliveries.html +0 -485
  491. data/examples/Development.html +0 -2525
  492. data/examples/Overview.html +0 -747
  493. data/examples/Resource Graph.html +0 -616
  494. data/lib/ms_test.rb +0 -27
  495. data/test/TestSuite/HTML-Reports/reference-export.html +0 -187
@@ -104,13 +104,13 @@ function call in a <a href="LogicalExpression.html">LogicalExpression</a>.
104
104
 
105
105
  <div class="name-list">
106
106
 
107
- <a href="#M000991">eval</a>&nbsp;&nbsp;
107
+ <a href="#M001133">eval</a>&nbsp;&nbsp;
108
108
 
109
- <a href="#M000989">new</a>&nbsp;&nbsp;
109
+ <a href="#M001131">new</a>&nbsp;&nbsp;
110
110
 
111
- <a href="#M000990">setArgumentsAndCheck</a>&nbsp;&nbsp;
111
+ <a href="#M001132">setArgumentsAndCheck</a>&nbsp;&nbsp;
112
112
 
113
- <a href="#M000992">to_s</a>&nbsp;&nbsp;
113
+ <a href="#M001134">to_s</a>&nbsp;&nbsp;
114
114
 
115
115
  </div>
116
116
  </div>
@@ -157,12 +157,12 @@ function call in a <a href="LogicalExpression.html">LogicalExpression</a>.
157
157
  <h3 class="section-bar">Public Class methods</h3>
158
158
 
159
159
 
160
- <div id="method-M000989" class="method-detail">
161
- <a name="M000989"></a>
160
+ <div id="method-M001131" class="method-detail">
161
+ <a name="M001131"></a>
162
162
 
163
163
  <div class="method-heading">
164
164
 
165
- <a href="#M000989" class="method-signature">
165
+ <a href="#M001131" class="method-signature">
166
166
 
167
167
  <span class="method-name">new</span><span class="method-args">(opnd)</span>
168
168
 
@@ -178,14 +178,20 @@ Create a new <a href="LogicalFunction.html">LogicalFunction</a>.
178
178
  </p>
179
179
 
180
180
  <p><a class="source-toggle" href="#"
181
- onclick="toggleCode('M000989-source');return false;">[Source]</a></p>
182
- <div class="method-source-code" id="M000989-source">
181
+ onclick="toggleCode('M001131-source');return false;">[Source]</a></p>
182
+ <div class="method-source-code" id="M001131-source">
183
183
  <pre>
184
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 34</span>
185
- 34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opnd</span>)
186
- 35: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">opnd</span>
187
- 36: <span class="ruby-ivar">@arguments</span> = []
188
- 37: <span class="ruby-keyword kw">end</span>
184
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 38</span>
185
+ 38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opnd</span>)
186
+ 39: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opnd</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?_</span>
187
+ 40: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">opnd</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">-2</span>]
188
+ 41: <span class="ruby-ivar">@invertProperties</span> = <span class="ruby-keyword kw">true</span>
189
+ 42: <span class="ruby-keyword kw">else</span>
190
+ 43: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">opnd</span>
191
+ 44: <span class="ruby-ivar">@invertProperties</span> = <span class="ruby-keyword kw">false</span>
192
+ 45: <span class="ruby-keyword kw">end</span>
193
+ 46: <span class="ruby-ivar">@arguments</span> = []
194
+ 47: <span class="ruby-keyword kw">end</span>
189
195
  </pre>
190
196
  </div>
191
197
 
@@ -196,12 +202,12 @@ Create a new <a href="LogicalFunction.html">LogicalFunction</a>.
196
202
  <h3 class="section-bar">Public Instance methods</h3>
197
203
 
198
204
 
199
- <div id="method-M000991" class="method-detail">
200
- <a name="M000991"></a>
205
+ <div id="method-M001133" class="method-detail">
206
+ <a name="M001133"></a>
201
207
 
202
208
  <div class="method-heading">
203
209
 
204
- <a href="#M000991" class="method-signature">
210
+ <a href="#M001133" class="method-signature">
205
211
 
206
212
  <span class="method-name">eval</span><span class="method-args">(expr)</span>
207
213
 
@@ -216,15 +222,20 @@ Evaluate the function by calling it with the arguments.
216
222
  </p>
217
223
 
218
224
  <p><a class="source-toggle" href="#"
219
- onclick="toggleCode('M000991-source');return false;">[Source]</a></p>
220
- <div class="method-source-code" id="M000991-source">
225
+ onclick="toggleCode('M001133-source');return false;">[Source]</a></p>
226
+ <div class="method-source-code" id="M001133-source">
221
227
  <pre>
222
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 57</span>
223
- 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
224
- 58: <span class="ruby-identifier">args</span> = []
225
- 59: <span class="ruby-comment cmt"># Call the function and return the result.</span>
226
- 60: <span class="ruby-identifier">send</span>(<span class="ruby-ivar">@name</span>, <span class="ruby-identifier">expr</span>, <span class="ruby-ivar">@arguments</span>)
227
- 61: <span class="ruby-keyword kw">end</span>
228
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 67</span>
229
+ 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
230
+ 68: <span class="ruby-identifier">args</span> = []
231
+ 69: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@invertProperties</span>
232
+ 70: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span>
233
+ 71: <span class="ruby-identifier">expr</span> = <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">dup</span>
234
+ 72: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">flipProperties</span>
235
+ 73: <span class="ruby-keyword kw">end</span>
236
+ 74: <span class="ruby-comment cmt"># Call the function and return the result.</span>
237
+ 75: <span class="ruby-identifier">send</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">expr</span>, <span class="ruby-ivar">@arguments</span>)
238
+ 76: <span class="ruby-keyword kw">end</span>
228
239
  </pre>
229
240
  </div>
230
241
 
@@ -232,12 +243,12 @@ Evaluate the function by calling it with the arguments.
232
243
  </div>
233
244
 
234
245
 
235
- <div id="method-M000990" class="method-detail">
236
- <a name="M000990"></a>
246
+ <div id="method-M001132" class="method-detail">
247
+ <a name="M001132"></a>
237
248
 
238
249
  <div class="method-heading">
239
250
 
240
- <a href="#M000990" class="method-signature">
251
+ <a href="#M001132" class="method-signature">
241
252
 
242
253
  <span class="method-name">setArgumentsAndCheck</span><span class="method-args">(args)</span>
243
254
 
@@ -254,23 +265,23 @@ function and the number of arguments match this function. If not, return an
254
265
  </p>
255
266
 
256
267
  <p><a class="source-toggle" href="#"
257
- onclick="toggleCode('M000990-source');return false;">[Source]</a></p>
258
- <div class="method-source-code" id="M000990-source">
268
+ onclick="toggleCode('M001132-source');return false;">[Source]</a></p>
269
+ <div class="method-source-code" id="M001132-source">
259
270
  <pre>
260
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 42</span>
261
- 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setArgumentsAndCheck</span>(<span class="ruby-identifier">args</span>)
262
- 43: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@@functions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@name</span>)
263
- 44: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'unknown_function'</span>,
264
- 45: <span class="ruby-node">&quot;Unknown function #{@name} used in logical expression.&quot;</span> ]
265
- 46: <span class="ruby-keyword kw">end</span>
266
- 47: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@@functions</span>[<span class="ruby-ivar">@name</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span>
267
- 48: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'wrong_no_func_arguments'</span>,
268
- 49: <span class="ruby-node">&quot;Wrong number of arguments for function #{@name}. Got &quot;</span> <span class="ruby-operator">+</span>
269
- 50: <span class="ruby-node">&quot;#{args.length} instead of #{@@functions[@name]}.&quot;</span> ]
270
- 51: <span class="ruby-keyword kw">end</span>
271
- 52: <span class="ruby-ivar">@arguments</span> = <span class="ruby-identifier">args</span>
272
- 53: <span class="ruby-keyword kw">nil</span>
273
- 54: <span class="ruby-keyword kw">end</span>
271
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 52</span>
272
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setArgumentsAndCheck</span>(<span class="ruby-identifier">args</span>)
273
+ 53: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@@functions</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@name</span>)
274
+ 54: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'unknown_function'</span>,
275
+ 55: <span class="ruby-node">&quot;Unknown function #{@name} used in logical expression.&quot;</span> ]
276
+ 56: <span class="ruby-keyword kw">end</span>
277
+ 57: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@@functions</span>[<span class="ruby-ivar">@name</span>] <span class="ruby-operator">!=</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">length</span>
278
+ 58: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value str">'wrong_no_func_arguments'</span>,
279
+ 59: <span class="ruby-node">&quot;Wrong number of arguments for function #{@name}. Got &quot;</span> <span class="ruby-operator">+</span>
280
+ 60: <span class="ruby-node">&quot;#{args.length} instead of #{@@functions[@name]}.&quot;</span> ]
281
+ 61: <span class="ruby-keyword kw">end</span>
282
+ 62: <span class="ruby-ivar">@arguments</span> = <span class="ruby-identifier">args</span>
283
+ 63: <span class="ruby-keyword kw">nil</span>
284
+ 64: <span class="ruby-keyword kw">end</span>
274
285
  </pre>
275
286
  </div>
276
287
 
@@ -278,12 +289,12 @@ function and the number of arguments match this function. If not, return an
278
289
  </div>
279
290
 
280
291
 
281
- <div id="method-M000992" class="method-detail">
282
- <a name="M000992"></a>
292
+ <div id="method-M001134" class="method-detail">
293
+ <a name="M001134"></a>
283
294
 
284
295
  <div class="method-heading">
285
296
 
286
- <a href="#M000992" class="method-signature">
297
+ <a href="#M001134" class="method-signature">
287
298
 
288
299
  <span class="method-name">to_s</span><span class="method-args">()</span>
289
300
 
@@ -298,13 +309,13 @@ Return a textual expression of the function call.
298
309
  </p>
299
310
 
300
311
  <p><a class="source-toggle" href="#"
301
- onclick="toggleCode('M000992-source');return false;">[Source]</a></p>
302
- <div class="method-source-code" id="M000992-source">
312
+ onclick="toggleCode('M001134-source');return false;">[Source]</a></p>
313
+ <div class="method-source-code" id="M001134-source">
303
314
  <pre>
304
- <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 64</span>
305
- 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
306
- 65: <span class="ruby-node">&quot;#{@name}(#{@arguments.join(', ')})&quot;</span>
307
- 66: <span class="ruby-keyword kw">end</span>
315
+ <span class="ruby-comment cmt"># File lib/LogicalFunction.rb, line 79</span>
316
+ 79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
317
+ 80: <span class="ruby-node">&quot;#{@name}(#{@arguments.join(', ')})&quot;</span>
318
+ 81: <span class="ruby-keyword kw">end</span>
308
319
  </pre>
309
320
  </div>
310
321
 
@@ -98,7 +98,7 @@ references to project data. The <a
98
98
  href="LogicalOperation.html">LogicalOperation</a> can be evaluated in a
99
99
  certain context. This contexts determines the actual values of the project
100
100
  data references. The evaluation is done by calling <a
101
- href="LogicalOperation.html#M000950">LogicalOperation#eval</a>. The result
101
+ href="LogicalOperation.html#M000966">LogicalOperation#eval</a>. The result
102
102
  must be of a type that responds to all the operators that are used in the
103
103
  eval method.
104
104
  </p>
@@ -113,9 +113,11 @@ eval method.
113
113
 
114
114
  <div class="name-list">
115
115
 
116
- <a href="#M000950">eval</a>&nbsp;&nbsp;
116
+ <a href="#M000966">eval</a>&nbsp;&nbsp;
117
117
 
118
- <a href="#M000949">new</a>&nbsp;&nbsp;
118
+ <a href="#M000965">new</a>&nbsp;&nbsp;
119
+
120
+ <a href="#M000967">to_s</a>&nbsp;&nbsp;
119
121
 
120
122
  </div>
121
123
  </div>
@@ -170,12 +172,12 @@ eval method.
170
172
  <h3 class="section-bar">Public Class methods</h3>
171
173
 
172
174
 
173
- <div id="method-M000949" class="method-detail">
174
- <a name="M000949"></a>
175
+ <div id="method-M000965" class="method-detail">
176
+ <a name="M000965"></a>
175
177
 
176
178
  <div class="method-heading">
177
179
 
178
- <a href="#M000949" class="method-signature">
180
+ <a href="#M000965" class="method-signature">
179
181
 
180
182
  <span class="method-name">new</span><span class="method-args">(opnd1, operator = nil, opnd2 = nil)</span>
181
183
 
@@ -192,8 +194,8 @@ can be set later.
192
194
  </p>
193
195
 
194
196
  <p><a class="source-toggle" href="#"
195
- onclick="toggleCode('M000949-source');return false;">[Source]</a></p>
196
- <div class="method-source-code" id="M000949-source">
197
+ onclick="toggleCode('M000965-source');return false;">[Source]</a></p>
198
+ <div class="method-source-code" id="M000965-source">
197
199
  <pre>
198
200
  <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 32</span>
199
201
  32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">opnd1</span>, <span class="ruby-identifier">operator</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">opnd2</span> = <span class="ruby-keyword kw">nil</span>)
@@ -211,12 +213,12 @@ can be set later.
211
213
  <h3 class="section-bar">Public Instance methods</h3>
212
214
 
213
215
 
214
- <div id="method-M000950" class="method-detail">
215
- <a name="M000950"></a>
216
+ <div id="method-M000966" class="method-detail">
217
+ <a name="M000966"></a>
216
218
 
217
219
  <div class="method-heading">
218
220
 
219
- <a href="#M000950" class="method-signature">
221
+ <a href="#M000966" class="method-signature">
220
222
 
221
223
  <span class="method-name">eval</span><span class="method-args">(expr)</span>
222
224
 
@@ -233,53 +235,99 @@ must be of a type that responds to all the operators of this function.
233
235
  </p>
234
236
 
235
237
  <p><a class="source-toggle" href="#"
236
- onclick="toggleCode('M000950-source');return false;">[Source]</a></p>
237
- <div class="method-source-code" id="M000950-source">
238
+ onclick="toggleCode('M000966-source');return false;">[Source]</a></p>
239
+ <div class="method-source-code" id="M000966-source">
238
240
  <pre>
239
241
  <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 41</span>
240
242
  41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
241
- 42: <span class="ruby-keyword kw">begin</span>
242
- 43: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@operator</span>
243
- 44: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>
244
- 45: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:eval</span>)
245
- 46: <span class="ruby-comment cmt"># An operand can be a fixed value or another term. This could be a</span>
246
- 47: <span class="ruby-comment cmt"># LogicalOperation, LogicalFunction or anything else that provides</span>
247
- 48: <span class="ruby-comment cmt"># an appropriate eval() method.</span>
248
- 49: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
249
- 50: <span class="ruby-keyword kw">else</span>
250
- 51: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@operand1</span>
251
- 52: <span class="ruby-keyword kw">end</span>
252
- 53: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'~'</span>
253
- 54: <span class="ruby-keyword kw">return</span> <span class="ruby-operator">!</span><span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>))
254
- 55: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&gt;'</span>
255
- 56: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)) <span class="ruby-operator">&gt;</span>
256
- 57: <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>))
257
- 58: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&gt;='</span>
258
- 59: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)) <span class="ruby-operator">&gt;=</span>
259
- 60: <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>))
260
- 61: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'='</span>
261
- 62: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)) <span class="ruby-operator">==</span>
262
- 63: <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>))
263
- 64: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;'</span>
264
- 65: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)) <span class="ruby-operator">&lt;</span>
265
- 66: <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>))
266
- 67: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;='</span>
267
- 68: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)) <span class="ruby-operator">&lt;=</span>
268
- 69: <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>))
269
- 70: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&amp;'</span>
270
- 71: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)) <span class="ruby-operator">&amp;&amp;</span>
271
- 72: <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>))
272
- 73: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'|'</span>
273
- 74: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)) <span class="ruby-operator">||</span>
274
- 75: <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>))
275
- 76: <span class="ruby-keyword kw">else</span>
276
- 77: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>,
277
- 78: <span class="ruby-node">&quot;Unknown operator #{@operator} in logical expression&quot;</span>
278
- 79: <span class="ruby-keyword kw">end</span>
279
- 80: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
280
- 81: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;Can't evaluate #{to_s}&quot;</span>
281
- 82: <span class="ruby-keyword kw">end</span>
282
- 83: <span class="ruby-keyword kw">end</span>
243
+ 42: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@operator</span>
244
+ 43: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>
245
+ 44: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:eval</span>)
246
+ 45: <span class="ruby-comment cmt"># An operand can be a fixed value or another term. This could be a</span>
247
+ 46: <span class="ruby-comment cmt"># LogicalOperation, LogicalFunction or anything else that provides</span>
248
+ 47: <span class="ruby-comment cmt"># an appropriate eval() method.</span>
249
+ 48: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
250
+ 49: <span class="ruby-keyword kw">else</span>
251
+ 50: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@operand1</span>
252
+ 51: <span class="ruby-keyword kw">end</span>
253
+ 52: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'~'</span>
254
+ 53: <span class="ruby-keyword kw">return</span> <span class="ruby-operator">!</span><span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>)
255
+ 54: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&gt;'</span>, <span class="ruby-value str">'&gt;='</span>, <span class="ruby-value str">'='</span>, <span class="ruby-value str">'&lt;'</span>, <span class="ruby-value str">'&lt;='</span>, <span class="ruby-value str">'!='</span>
256
+ 55: <span class="ruby-comment cmt"># Evaluate the operation for all 2 operand operations that can be</span>
257
+ 56: <span class="ruby-comment cmt"># either interpreted as date, numbers or Strings.</span>
258
+ 57: <span class="ruby-identifier">opnd1</span> = <span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
259
+ 58: <span class="ruby-identifier">opnd2</span> = <span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>)
260
+ 59: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opnd1</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TjTime</span>)
261
+ 60: <span class="ruby-identifier">res</span>= <span class="ruby-identifier">evalBinaryOperation</span>(<span class="ruby-identifier">opnd1</span>, <span class="ruby-identifier">operator</span>, <span class="ruby-identifier">opnd2</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
262
+ 61: <span class="ruby-identifier">coerceTime</span>(<span class="ruby-identifier">o</span>, <span class="ruby-identifier">expr</span>)
263
+ 62: <span class="ruby-keyword kw">end</span>
264
+ 63: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
265
+ 64: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opnd1</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">opnd1</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Float</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">opnd1</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Bignum</span>)
266
+ 65: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">evalBinaryOperation</span>(<span class="ruby-identifier">opnd1</span>, <span class="ruby-identifier">operator</span>, <span class="ruby-identifier">opnd2</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
267
+ 66: <span class="ruby-identifier">coerceNumber</span>(<span class="ruby-identifier">o</span>, <span class="ruby-identifier">expr</span>)
268
+ 67: <span class="ruby-keyword kw">end</span>
269
+ 68: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">opnd1</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
270
+ 69: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">evalBinaryOperation</span>(<span class="ruby-identifier">opnd1</span>, <span class="ruby-identifier">operator</span>, <span class="ruby-identifier">opnd2</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
271
+ 70: <span class="ruby-identifier">coerceString</span>(<span class="ruby-identifier">o</span>, <span class="ruby-identifier">expr</span>)
272
+ 71: <span class="ruby-keyword kw">end</span>
273
+ 72: <span class="ruby-keyword kw">else</span>
274
+ 73: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">&quot;First operand of a binary operation must be a date, &quot;</span> <span class="ruby-operator">+</span>
275
+ 74: <span class="ruby-node">&quot;a number or a string: #{opnd1}&quot;</span>)
276
+ 75: <span class="ruby-keyword kw">end</span>
277
+ 76: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&amp;'</span>
278
+ 77: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>) <span class="ruby-operator">&amp;&amp;</span>
279
+ 78: <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>)
280
+ 79: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'|'</span>
281
+ 80: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand1</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>) <span class="ruby-operator">||</span>
282
+ 81: <span class="ruby-identifier">coerceBoolean</span>(<span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">eval</span>(<span class="ruby-identifier">expr</span>), <span class="ruby-identifier">expr</span>)
283
+ 82: <span class="ruby-keyword kw">else</span>
284
+ 83: <span class="ruby-identifier">expr</span>.<span class="ruby-identifier">error</span>(<span class="ruby-node">&quot;Unknown operator #{@operator} in logical expression&quot;</span>)
285
+ 84: <span class="ruby-keyword kw">end</span>
286
+ 85: <span class="ruby-keyword kw">end</span>
287
+ </pre>
288
+ </div>
289
+
290
+ </div>
291
+ </div>
292
+
293
+
294
+ <div id="method-M000967" class="method-detail">
295
+ <a name="M000967"></a>
296
+
297
+ <div class="method-heading">
298
+
299
+ <a href="#M000967" class="method-signature">
300
+
301
+ <span class="method-name">to_s</span><span class="method-args">()</span>
302
+
303
+ </a>
304
+
305
+ </div>
306
+
307
+ <div class="method-description">
308
+
309
+ <p>
310
+ Convert the operation into a textual representation. This function is used
311
+ for error reporting and debugging.
312
+ </p>
313
+
314
+ <p><a class="source-toggle" href="#"
315
+ onclick="toggleCode('M000967-source');return false;">[Source]</a></p>
316
+ <div class="method-source-code" id="M000967-source">
317
+ <pre>
318
+ <span class="ruby-comment cmt"># File lib/LogicalOperation.rb, line 89</span>
319
+ 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
320
+ 90: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@operator</span>.<span class="ruby-identifier">nil?</span>
321
+ 91: <span class="ruby-node">&quot;#{@operand1.to_s}&quot;</span>
322
+ 92: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@operand2</span>.<span class="ruby-identifier">nil?</span>
323
+ 93: <span class="ruby-node">&quot;#{@operator}(#{@operand1.is_a?(String) ?
324
+ 94: &quot;'&quot; + @operand1 + &quot;'&quot; : @operand1})&quot;</span>
325
+ 95: <span class="ruby-keyword kw">else</span>
326
+ 96: <span class="ruby-node">&quot;(#{@operand1.is_a?(String) ? &quot;'&quot; + @operand1 + &quot;'&quot; :
327
+ 97: @operand1} #{@operator} #{
328
+ 98: @operand2.is_a?(String) ? &quot;'&quot; + @operand2 + &quot;'&quot; : @operand2})&quot;</span>
329
+ 99: <span class="ruby-keyword kw">end</span>
330
+ 100: <span class="ruby-keyword kw">end</span>
283
331
  </pre>
284
332
  </div>
285
333
 
@@ -95,7 +95,7 @@
95
95
 
96
96
  <div class="name-list">
97
97
 
98
- <a href="#M000527">new</a>&nbsp;&nbsp;
98
+ <a href="#M000713">new</a>&nbsp;&nbsp;
99
99
 
100
100
  </div>
101
101
  </div>
@@ -150,12 +150,12 @@
150
150
  <h3 class="section-bar">Public Class methods</h3>
151
151
 
152
152
 
153
- <div id="method-M000527" class="method-detail">
154
- <a name="M000527"></a>
153
+ <div id="method-M000713" class="method-detail">
154
+ <a name="M000713"></a>
155
155
 
156
156
  <div class="method-heading">
157
157
 
158
- <a href="#M000527" class="method-signature">
158
+ <a href="#M000713" class="method-signature">
159
159
 
160
160
  <span class="method-name">new</span><span class="method-args">(name, value, sourceFileInfo)</span>
161
161
 
@@ -166,8 +166,8 @@
166
166
  <div class="method-description">
167
167
 
168
168
  <p><a class="source-toggle" href="#"
169
- onclick="toggleCode('M000527-source');return false;">[Source]</a></p>
170
- <div class="method-source-code" id="M000527-source">
169
+ onclick="toggleCode('M000713-source');return false;">[Source]</a></p>
170
+ <div class="method-source-code" id="M000713-source">
171
171
  <pre>
172
172
  <span class="ruby-comment cmt"># File lib/MacroTable.rb, line 24</span>
173
173
  24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">sourceFileInfo</span>)
@@ -103,17 +103,17 @@ from the same scanner that it uses to read the macro tokens.
103
103
 
104
104
  <div class="name-list">
105
105
 
106
- <a href="#M000376">new</a>&nbsp;&nbsp;
106
+ <a href="#M000958">new</a>&nbsp;&nbsp;
107
107
 
108
- <a href="#M000377">nextToken</a>&nbsp;&nbsp;
108
+ <a href="#M000959">nextToken</a>&nbsp;&nbsp;
109
109
 
110
- <a href="#M000378">returnToken</a>&nbsp;&nbsp;
110
+ <a href="#M000960">returnToken</a>&nbsp;&nbsp;
111
111
 
112
- <a href="#M000379">rule_macroArguments</a>&nbsp;&nbsp;
112
+ <a href="#M000961">rule_macroArguments</a>&nbsp;&nbsp;
113
113
 
114
- <a href="#M000380">rule_macroCall</a>&nbsp;&nbsp;
114
+ <a href="#M000962">rule_macroCall</a>&nbsp;&nbsp;
115
115
 
116
- <a href="#M000381">rule_relax</a>&nbsp;&nbsp;
116
+ <a href="#M000963">rule_relax</a>&nbsp;&nbsp;
117
117
 
118
118
  </div>
119
119
  </div>
@@ -134,12 +134,12 @@ from the same scanner that it uses to read the macro tokens.
134
134
  <h3 class="section-bar">Public Class methods</h3>
135
135
 
136
136
 
137
- <div id="method-M000376" class="method-detail">
138
- <a name="M000376"></a>
137
+ <div id="method-M000958" class="method-detail">
138
+ <a name="M000958"></a>
139
139
 
140
140
  <div class="method-heading">
141
141
 
142
- <a href="#M000376" class="method-signature">
142
+ <a href="#M000958" class="method-signature">
143
143
 
144
144
  <span class="method-name">new</span><span class="method-args">(scanner, messageHandler)</span>
145
145
 
@@ -150,8 +150,8 @@ from the same scanner that it uses to read the macro tokens.
150
150
  <div class="method-description">
151
151
 
152
152
  <p><a class="source-toggle" href="#"
153
- onclick="toggleCode('M000376-source');return false;">[Source]</a></p>
154
- <div class="method-source-code" id="M000376-source">
153
+ onclick="toggleCode('M000958-source');return false;">[Source]</a></p>
154
+ <div class="method-source-code" id="M000958-source">
155
155
  <pre>
156
156
  <span class="ruby-comment cmt"># File lib/MacroParser.rb, line 23</span>
157
157
  23: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">scanner</span>, <span class="ruby-identifier">messageHandler</span>)
@@ -173,12 +173,12 @@ from the same scanner that it uses to read the macro tokens.
173
173
  <h3 class="section-bar">Public Instance methods</h3>
174
174
 
175
175
 
176
- <div id="method-M000377" class="method-detail">
177
- <a name="M000377"></a>
176
+ <div id="method-M000959" class="method-detail">
177
+ <a name="M000959"></a>
178
178
 
179
179
  <div class="method-heading">
180
180
 
181
- <a href="#M000377" class="method-signature">
181
+ <a href="#M000959" class="method-signature">
182
182
 
183
183
  <span class="method-name">nextToken</span><span class="method-args">()</span>
184
184
 
@@ -189,8 +189,8 @@ from the same scanner that it uses to read the macro tokens.
189
189
  <div class="method-description">
190
190
 
191
191
  <p><a class="source-toggle" href="#"
192
- onclick="toggleCode('M000377-source');return false;">[Source]</a></p>
193
- <div class="method-source-code" id="M000377-source">
192
+ onclick="toggleCode('M000959-source');return false;">[Source]</a></p>
193
+ <div class="method-source-code" id="M000959-source">
194
194
  <pre>
195
195
  <span class="ruby-comment cmt"># File lib/MacroParser.rb, line 33</span>
196
196
  33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
@@ -203,12 +203,12 @@ from the same scanner that it uses to read the macro tokens.
203
203
  </div>
204
204
 
205
205
 
206
- <div id="method-M000378" class="method-detail">
207
- <a name="M000378"></a>
206
+ <div id="method-M000960" class="method-detail">
207
+ <a name="M000960"></a>
208
208
 
209
209
  <div class="method-heading">
210
210
 
211
- <a href="#M000378" class="method-signature">
211
+ <a href="#M000960" class="method-signature">
212
212
 
213
213
  <span class="method-name">returnToken</span><span class="method-args">(token)</span>
214
214
 
@@ -219,8 +219,8 @@ from the same scanner that it uses to read the macro tokens.
219
219
  <div class="method-description">
220
220
 
221
221
  <p><a class="source-toggle" href="#"
222
- onclick="toggleCode('M000378-source');return false;">[Source]</a></p>
223
- <div class="method-source-code" id="M000378-source">
222
+ onclick="toggleCode('M000960-source');return false;">[Source]</a></p>
223
+ <div class="method-source-code" id="M000960-source">
224
224
  <pre>
225
225
  <span class="ruby-comment cmt"># File lib/MacroParser.rb, line 37</span>
226
226
  37: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
@@ -233,12 +233,12 @@ from the same scanner that it uses to read the macro tokens.
233
233
  </div>
234
234
 
235
235
 
236
- <div id="method-M000379" class="method-detail">
237
- <a name="M000379"></a>
236
+ <div id="method-M000961" class="method-detail">
237
+ <a name="M000961"></a>
238
238
 
239
239
  <div class="method-heading">
240
240
 
241
- <a href="#M000379" class="method-signature">
241
+ <a href="#M000961" class="method-signature">
242
242
 
243
243
  <span class="method-name">rule_macroArguments</span><span class="method-args">()</span>
244
244
 
@@ -249,8 +249,8 @@ from the same scanner that it uses to read the macro tokens.
249
249
  <div class="method-description">
250
250
 
251
251
  <p><a class="source-toggle" href="#"
252
- onclick="toggleCode('M000379-source');return false;">[Source]</a></p>
253
- <div class="method-source-code" id="M000379-source">
252
+ onclick="toggleCode('M000961-source');return false;">[Source]</a></p>
253
+ <div class="method-source-code" id="M000961-source">
254
254
  <pre>
255
255
  <span class="ruby-comment cmt"># File lib/MacroParser.rb, line 41</span>
256
256
  41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rule_macroArguments</span>
@@ -267,12 +267,12 @@ from the same scanner that it uses to read the macro tokens.
267
267
  </div>
268
268
 
269
269
 
270
- <div id="method-M000380" class="method-detail">
271
- <a name="M000380"></a>
270
+ <div id="method-M000962" class="method-detail">
271
+ <a name="M000962"></a>
272
272
 
273
273
  <div class="method-heading">
274
274
 
275
- <a href="#M000380" class="method-signature">
275
+ <a href="#M000962" class="method-signature">
276
276
 
277
277
  <span class="method-name">rule_macroCall</span><span class="method-args">()</span>
278
278
 
@@ -283,8 +283,8 @@ from the same scanner that it uses to read the macro tokens.
283
283
  <div class="method-description">
284
284
 
285
285
  <p><a class="source-toggle" href="#"
286
- onclick="toggleCode('M000380-source');return false;">[Source]</a></p>
287
- <div class="method-source-code" id="M000380-source">
286
+ onclick="toggleCode('M000962-source');return false;">[Source]</a></p>
287
+ <div class="method-source-code" id="M000962-source">
288
288
  <pre>
289
289
  <span class="ruby-comment cmt"># File lib/MacroParser.rb, line 49</span>
290
290
  49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rule_macroCall</span>
@@ -311,12 +311,12 @@ from the same scanner that it uses to read the macro tokens.
311
311
  </div>
312
312
 
313
313
 
314
- <div id="method-M000381" class="method-detail">
315
- <a name="M000381"></a>
314
+ <div id="method-M000963" class="method-detail">
315
+ <a name="M000963"></a>
316
316
 
317
317
  <div class="method-heading">
318
318
 
319
- <a href="#M000381" class="method-signature">
319
+ <a href="#M000963" class="method-signature">
320
320
 
321
321
  <span class="method-name">rule_relax</span><span class="method-args">()</span>
322
322
 
@@ -327,8 +327,8 @@ from the same scanner that it uses to read the macro tokens.
327
327
  <div class="method-description">
328
328
 
329
329
  <p><a class="source-toggle" href="#"
330
- onclick="toggleCode('M000381-source');return false;">[Source]</a></p>
331
- <div class="method-source-code" id="M000381-source">
330
+ onclick="toggleCode('M000963-source');return false;">[Source]</a></p>
331
+ <div class="method-source-code" id="M000963-source">
332
332
  <pre>
333
333
  <span class="ruby-comment cmt"># File lib/MacroParser.rb, line 67</span>
334
334
  67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rule_relax</span>