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
@@ -99,9 +99,9 @@ containing the results of a repeatable rule.
99
99
 
100
100
  <div class="name-list">
101
101
 
102
- <a href="#M000284">&lt;&lt;</a>&nbsp;&nbsp;
102
+ <a href="#M000546">&lt;&lt;</a>&nbsp;&nbsp;
103
103
 
104
- <a href="#M000283">new</a>&nbsp;&nbsp;
104
+ <a href="#M000545">new</a>&nbsp;&nbsp;
105
105
 
106
106
  </div>
107
107
  </div>
@@ -122,12 +122,12 @@ containing the results of a repeatable rule.
122
122
  <h3 class="section-bar">Public Class methods</h3>
123
123
 
124
124
 
125
- <div id="method-M000283" class="method-detail">
126
- <a name="M000283"></a>
125
+ <div id="method-M000545" class="method-detail">
126
+ <a name="M000545"></a>
127
127
 
128
128
  <div class="method-heading">
129
129
 
130
- <a href="#M000283" class="method-signature">
130
+ <a href="#M000545" class="method-signature">
131
131
 
132
132
  <span class="method-name">new</span><span class="method-args">()</span>
133
133
 
@@ -138,8 +138,8 @@ containing the results of a repeatable rule.
138
138
  <div class="method-description">
139
139
 
140
140
  <p><a class="source-toggle" href="#"
141
- onclick="toggleCode('M000283-source');return false;">[Source]</a></p>
142
- <div class="method-source-code" id="M000283-source">
141
+ onclick="toggleCode('M000545-source');return false;">[Source]</a></p>
142
+ <div class="method-source-code" id="M000545-source">
143
143
  <pre>
144
144
  <span class="ruby-comment cmt"># File lib/TextParser.rb, line 49</span>
145
145
  49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
@@ -155,12 +155,12 @@ containing the results of a repeatable rule.
155
155
  <h3 class="section-bar">Public Instance methods</h3>
156
156
 
157
157
 
158
- <div id="method-M000284" class="method-detail">
159
- <a name="M000284"></a>
158
+ <div id="method-M000546" class="method-detail">
159
+ <a name="M000546"></a>
160
160
 
161
161
  <div class="method-heading">
162
162
 
163
- <a href="#M000284" class="method-signature">
163
+ <a href="#M000546" class="method-signature">
164
164
 
165
165
  <span class="method-name">&lt;&lt;</span><span class="method-args">(arg)</span>
166
166
 
@@ -178,8 +178,8 @@ Array.
178
178
  </p>
179
179
 
180
180
  <p><a class="source-toggle" href="#"
181
- onclick="toggleCode('M000284-source');return false;">[Source]</a></p>
182
- <div class="method-source-code" id="M000284-source">
181
+ onclick="toggleCode('M000546-source');return false;">[Source]</a></p>
182
+ <div class="method-source-code" id="M000546-source">
183
183
  <pre>
184
184
  <span class="ruby-comment cmt"># File lib/TextParser.rb, line 57</span>
185
185
  57: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">arg</span>)
@@ -104,7 +104,7 @@ and a reference to a specific pattern are optional.
104
104
 
105
105
  <div class="name-list">
106
106
 
107
- <a href="#M000252">new</a>&nbsp;&nbsp;
107
+ <a href="#M000577">new</a>&nbsp;&nbsp;
108
108
 
109
109
  </div>
110
110
  </div>
@@ -167,12 +167,12 @@ and a reference to a specific pattern are optional.
167
167
  <h3 class="section-bar">Public Class methods</h3>
168
168
 
169
169
 
170
- <div id="method-M000252" class="method-detail">
171
- <a name="M000252"></a>
170
+ <div id="method-M000577" class="method-detail">
171
+ <a name="M000577"></a>
172
172
 
173
173
  <div class="method-heading">
174
174
 
175
- <a href="#M000252" class="method-signature">
175
+ <a href="#M000577" class="method-signature">
176
176
 
177
177
  <span class="method-name">new</span><span class="method-args">(name, arg)</span>
178
178
 
@@ -188,8 +188,8 @@ Strings that hold the name and textual description of the parser token.
188
188
  </p>
189
189
 
190
190
  <p><a class="source-toggle" href="#"
191
- onclick="toggleCode('M000252-source');return false;">[Source]</a></p>
192
- <div class="method-source-code" id="M000252-source">
191
+ onclick="toggleCode('M000577-source');return false;">[Source]</a></p>
192
+ <div class="method-source-code" id="M000577-source">
193
193
  <pre>
194
194
  <span class="ruby-comment cmt"># File lib/TextParser/TokenDoc.rb, line 25</span>
195
195
  25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">arg</span>)
@@ -104,13 +104,13 @@ footer and a central text with margin elements left and right.
104
104
 
105
105
  <div class="name-list">
106
106
 
107
- <a href="#M000610">generateIntermediateFormat</a>&nbsp;&nbsp;
107
+ <a href="#M000394">generateIntermediateFormat</a>&nbsp;&nbsp;
108
108
 
109
- <a href="#M000609">new</a>&nbsp;&nbsp;
109
+ <a href="#M000393">new</a>&nbsp;&nbsp;
110
110
 
111
- <a href="#M000612">to_csv</a>&nbsp;&nbsp;
111
+ <a href="#M000396">to_csv</a>&nbsp;&nbsp;
112
112
 
113
- <a href="#M000611">to_html</a>&nbsp;&nbsp;
113
+ <a href="#M000395">to_html</a>&nbsp;&nbsp;
114
114
 
115
115
  </div>
116
116
  </div>
@@ -181,12 +181,12 @@ footer and a central text with margin elements left and right.
181
181
  <h3 class="section-bar">Public Class methods</h3>
182
182
 
183
183
 
184
- <div id="method-M000609" class="method-detail">
185
- <a name="M000609"></a>
184
+ <div id="method-M000393" class="method-detail">
185
+ <a name="M000393"></a>
186
186
 
187
187
  <div class="method-heading">
188
188
 
189
- <a href="#M000609" class="method-signature">
189
+ <a href="#M000393" class="method-signature">
190
190
 
191
191
  <span class="method-name">new</span><span class="method-args">(report)</span>
192
192
 
@@ -197,8 +197,8 @@ footer and a central text with margin elements left and right.
197
197
  <div class="method-description">
198
198
 
199
199
  <p><a class="source-toggle" href="#"
200
- onclick="toggleCode('M000609-source');return false;">[Source]</a></p>
201
- <div class="method-source-code" id="M000609-source">
200
+ onclick="toggleCode('M000393-source');return false;">[Source]</a></p>
201
+ <div class="method-source-code" id="M000393-source">
202
202
  <pre>
203
203
  <span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 24</span>
204
204
  24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">report</span>)
@@ -216,12 +216,12 @@ footer and a central text with margin elements left and right.
216
216
  <h3 class="section-bar">Public Instance methods</h3>
217
217
 
218
218
 
219
- <div id="method-M000610" class="method-detail">
220
- <a name="M000610"></a>
219
+ <div id="method-M000394" class="method-detail">
220
+ <a name="M000394"></a>
221
221
 
222
222
  <div class="method-heading">
223
223
 
224
- <a href="#M000610" class="method-signature">
224
+ <a href="#M000394" class="method-signature">
225
225
 
226
226
  <span class="method-name">generateIntermediateFormat</span><span class="method-args">()</span>
227
227
 
@@ -232,34 +232,36 @@ footer and a central text with margin elements left and right.
232
232
  <div class="method-description">
233
233
 
234
234
  <p><a class="source-toggle" href="#"
235
- onclick="toggleCode('M000610-source');return false;">[Source]</a></p>
236
- <div class="method-source-code" id="M000610-source">
235
+ onclick="toggleCode('M000394-source');return false;">[Source]</a></p>
236
+ <div class="method-source-code" id="M000394-source">
237
237
  <pre>
238
238
  <span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 30</span>
239
239
  30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
240
- 31: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'center'</span>)
241
- 32: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
242
- 33: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">20</span>
243
- 34: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">60</span>
244
- 35: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
245
- 36: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-value">25</span>
246
- 37: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">75</span>
247
- 38: <span class="ruby-keyword kw">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
240
+ 31: <span class="ruby-keyword kw">super</span>
241
+ 32:
242
+ 33: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'center'</span>)
243
+ 34: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
244
+ 35: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">20</span>
245
+ 36: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">60</span>
246
+ 37: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
247
+ 38: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-value">25</span>
248
248
  39: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">75</span>
249
- 40: <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">25</span>
250
- 41: <span class="ruby-keyword kw">else</span>
251
- 42: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">100</span>
252
- 43: <span class="ruby-keyword kw">end</span>
253
- 44: <span class="ruby-keyword kw">else</span>
254
- 45: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
255
- 46: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">50</span>
256
- 47: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
257
- 48: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-value">100</span>
258
- 49: <span class="ruby-keyword kw">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
259
- 50: <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">100</span>
260
- 51: <span class="ruby-keyword kw">end</span>
261
- 52: <span class="ruby-keyword kw">end</span>
262
- 53: <span class="ruby-keyword kw">end</span>
249
+ 40: <span class="ruby-keyword kw">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
250
+ 41: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">75</span>
251
+ 42: <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">25</span>
252
+ 43: <span class="ruby-keyword kw">else</span>
253
+ 44: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">100</span>
254
+ 45: <span class="ruby-keyword kw">end</span>
255
+ 46: <span class="ruby-keyword kw">else</span>
256
+ 47: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
257
+ 48: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">50</span>
258
+ 49: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
259
+ 50: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-value">100</span>
260
+ 51: <span class="ruby-keyword kw">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
261
+ 52: <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">100</span>
262
+ 53: <span class="ruby-keyword kw">end</span>
263
+ 54: <span class="ruby-keyword kw">end</span>
264
+ 55: <span class="ruby-keyword kw">end</span>
263
265
  </pre>
264
266
  </div>
265
267
 
@@ -267,12 +269,12 @@ footer and a central text with margin elements left and right.
267
269
  </div>
268
270
 
269
271
 
270
- <div id="method-M000612" class="method-detail">
271
- <a name="M000612"></a>
272
+ <div id="method-M000396" class="method-detail">
273
+ <a name="M000396"></a>
272
274
 
273
275
  <div class="method-heading">
274
276
 
275
- <a href="#M000612" class="method-signature">
277
+ <a href="#M000396" class="method-signature">
276
278
 
277
279
  <span class="method-name">to_csv</span><span class="method-args">()</span>
278
280
 
@@ -283,13 +285,13 @@ footer and a central text with margin elements left and right.
283
285
  <div class="method-description">
284
286
 
285
287
  <p><a class="source-toggle" href="#"
286
- onclick="toggleCode('M000612-source');return false;">[Source]</a></p>
287
- <div class="method-source-code" id="M000612-source">
288
+ onclick="toggleCode('M000396-source');return false;">[Source]</a></p>
289
+ <div class="method-source-code" id="M000396-source">
288
290
  <pre>
289
- <span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 80</span>
290
- 80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
291
- 81: <span class="ruby-keyword kw">nil</span>
292
- 82: <span class="ruby-keyword kw">end</span>
291
+ <span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 83</span>
292
+ 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
293
+ 84: <span class="ruby-keyword kw">nil</span>
294
+ 85: <span class="ruby-keyword kw">end</span>
293
295
  </pre>
294
296
  </div>
295
297
 
@@ -297,12 +299,12 @@ footer and a central text with margin elements left and right.
297
299
  </div>
298
300
 
299
301
 
300
- <div id="method-M000611" class="method-detail">
301
- <a name="M000611"></a>
302
+ <div id="method-M000395" class="method-detail">
303
+ <a name="M000395"></a>
302
304
 
303
305
  <div class="method-heading">
304
306
 
305
- <a href="#M000611" class="method-signature">
307
+ <a href="#M000395" class="method-signature">
306
308
 
307
309
  <span class="method-name">to_html</span><span class="method-args">()</span>
308
310
 
@@ -313,34 +315,35 @@ footer and a central text with margin elements left and right.
313
315
  <div class="method-description">
314
316
 
315
317
  <p><a class="source-toggle" href="#"
316
- onclick="toggleCode('M000611-source');return false;">[Source]</a></p>
317
- <div class="method-source-code" id="M000611-source">
318
+ onclick="toggleCode('M000395-source');return false;">[Source]</a></p>
319
+ <div class="method-source-code" id="M000395-source">
318
320
  <pre>
319
- <span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 55</span>
320
- 55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
321
- 56: <span class="ruby-identifier">html</span> = []
322
- 57:
323
- 58: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'header'</span>)
324
- 59: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@cWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@rWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
325
- 60: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
326
- 61: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span>,
327
- 62: <span class="ruby-value str">'cellpadding'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'2'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>,
328
- 63: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'textPageSkel'</span>))
329
- 64: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
330
- 65:
331
- 66: <span class="ruby-node">%w( left center right)</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
332
- 67: <span class="ruby-identifier">width</span> = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">i</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">chr</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'Width'</span>)
333
- 68: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">width</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
334
- 69: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{width}%&quot;</span>))
335
- 70: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-identifier">i</span>)
336
- 71: <span class="ruby-keyword kw">end</span>
337
- 72: <span class="ruby-keyword kw">end</span>
338
- 73:
339
- 74: <span class="ruby-keyword kw">end</span>
340
- 75: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'footer'</span>)
321
+ <span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 57</span>
322
+ 57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
323
+ 58: <span class="ruby-identifier">html</span> = []
324
+ 59:
325
+ 60: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'header'</span>)
326
+ 61: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@cWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@rWidth</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
327
+ 62: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
328
+ 63: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span>,
329
+ 64: <span class="ruby-value str">'cellpadding'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'2'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>,
330
+ 65: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'textPageSkel'</span>))
331
+ 66: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
332
+ 67:
333
+ 68: <span class="ruby-node">%w( left center right)</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
334
+ 69: <span class="ruby-identifier">width</span> = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">i</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">chr</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'Width'</span>)
335
+ 70: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">width</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
336
+ 71: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{width}%&quot;</span>,
337
+ 72: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'vertical-align:top'</span>))
338
+ 73: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">el</span> = <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-identifier">i</span>))
339
+ 74: <span class="ruby-keyword kw">end</span>
340
+ 75: <span class="ruby-keyword kw">end</span>
341
341
  76:
342
- 77: <span class="ruby-identifier">html</span>
343
- 78: <span class="ruby-keyword kw">end</span>
342
+ 77: <span class="ruby-keyword kw">end</span>
343
+ 78: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'footer'</span>)
344
+ 79:
345
+ 80: <span class="ruby-identifier">html</span>
346
+ 81: <span class="ruby-keyword kw">end</span>
344
347
  </pre>
345
348
  </div>
346
349
 
@@ -104,33 +104,33 @@ file can include an other file.
104
104
 
105
105
  <div class="name-list">
106
106
 
107
- <a href="#M000734">addMacro</a>&nbsp;&nbsp;
107
+ <a href="#M000476">addMacro</a>&nbsp;&nbsp;
108
108
 
109
- <a href="#M000728">close</a>&nbsp;&nbsp;
109
+ <a href="#M000470">close</a>&nbsp;&nbsp;
110
110
 
111
- <a href="#M000737">error</a>&nbsp;&nbsp;
111
+ <a href="#M000479">error</a>&nbsp;&nbsp;
112
112
 
113
- <a href="#M000736">expandMacro</a>&nbsp;&nbsp;
113
+ <a href="#M000478">expandMacro</a>&nbsp;&nbsp;
114
114
 
115
- <a href="#M000731">fileName</a>&nbsp;&nbsp;
115
+ <a href="#M000473">fileName</a>&nbsp;&nbsp;
116
116
 
117
- <a href="#M000729">include</a>&nbsp;&nbsp;
117
+ <a href="#M000471">include</a>&nbsp;&nbsp;
118
118
 
119
- <a href="#M000735">macroDefined?</a>&nbsp;&nbsp;
119
+ <a href="#M000477">macroDefined?</a>&nbsp;&nbsp;
120
120
 
121
- <a href="#M000739">message</a>&nbsp;&nbsp;
121
+ <a href="#M000481">message</a>&nbsp;&nbsp;
122
122
 
123
- <a href="#M000726">new</a>&nbsp;&nbsp;
123
+ <a href="#M000468">new</a>&nbsp;&nbsp;
124
124
 
125
- <a href="#M000732">nextToken</a>&nbsp;&nbsp;
125
+ <a href="#M000474">nextToken</a>&nbsp;&nbsp;
126
126
 
127
- <a href="#M000727">open</a>&nbsp;&nbsp;
127
+ <a href="#M000469">open</a>&nbsp;&nbsp;
128
128
 
129
- <a href="#M000733">returnToken</a>&nbsp;&nbsp;
129
+ <a href="#M000475">returnToken</a>&nbsp;&nbsp;
130
130
 
131
- <a href="#M000730">sourceFileInfo</a>&nbsp;&nbsp;
131
+ <a href="#M000472">sourceFileInfo</a>&nbsp;&nbsp;
132
132
 
133
- <a href="#M000738">warning</a>&nbsp;&nbsp;
133
+ <a href="#M000480">warning</a>&nbsp;&nbsp;
134
134
 
135
135
  </div>
136
136
  </div>
@@ -160,12 +160,12 @@ Class <a href="TextScanner/StreamHandle.html" class="link">TaskJuggler::TextScan
160
160
  <h3 class="section-bar">Public Class methods</h3>
161
161
 
162
162
 
163
- <div id="method-M000726" class="method-detail">
164
- <a name="M000726"></a>
163
+ <div id="method-M000468" class="method-detail">
164
+ <a name="M000468"></a>
165
165
 
166
166
  <div class="method-heading">
167
167
 
168
- <a href="#M000726" class="method-signature">
168
+ <a href="#M000468" class="method-signature">
169
169
 
170
170
  <span class="method-name">new</span><span class="method-args">(masterFile, messageHandler)</span>
171
171
 
@@ -185,25 +185,26 @@ messages.
185
185
  </p>
186
186
 
187
187
  <p><a class="source-toggle" href="#"
188
- onclick="toggleCode('M000726-source');return false;">[Source]</a></p>
189
- <div class="method-source-code" id="M000726-source">
188
+ onclick="toggleCode('M000468-source');return false;">[Source]</a></p>
189
+ <div class="method-source-code" id="M000468-source">
190
190
  <pre>
191
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 146</span>
192
- 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">masterFile</span>, <span class="ruby-identifier">messageHandler</span>)
193
- 147: <span class="ruby-ivar">@masterFile</span> = <span class="ruby-identifier">masterFile</span>
194
- 148: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-identifier">messageHandler</span>
195
- 149: <span class="ruby-comment cmt"># This table contains all macros that may be expanded when found in the</span>
196
- 150: <span class="ruby-comment cmt"># text.</span>
197
- 151: <span class="ruby-ivar">@macroTable</span> = <span class="ruby-constant">MacroTable</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">messageHandler</span>)
198
- 152: <span class="ruby-comment cmt"># This Array stores the currently processed nested files. It's an Array</span>
199
- 153: <span class="ruby-comment cmt"># of Arrays. The nested Array consists of 3 elements, the @cf,</span>
200
- 154: <span class="ruby-comment cmt"># @tokenBuffer and the @pos of the file.</span>
201
- 155: <span class="ruby-ivar">@fileStack</span> = []
202
- 156: <span class="ruby-comment cmt"># This Array stores the currently processed nested macros.</span>
203
- 157: <span class="ruby-ivar">@macroStack</span> = []
204
- 158: <span class="ruby-comment cmt"># In certain situation we want to ignore Macro replacement and this flag</span>
205
- 159: <span class="ruby-comment cmt"># is set to true.</span>
206
- 160: <span class="ruby-ivar">@ignoreMacros</span> = <span class="ruby-keyword kw">false</span>
191
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 145</span>
192
+ 145: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">masterFile</span>, <span class="ruby-identifier">messageHandler</span>)
193
+ 146: <span class="ruby-ivar">@masterFile</span> = <span class="ruby-identifier">masterFile</span>
194
+ 147: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-identifier">messageHandler</span>
195
+ 148: <span class="ruby-comment cmt"># This table contains all macros that may be expanded when found in the</span>
196
+ 149: <span class="ruby-comment cmt"># text.</span>
197
+ 150: <span class="ruby-ivar">@macroTable</span> = <span class="ruby-constant">MacroTable</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">messageHandler</span>)
198
+ 151: <span class="ruby-comment cmt"># This Array stores the currently processed nested files. It's an Array</span>
199
+ 152: <span class="ruby-comment cmt"># of Arrays. The nested Array consists of 3 elements, the @cf,</span>
200
+ 153: <span class="ruby-comment cmt"># @tokenBuffer and the @pos of the file.</span>
201
+ 154: <span class="ruby-ivar">@fileStack</span> = []
202
+ 155: <span class="ruby-comment cmt"># This Array stores the currently processed nested macros.</span>
203
+ 156: <span class="ruby-ivar">@macroStack</span> = []
204
+ 157: <span class="ruby-comment cmt"># In certain situation we want to ignore Macro replacement and this flag</span>
205
+ 158: <span class="ruby-comment cmt"># is set to true.</span>
206
+ 159: <span class="ruby-ivar">@ignoreMacros</span> = <span class="ruby-keyword kw">false</span>
207
+ 160: <span class="ruby-ivar">@fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>
207
208
  161: <span class="ruby-keyword kw">end</span>
208
209
  </pre>
209
210
  </div>
@@ -215,12 +216,12 @@ messages.
215
216
  <h3 class="section-bar">Public Instance methods</h3>
216
217
 
217
218
 
218
- <div id="method-M000734" class="method-detail">
219
- <a name="M000734"></a>
219
+ <div id="method-M000476" class="method-detail">
220
+ <a name="M000476"></a>
220
221
 
221
222
  <div class="method-heading">
222
223
 
223
- <a href="#M000734" class="method-signature">
224
+ <a href="#M000476" class="method-signature">
224
225
 
225
226
  <span class="method-name">addMacro</span><span class="method-args">(macro)</span>
226
227
 
@@ -235,13 +236,13 @@ Add a <a href="Macro.html">Macro</a> to the macro translation table.
235
236
  </p>
236
237
 
237
238
  <p><a class="source-toggle" href="#"
238
- onclick="toggleCode('M000734-source');return false;">[Source]</a></p>
239
- <div class="method-source-code" id="M000734-source">
239
+ onclick="toggleCode('M000476-source');return false;">[Source]</a></p>
240
+ <div class="method-source-code" id="M000476-source">
240
241
  <pre>
241
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 325</span>
242
- 325: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addMacro</span>(<span class="ruby-identifier">macro</span>)
243
- 326: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">macro</span>)
244
- 327: <span class="ruby-keyword kw">end</span>
242
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 334</span>
243
+ 334: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addMacro</span>(<span class="ruby-identifier">macro</span>)
244
+ 335: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">macro</span>)
245
+ 336: <span class="ruby-keyword kw">end</span>
245
246
  </pre>
246
247
  </div>
247
248
 
@@ -249,12 +250,12 @@ Add a <a href="Macro.html">Macro</a> to the macro translation table.
249
250
  </div>
250
251
 
251
252
 
252
- <div id="method-M000728" class="method-detail">
253
- <a name="M000728"></a>
253
+ <div id="method-M000470" class="method-detail">
254
+ <a name="M000470"></a>
254
255
 
255
256
  <div class="method-heading">
256
257
 
257
- <a href="#M000728" class="method-signature">
258
+ <a href="#M000470" class="method-signature">
258
259
 
259
260
  <span class="method-name">close</span><span class="method-args">()</span>
260
261
 
@@ -269,16 +270,18 @@ Finish processing and reset all data structures.
269
270
  </p>
270
271
 
271
272
  <p><a class="source-toggle" href="#"
272
- onclick="toggleCode('M000728-source');return false;">[Source]</a></p>
273
- <div class="method-source-code" id="M000728-source">
273
+ onclick="toggleCode('M000470-source');return false;">[Source]</a></p>
274
+ <div class="method-source-code" id="M000470-source">
274
275
  <pre>
275
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 180</span>
276
- 180: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
277
- 181: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">&quot;Reading file #{@masterFile}&quot;</span>)
278
- 182: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
279
- 183: <span class="ruby-ivar">@fileStack</span> = []
280
- 184: <span class="ruby-ivar">@cf</span> = <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
281
- 185: <span class="ruby-keyword kw">end</span>
276
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 181</span>
277
+ 181: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
278
+ 182: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@fileNameIsBuffer</span>
279
+ 183: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">&quot;Reading file #{@masterFile}&quot;</span>)
280
+ 184: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
281
+ 185: <span class="ruby-keyword kw">end</span>
282
+ 186: <span class="ruby-ivar">@fileStack</span> = []
283
+ 187: <span class="ruby-ivar">@cf</span> = <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
284
+ 188: <span class="ruby-keyword kw">end</span>
282
285
  </pre>
283
286
  </div>
284
287
 
@@ -286,12 +289,12 @@ Finish processing and reset all data structures.
286
289
  </div>
287
290
 
288
291
 
289
- <div id="method-M000737" class="method-detail">
290
- <a name="M000737"></a>
292
+ <div id="method-M000479" class="method-detail">
293
+ <a name="M000479"></a>
291
294
 
292
295
  <div class="method-heading">
293
296
 
294
- <a href="#M000737" class="method-signature">
297
+ <a href="#M000479" class="method-signature">
295
298
 
296
299
  <span class="method-name">error</span><span class="method-args">(id, text, property = nil)</span>
297
300
 
@@ -306,13 +309,13 @@ Call this function to report any errors related to the parsed input.
306
309
  </p>
307
310
 
308
311
  <p><a class="source-toggle" href="#"
309
- onclick="toggleCode('M000737-source');return false;">[Source]</a></p>
310
- <div class="method-source-code" id="M000737-source">
312
+ onclick="toggleCode('M000479-source');return false;">[Source]</a></p>
313
+ <div class="method-source-code" id="M000479-source">
311
314
  <pre>
312
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 348</span>
313
- 348: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
314
- 349: <span class="ruby-identifier">message</span>(<span class="ruby-value str">'error'</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span>)
315
- 350: <span class="ruby-keyword kw">end</span>
315
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 360</span>
316
+ 360: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
317
+ 361: <span class="ruby-identifier">message</span>(<span class="ruby-value str">'error'</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span>)
318
+ 362: <span class="ruby-keyword kw">end</span>
316
319
  </pre>
317
320
  </div>
318
321
 
@@ -320,12 +323,12 @@ Call this function to report any errors related to the parsed input.
320
323
  </div>
321
324
 
322
325
 
323
- <div id="method-M000736" class="method-detail">
324
- <a name="M000736"></a>
326
+ <div id="method-M000478" class="method-detail">
327
+ <a name="M000478"></a>
325
328
 
326
329
  <div class="method-heading">
327
330
 
328
- <a href="#M000736" class="method-signature">
331
+ <a href="#M000478" class="method-signature">
329
332
 
330
333
  <span class="method-name">expandMacro</span><span class="method-args">(args)</span>
331
334
 
@@ -336,22 +339,25 @@ Call this function to report any errors related to the parsed input.
336
339
  <div class="method-description">
337
340
 
338
341
  <p><a class="source-toggle" href="#"
339
- onclick="toggleCode('M000736-source');return false;">[Source]</a></p>
340
- <div class="method-source-code" id="M000736-source">
342
+ onclick="toggleCode('M000478-source');return false;">[Source]</a></p>
343
+ <div class="method-source-code" id="M000478-source">
341
344
  <pre>
342
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 334</span>
343
- 334: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">args</span>)
344
- 335: <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">text</span> = <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">sourceFileInfo</span>)
345
- 336: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span>
346
- 337:
347
- 338: <span class="ruby-ivar">@macroStack</span> <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span> ]
348
- 339: <span class="ruby-comment cmt"># Mark end of macro with a 0 element</span>
349
- 340: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">charBuffer</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">0</span>
350
- 341: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">each_utf8_char</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
351
- 342: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">charBuffer</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>
352
- 343: <span class="ruby-keyword kw">end</span>
353
- 344: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">line</span> = <span class="ruby-value str">''</span>
354
- 345: <span class="ruby-keyword kw">end</span>
345
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 343</span>
346
+ 343: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">args</span>)
347
+ 344: <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">text</span> = <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">sourceFileInfo</span>)
348
+ 345: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span>
349
+ 346:
350
+ 347: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">20</span>
351
+ 348: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'macro_stack_overflow'</span>, <span class="ruby-value str">&quot;Too many nested macro calls.&quot;</span>)
352
+ 349: <span class="ruby-keyword kw">end</span>
353
+ 350: <span class="ruby-ivar">@macroStack</span> <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span> ]
354
+ 351: <span class="ruby-comment cmt"># Mark end of macro with a 0 element</span>
355
+ 352: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">charBuffer</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">0</span>
356
+ 353: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">each_utf8_char</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
357
+ 354: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">charBuffer</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>
358
+ 355: <span class="ruby-keyword kw">end</span>
359
+ 356: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">line</span> = <span class="ruby-value str">''</span>
360
+ 357: <span class="ruby-keyword kw">end</span>
355
361
  </pre>
356
362
  </div>
357
363
 
@@ -359,12 +365,12 @@ Call this function to report any errors related to the parsed input.
359
365
  </div>
360
366
 
361
367
 
362
- <div id="method-M000731" class="method-detail">
363
- <a name="M000731"></a>
368
+ <div id="method-M000473" class="method-detail">
369
+ <a name="M000473"></a>
364
370
 
365
371
  <div class="method-heading">
366
372
 
367
- <a href="#M000731" class="method-signature">
373
+ <a href="#M000473" class="method-signature">
368
374
 
369
375
  <span class="method-name">fileName</span><span class="method-args">()</span>
370
376
 
@@ -380,13 +386,13 @@ text buffer, the text will be returned.
380
386
  </p>
381
387
 
382
388
  <p><a class="source-toggle" href="#"
383
- onclick="toggleCode('M000731-source');return false;">[Source]</a></p>
384
- <div class="method-source-code" id="M000731-source">
389
+ onclick="toggleCode('M000473-source');return false;">[Source]</a></p>
390
+ <div class="method-source-code" id="M000473-source">
385
391
  <pre>
386
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 230</span>
387
- 230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileName</span>
388
- 231: <span class="ruby-ivar">@cf</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">fileName</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@masterFile</span>
389
- 232: <span class="ruby-keyword kw">end</span>
392
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 234</span>
393
+ 234: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileName</span>
394
+ 235: <span class="ruby-ivar">@cf</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">fileName</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@masterFile</span>
395
+ 236: <span class="ruby-keyword kw">end</span>
390
396
  </pre>
391
397
  </div>
392
398
 
@@ -394,12 +400,12 @@ text buffer, the text will be returned.
394
400
  </div>
395
401
 
396
402
 
397
- <div id="method-M000729" class="method-detail">
398
- <a name="M000729"></a>
403
+ <div id="method-M000471" class="method-detail">
404
+ <a name="M000471"></a>
399
405
 
400
406
  <div class="method-heading">
401
407
 
402
- <a href="#M000729" class="method-signature">
408
+ <a href="#M000471" class="method-signature">
403
409
 
404
410
  <span class="method-name">include</span><span class="method-args">(fileName)</span>
405
411
 
@@ -416,42 +422,43 @@ where we started with the new file.
416
422
  </p>
417
423
 
418
424
  <p><a class="source-toggle" href="#"
419
- onclick="toggleCode('M000729-source');return false;">[Source]</a></p>
420
- <div class="method-source-code" id="M000729-source">
425
+ onclick="toggleCode('M000471-source');return false;">[Source]</a></p>
426
+ <div class="method-source-code" id="M000471-source">
421
427
  <pre>
422
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 190</span>
423
- 190: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">include</span>(<span class="ruby-identifier">fileName</span>)
424
- 191: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">empty?</span>
425
- 192: <span class="ruby-identifier">path</span> = <span class="ruby-ivar">@masterPath</span>
426
- 193: <span class="ruby-keyword kw">else</span>
427
- 194: <span class="ruby-identifier">path</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">dirname</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
428
- 195: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">1</span>, <span class="ruby-value">2</span>] = [ <span class="ruby-ivar">@tokenBuffer</span>, <span class="ruby-ivar">@pos</span> ]
429
- 196: <span class="ruby-keyword kw">end</span>
430
- 197: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileName</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'/'</span>
431
- 198: <span class="ruby-comment cmt"># If the included file is not an absolute name, we interpret the file</span>
432
- 199: <span class="ruby-comment cmt"># name relative to the including file.</span>
433
- 200: <span class="ruby-identifier">fileName</span> = <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span>
434
- 201: <span class="ruby-keyword kw">end</span>
435
- 202:
436
- 203: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
437
- 204:
438
- 205: <span class="ruby-comment cmt"># Check the current file stack to find recusions.</span>
439
- 206: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pos</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">fileName</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@pos</span>.<span class="ruby-identifier">fileName</span>
440
- 207: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'include_recursion'</span>, <span class="ruby-node">&quot;Recursive inclusion of #{fileName} detected&quot;</span>)
441
- 208: <span class="ruby-keyword kw">else</span>
442
- 209: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
443
- 210: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileName</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">fileName</span>
444
- 211: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'include_recursion'</span>, <span class="ruby-node">&quot;Recursive inclusion of #{fileName} &quot;</span> <span class="ruby-operator">+</span>
445
- 212: <span class="ruby-value str">&quot;detected&quot;</span>)
446
- 213: <span class="ruby-keyword kw">end</span>
447
- 214: <span class="ruby-keyword kw">end</span>
448
- 215: <span class="ruby-keyword kw">end</span>
449
- 216: <span class="ruby-keyword kw">begin</span>
450
- 217: <span class="ruby-ivar">@fileStack</span> <span class="ruby-operator">&lt;&lt;</span> [ (<span class="ruby-ivar">@cf</span> = <span class="ruby-constant">FileStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>)), <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ]
451
- 218: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
452
- 219: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'bad_include'</span>, <span class="ruby-node">&quot;Cannot open include file #{fileName}&quot;</span>)
453
- 220: <span class="ruby-keyword kw">end</span>
454
- 221: <span class="ruby-keyword kw">end</span>
428
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 193</span>
429
+ 193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">include</span>(<span class="ruby-identifier">fileName</span>)
430
+ 194: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileName</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'/'</span>
431
+ 195: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">empty?</span>
432
+ 196: <span class="ruby-identifier">path</span> = <span class="ruby-ivar">@masterPath</span>
433
+ 197: <span class="ruby-keyword kw">else</span>
434
+ 198: <span class="ruby-identifier">pathOfCallingFile</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">dirname</span>
435
+ 199: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">pathOfCallingFile</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-value">? </span><span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">pathOfCallingFile</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
436
+ 200: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">1</span>, <span class="ruby-value">2</span>] = [ <span class="ruby-ivar">@tokenBuffer</span>, <span class="ruby-ivar">@pos</span> ]
437
+ 201: <span class="ruby-keyword kw">end</span>
438
+ 202: <span class="ruby-comment cmt"># If the included file is not an absolute name, we interpret the file</span>
439
+ 203: <span class="ruby-comment cmt"># name relative to the including file.</span>
440
+ 204: <span class="ruby-identifier">fileName</span> = <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span>
441
+ 205: <span class="ruby-keyword kw">end</span>
442
+ 206:
443
+ 207: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
444
+ 208:
445
+ 209: <span class="ruby-comment cmt"># Check the current file stack to find recusions.</span>
446
+ 210: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pos</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">fileName</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@pos</span>.<span class="ruby-identifier">fileName</span>
447
+ 211: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'include_recursion'</span>, <span class="ruby-node">&quot;Recursive inclusion of #{fileName} detected&quot;</span>)
448
+ 212: <span class="ruby-keyword kw">else</span>
449
+ 213: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
450
+ 214: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileName</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">fileName</span>
451
+ 215: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'include_recursion'</span>, <span class="ruby-node">&quot;Recursive inclusion of #{fileName} &quot;</span> <span class="ruby-operator">+</span>
452
+ 216: <span class="ruby-value str">&quot;detected&quot;</span>)
453
+ 217: <span class="ruby-keyword kw">end</span>
454
+ 218: <span class="ruby-keyword kw">end</span>
455
+ 219: <span class="ruby-keyword kw">end</span>
456
+ 220: <span class="ruby-keyword kw">begin</span>
457
+ 221: <span class="ruby-ivar">@fileStack</span> <span class="ruby-operator">&lt;&lt;</span> [ (<span class="ruby-ivar">@cf</span> = <span class="ruby-constant">FileStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>)), <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ]
458
+ 222: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
459
+ 223: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'bad_include'</span>, <span class="ruby-node">&quot;Cannot open include file #{fileName}&quot;</span>)
460
+ 224: <span class="ruby-keyword kw">end</span>
461
+ 225: <span class="ruby-keyword kw">end</span>
455
462
  </pre>
456
463
  </div>
457
464
 
@@ -459,12 +466,12 @@ where we started with the new file.
459
466
  </div>
460
467
 
461
468
 
462
- <div id="method-M000735" class="method-detail">
463
- <a name="M000735"></a>
469
+ <div id="method-M000477" class="method-detail">
470
+ <a name="M000477"></a>
464
471
 
465
472
  <div class="method-heading">
466
473
 
467
- <a href="#M000735" class="method-signature">
474
+ <a href="#M000477" class="method-signature">
468
475
 
469
476
  <span class="method-name">macroDefined?</span><span class="method-args">(name)</span>
470
477
 
@@ -480,13 +487,13 @@ added already.
480
487
  </p>
481
488
 
482
489
  <p><a class="source-toggle" href="#"
483
- onclick="toggleCode('M000735-source');return false;">[Source]</a></p>
484
- <div class="method-source-code" id="M000735-source">
490
+ onclick="toggleCode('M000477-source');return false;">[Source]</a></p>
491
+ <div class="method-source-code" id="M000477-source">
485
492
  <pre>
486
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 330</span>
487
- 330: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">macroDefined?</span>(<span class="ruby-identifier">name</span>)
488
- 331: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
489
- 332: <span class="ruby-keyword kw">end</span>
493
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 339</span>
494
+ 339: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">macroDefined?</span>(<span class="ruby-identifier">name</span>)
495
+ 340: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
496
+ 341: <span class="ruby-keyword kw">end</span>
490
497
  </pre>
491
498
  </div>
492
499
 
@@ -494,12 +501,12 @@ added already.
494
501
  </div>
495
502
 
496
503
 
497
- <div id="method-M000739" class="method-detail">
498
- <a name="M000739"></a>
504
+ <div id="method-M000481" class="method-detail">
505
+ <a name="M000481"></a>
499
506
 
500
507
  <div class="method-heading">
501
508
 
502
- <a href="#M000739" class="method-signature">
509
+ <a href="#M000481" class="method-signature">
503
510
 
504
511
  <span class="method-name">message</span><span class="method-args">(type, id, text, property)</span>
505
512
 
@@ -510,29 +517,29 @@ added already.
510
517
  <div class="method-description">
511
518
 
512
519
  <p><a class="source-toggle" href="#"
513
- onclick="toggleCode('M000739-source');return false;">[Source]</a></p>
514
- <div class="method-source-code" id="M000739-source">
520
+ onclick="toggleCode('M000481-source');return false;">[Source]</a></p>
521
+ <div class="method-source-code" id="M000481-source">
515
522
  <pre>
516
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 356</span>
517
- 356: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">message</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span>)
518
- 357: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
519
- 358: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">text</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_s</span>,
520
- 359: <span class="ruby-identifier">property</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">sourceFileInfo</span>)
521
- 360: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
522
- 361:
523
- 362: <span class="ruby-keyword kw">until</span> <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">empty?</span>
524
- 363: <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span> = <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">pop</span>
525
- 364: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-value str">'&quot;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&quot;'</span> }
526
- 365: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'macro_stack'</span>, <span class="ruby-value str">'info'</span>,
527
- 366: <span class="ruby-node">&quot; #{macro.name} #{args.join(' ')}&quot;</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
528
- 367: <span class="ruby-identifier">macro</span>.<span class="ruby-identifier">sourceFileInfo</span>)
529
- 368: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
530
- 369: <span class="ruby-keyword kw">end</span>
531
- 370: <span class="ruby-keyword kw">end</span>
532
- 371:
533
- 372: <span class="ruby-comment cmt"># An empty strings signals an already reported error</span>
534
- 373: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'error'</span>
535
- 374: <span class="ruby-keyword kw">end</span>
523
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 368</span>
524
+ 368: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">message</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span>)
525
+ 369: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
526
+ 370: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">text</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_s</span>,
527
+ 371: <span class="ruby-identifier">property</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">sourceFileInfo</span>)
528
+ 372: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
529
+ 373:
530
+ 374: <span class="ruby-keyword kw">until</span> <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">empty?</span>
531
+ 375: <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span> = <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">pop</span>
532
+ 376: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-value str">'&quot;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&quot;'</span> }
533
+ 377: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'macro_stack'</span>, <span class="ruby-value str">'info'</span>,
534
+ 378: <span class="ruby-node">&quot; #{macro.name} #{args.join(' ')}&quot;</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
535
+ 379: <span class="ruby-identifier">macro</span>.<span class="ruby-identifier">sourceFileInfo</span>)
536
+ 380: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
537
+ 381: <span class="ruby-keyword kw">end</span>
538
+ 382: <span class="ruby-keyword kw">end</span>
539
+ 383:
540
+ 384: <span class="ruby-comment cmt"># An empty strings signals an already reported error</span>
541
+ 385: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'error'</span>
542
+ 386: <span class="ruby-keyword kw">end</span>
536
543
  </pre>
537
544
  </div>
538
545
 
@@ -540,12 +547,12 @@ added already.
540
547
  </div>
541
548
 
542
549
 
543
- <div id="method-M000732" class="method-detail">
544
- <a name="M000732"></a>
550
+ <div id="method-M000474" class="method-detail">
551
+ <a name="M000474"></a>
545
552
 
546
553
  <div class="method-heading">
547
554
 
548
- <a href="#M000732" class="method-signature">
555
+ <a href="#M000474" class="method-signature">
549
556
 
550
557
  <span class="method-name">nextToken</span><span class="method-args">()</span>
551
558
 
@@ -561,73 +568,78 @@ be an Array of the form [ TokenType, TokenValue ].
561
568
  </p>
562
569
 
563
570
  <p><a class="source-toggle" href="#"
564
- onclick="toggleCode('M000732-source');return false;">[Source]</a></p>
565
- <div class="method-source-code" id="M000732-source">
571
+ onclick="toggleCode('M000474-source');return false;">[Source]</a></p>
572
+ <div class="method-source-code" id="M000474-source">
566
573
  <pre>
567
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 248</span>
568
- 248: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
569
- 249: <span class="ruby-comment cmt"># If we have a pushed-back token, return that first.</span>
570
- 250: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
571
- 251: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@tokenBuffer</span>
572
- 252: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
573
- 253: <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@tokenBufferPos</span>
574
- 254: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
575
- 255: <span class="ruby-keyword kw">end</span>
576
- 256:
577
- 257: <span class="ruby-comment cmt"># Start processing characters from the input.</span>
578
- 258: <span class="ruby-identifier">startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
579
- 259: <span class="ruby-identifier">token</span> = [ <span class="ruby-value str">'.'</span>, <span class="ruby-value str">'&lt;END&gt;'</span> ]
580
- 260: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">c</span> = <span class="ruby-identifier">nextChar</span>
581
- 261: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">c</span>
582
- 262: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">' '</span>, <span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-value str">&quot;\t&quot;</span>
583
- 263: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">tok</span> = <span class="ruby-identifier">readBlanks</span>(<span class="ruby-identifier">c</span>))
584
- 264: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">tok</span>
585
- 265: <span class="ruby-keyword kw">break</span>
586
- 266: <span class="ruby-keyword kw">end</span>
587
- 267: <span class="ruby-identifier">startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
588
- 268: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'#'</span>
589
- 269: <span class="ruby-identifier">skipComment</span>
590
- 270: <span class="ruby-identifier">startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
591
- 271: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'/'</span>
592
- 272: <span class="ruby-identifier">skipCPlusPlusComments</span>
593
- 273: <span class="ruby-identifier">startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
594
- 274: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'0'</span><span class="ruby-operator">..</span><span class="ruby-value str">'9'</span>
595
- 275: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readNumber</span>(<span class="ruby-identifier">c</span>)
596
- 276: <span class="ruby-keyword kw">break</span>
597
- 277: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;'&quot;</span>
598
- 278: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readString</span>(<span class="ruby-identifier">c</span>)
599
- 279: <span class="ruby-keyword kw">break</span>
600
- 280: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&quot;'</span>
601
- 281: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readString</span>(<span class="ruby-identifier">c</span>)
602
- 282: <span class="ruby-keyword kw">break</span>
603
- 283: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'-'</span>
604
- 284: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">handleDash</span>
605
- 285: <span class="ruby-keyword kw">break</span>
606
- 286: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'!'</span>
607
- 287: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readRelativeId</span>(<span class="ruby-identifier">c</span>)
608
- 288: <span class="ruby-keyword kw">break</span>
609
- 289: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'a'</span><span class="ruby-operator">..</span><span class="ruby-value str">'z'</span>, <span class="ruby-value str">'A'</span><span class="ruby-operator">..</span><span class="ruby-value str">'Z'</span>, <span class="ruby-value str">'_'</span>
610
- 290: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readId</span>(<span class="ruby-identifier">c</span>)
611
- 291: <span class="ruby-keyword kw">break</span>
612
- 292: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;'</span>, <span class="ruby-value str">'&gt;'</span>, <span class="ruby-value str">'='</span>
613
- 293: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readOperator</span>(<span class="ruby-identifier">c</span>)
614
- 294: <span class="ruby-keyword kw">break</span>
615
- 295: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'['</span>
616
- 296: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readMacro</span>
574
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 252</span>
575
+ 252: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
576
+ 253: <span class="ruby-comment cmt"># If we have a pushed-back token, return that first.</span>
577
+ 254: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
578
+ 255: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@tokenBuffer</span>
579
+ 256: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
580
+ 257: <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@tokenBufferPos</span>
581
+ 258: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
582
+ 259: <span class="ruby-keyword kw">end</span>
583
+ 260:
584
+ 261: <span class="ruby-comment cmt"># Start processing characters from the input.</span>
585
+ 262: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
586
+ 263: <span class="ruby-identifier">token</span> = [ <span class="ruby-value str">'.'</span>, <span class="ruby-value str">'&lt;END&gt;'</span> ]
587
+ 264: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">c</span> = <span class="ruby-identifier">nextChar</span>
588
+ 265: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">c</span>
589
+ 266: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">' '</span>, <span class="ruby-value str">&quot;\n&quot;</span>, <span class="ruby-value str">&quot;\t&quot;</span>
590
+ 267: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">tok</span> = <span class="ruby-identifier">readBlanks</span>(<span class="ruby-identifier">c</span>))
591
+ 268: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">tok</span>
592
+ 269: <span class="ruby-keyword kw">break</span>
593
+ 270: <span class="ruby-keyword kw">end</span>
594
+ 271: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
595
+ 272: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'#'</span>
596
+ 273: <span class="ruby-identifier">skipComment</span>
597
+ 274: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
598
+ 275: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'/'</span>
599
+ 276: <span class="ruby-identifier">skipCPlusPlusComments</span>
600
+ 277: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
601
+ 278: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'0'</span><span class="ruby-operator">..</span><span class="ruby-value str">'9'</span>
602
+ 279: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readNumber</span>(<span class="ruby-identifier">c</span>)
603
+ 280: <span class="ruby-keyword kw">break</span>
604
+ 281: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;'&quot;</span>
605
+ 282: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readString</span>(<span class="ruby-identifier">c</span>)
606
+ 283: <span class="ruby-keyword kw">break</span>
607
+ 284: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&quot;'</span>
608
+ 285: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readString</span>(<span class="ruby-identifier">c</span>)
609
+ 286: <span class="ruby-keyword kw">break</span>
610
+ 287: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'-'</span>
611
+ 288: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">handleDash</span>
612
+ 289: <span class="ruby-keyword kw">break</span>
613
+ 290: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'!'</span>
614
+ 291: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> = <span class="ruby-identifier">nextChar</span>) <span class="ruby-operator">==</span> <span class="ruby-value str">'='</span>
615
+ 292: <span class="ruby-identifier">token</span> = [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-value str">'!='</span> ]
616
+ 293: <span class="ruby-keyword kw">else</span>
617
+ 294: <span class="ruby-identifier">returnChar</span>(<span class="ruby-identifier">c</span>)
618
+ 295: <span class="ruby-identifier">token</span> = [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-value str">'!'</span> ]
619
+ 296: <span class="ruby-keyword kw">end</span>
617
620
  297: <span class="ruby-keyword kw">break</span>
618
- 298: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>
619
- 299: <span class="ruby-comment cmt"># We've reached an end of file or buffer</span>
621
+ 298: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'a'</span><span class="ruby-operator">..</span><span class="ruby-value str">'z'</span>, <span class="ruby-value str">'A'</span><span class="ruby-operator">..</span><span class="ruby-value str">'Z'</span>, <span class="ruby-value str">'_'</span>
622
+ 299: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readId</span>(<span class="ruby-identifier">c</span>)
620
623
  300: <span class="ruby-keyword kw">break</span>
621
- 301: <span class="ruby-keyword kw">else</span>
622
- 302: <span class="ruby-identifier">str</span> = <span class="ruby-value str">&quot;&quot;</span>
623
- 303: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>
624
- 304: <span class="ruby-identifier">token</span> = [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-identifier">str</span> ]
625
- 305: <span class="ruby-keyword kw">break</span>
626
- 306: <span class="ruby-keyword kw">end</span>
627
- 307: <span class="ruby-keyword kw">end</span>
628
- 308: <span class="ruby-ivar">@pos</span> = <span class="ruby-identifier">startOfToken</span>
629
- 309: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">token</span>
630
- 310: <span class="ruby-keyword kw">end</span>
624
+ 301: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'&lt;'</span>, <span class="ruby-value str">'&gt;'</span>, <span class="ruby-value str">'='</span>
625
+ 302: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readOperator</span>(<span class="ruby-identifier">c</span>)
626
+ 303: <span class="ruby-keyword kw">break</span>
627
+ 304: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'['</span>
628
+ 305: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readMacro</span>
629
+ 306: <span class="ruby-keyword kw">break</span>
630
+ 307: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>
631
+ 308: <span class="ruby-comment cmt"># We've reached an end of file or buffer</span>
632
+ 309: <span class="ruby-keyword kw">break</span>
633
+ 310: <span class="ruby-keyword kw">else</span>
634
+ 311: <span class="ruby-identifier">str</span> = <span class="ruby-value str">&quot;&quot;</span>
635
+ 312: <span class="ruby-identifier">str</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>
636
+ 313: <span class="ruby-identifier">token</span> = [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-identifier">str</span> ]
637
+ 314: <span class="ruby-keyword kw">break</span>
638
+ 315: <span class="ruby-keyword kw">end</span>
639
+ 316: <span class="ruby-keyword kw">end</span>
640
+ 317: <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@startOfToken</span>
641
+ 318: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">token</span>
642
+ 319: <span class="ruby-keyword kw">end</span>
631
643
  </pre>
632
644
  </div>
633
645
 
@@ -635,12 +647,12 @@ be an Array of the form [ TokenType, TokenValue ].
635
647
  </div>
636
648
 
637
649
 
638
- <div id="method-M000727" class="method-detail">
639
- <a name="M000727"></a>
650
+ <div id="method-M000469" class="method-detail">
651
+ <a name="M000469"></a>
640
652
 
641
653
  <div class="method-heading">
642
654
 
643
- <a href="#M000727" class="method-signature">
655
+ <a href="#M000469" class="method-signature">
644
656
 
645
657
  <span class="method-name">open</span><span class="method-args">(fileNameIsBuffer = false)</span>
646
658
 
@@ -656,23 +668,24 @@ Start the processing. if <em>fileNameIsBuffer</em> is true, we operate on a
656
668
  </p>
657
669
 
658
670
  <p><a class="source-toggle" href="#"
659
- onclick="toggleCode('M000727-source');return false;">[Source]</a></p>
660
- <div class="method-source-code" id="M000727-source">
671
+ onclick="toggleCode('M000469-source');return false;">[Source]</a></p>
672
+ <div class="method-source-code" id="M000469-source">
661
673
  <pre>
662
674
  <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 165</span>
663
675
  165: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>)
664
- 166: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileNameIsBuffer</span>
665
- 167: <span class="ruby-ivar">@fileStack</span> = [ [ <span class="ruby-ivar">@cf</span> = <span class="ruby-constant">BufferStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>), <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ] ]
666
- 168: <span class="ruby-keyword kw">else</span>
667
- 169: <span class="ruby-keyword kw">begin</span>
668
- 170: <span class="ruby-ivar">@fileStack</span> = [ [ <span class="ruby-ivar">@cf</span> = <span class="ruby-constant">FileStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>), <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ] ]
669
- 171: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
670
- 172: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Cannot open file #{@masterFile}&quot;</span>
671
- 173: <span class="ruby-keyword kw">end</span>
672
- 174: <span class="ruby-keyword kw">end</span>
673
- 175: <span class="ruby-ivar">@masterPath</span> = <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">dirname</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
674
- 176: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@lastPos</span> = <span class="ruby-keyword kw">nil</span>
675
- 177: <span class="ruby-keyword kw">end</span>
676
+ 166: <span class="ruby-ivar">@fileNameIsBuffer</span> = <span class="ruby-identifier">fileNameIsBuffer</span>
677
+ 167: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileNameIsBuffer</span>
678
+ 168: <span class="ruby-ivar">@fileStack</span> = [ [ <span class="ruby-ivar">@cf</span> = <span class="ruby-constant">BufferStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>), <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ] ]
679
+ 169: <span class="ruby-keyword kw">else</span>
680
+ 170: <span class="ruby-keyword kw">begin</span>
681
+ 171: <span class="ruby-ivar">@fileStack</span> = [ [ <span class="ruby-ivar">@cf</span> = <span class="ruby-constant">FileStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>), <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ] ]
682
+ 172: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
683
+ 173: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Cannot open file #{@masterFile}&quot;</span>
684
+ 174: <span class="ruby-keyword kw">end</span>
685
+ 175: <span class="ruby-keyword kw">end</span>
686
+ 176: <span class="ruby-ivar">@masterPath</span> = <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">dirname</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
687
+ 177: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@lastPos</span> = <span class="ruby-keyword kw">nil</span>
688
+ 178: <span class="ruby-keyword kw">end</span>
676
689
  </pre>
677
690
  </div>
678
691
 
@@ -680,12 +693,12 @@ Start the processing. if <em>fileNameIsBuffer</em> is true, we operate on a
680
693
  </div>
681
694
 
682
695
 
683
- <div id="method-M000733" class="method-detail">
684
- <a name="M000733"></a>
696
+ <div id="method-M000475" class="method-detail">
697
+ <a name="M000475"></a>
685
698
 
686
699
  <div class="method-heading">
687
700
 
688
- <a href="#M000733" class="method-signature">
701
+ <a href="#M000475" class="method-signature">
689
702
 
690
703
  <span class="method-name">returnToken</span><span class="method-args">(token)</span>
691
704
 
@@ -701,19 +714,19 @@ token can be returned before the next nextToken() call.
701
714
  </p>
702
715
 
703
716
  <p><a class="source-toggle" href="#"
704
- onclick="toggleCode('M000733-source');return false;">[Source]</a></p>
705
- <div class="method-source-code" id="M000733-source">
717
+ onclick="toggleCode('M000475-source');return false;">[Source]</a></p>
718
+ <div class="method-source-code" id="M000475-source">
706
719
  <pre>
707
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 314</span>
708
- 314: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
709
- 315: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
710
- 316: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-ivar">@tokenBuffer</span>
711
- 317: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: Cannot return more than 1 token in a row&quot;</span>
712
- 318: <span class="ruby-keyword kw">end</span>
713
- 319: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-identifier">token</span>
714
- 320: <span class="ruby-ivar">@tokenBufferPos</span> = <span class="ruby-ivar">@pos</span>
715
- 321: <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@lastPos</span>
716
- 322: <span class="ruby-keyword kw">end</span>
720
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 323</span>
721
+ 323: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
722
+ 324: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
723
+ 325: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-ivar">@tokenBuffer</span>
724
+ 326: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Fatal Error: Cannot return more than 1 token in a row&quot;</span>
725
+ 327: <span class="ruby-keyword kw">end</span>
726
+ 328: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-identifier">token</span>
727
+ 329: <span class="ruby-ivar">@tokenBufferPos</span> = <span class="ruby-ivar">@pos</span>
728
+ 330: <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@lastPos</span>
729
+ 331: <span class="ruby-keyword kw">end</span>
717
730
  </pre>
718
731
  </div>
719
732
 
@@ -721,12 +734,12 @@ token can be returned before the next nextToken() call.
721
734
  </div>
722
735
 
723
736
 
724
- <div id="method-M000730" class="method-detail">
725
- <a name="M000730"></a>
737
+ <div id="method-M000472" class="method-detail">
738
+ <a name="M000472"></a>
726
739
 
727
740
  <div class="method-heading">
728
741
 
729
- <a href="#M000730" class="method-signature">
742
+ <a href="#M000472" class="method-signature">
730
743
 
731
744
  <span class="method-name">sourceFileInfo</span><span class="method-args">()</span>
732
745
 
@@ -742,13 +755,13 @@ processing prosition.
742
755
  </p>
743
756
 
744
757
  <p><a class="source-toggle" href="#"
745
- onclick="toggleCode('M000730-source');return false;">[Source]</a></p>
746
- <div class="method-source-code" id="M000730-source">
758
+ onclick="toggleCode('M000472-source');return false;">[Source]</a></p>
759
+ <div class="method-source-code" id="M000472-source">
747
760
  <pre>
748
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 224</span>
749
- 224: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sourceFileInfo</span>
750
- 225: <span class="ruby-ivar">@pos</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@pos</span>.<span class="ruby-identifier">clone</span> <span class="ruby-operator">:</span> <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
751
- 226: <span class="ruby-keyword kw">end</span>
761
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 228</span>
762
+ 228: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sourceFileInfo</span>
763
+ 229: <span class="ruby-ivar">@pos</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@pos</span>.<span class="ruby-identifier">dup</span> <span class="ruby-operator">:</span> <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
764
+ 230: <span class="ruby-keyword kw">end</span>
752
765
  </pre>
753
766
  </div>
754
767
 
@@ -756,12 +769,12 @@ processing prosition.
756
769
  </div>
757
770
 
758
771
 
759
- <div id="method-M000738" class="method-detail">
760
- <a name="M000738"></a>
772
+ <div id="method-M000480" class="method-detail">
773
+ <a name="M000480"></a>
761
774
 
762
775
  <div class="method-heading">
763
776
 
764
- <a href="#M000738" class="method-signature">
777
+ <a href="#M000480" class="method-signature">
765
778
 
766
779
  <span class="method-name">warning</span><span class="method-args">(id, text, property = nil)</span>
767
780
 
@@ -772,13 +785,13 @@ processing prosition.
772
785
  <div class="method-description">
773
786
 
774
787
  <p><a class="source-toggle" href="#"
775
- onclick="toggleCode('M000738-source');return false;">[Source]</a></p>
776
- <div class="method-source-code" id="M000738-source">
788
+ onclick="toggleCode('M000480-source');return false;">[Source]</a></p>
789
+ <div class="method-source-code" id="M000480-source">
777
790
  <pre>
778
- <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 352</span>
779
- 352: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
780
- 353: <span class="ruby-identifier">message</span>(<span class="ruby-value str">'warning'</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span>)
781
- 354: <span class="ruby-keyword kw">end</span>
791
+ <span class="ruby-comment cmt"># File lib/TextScanner.rb, line 364</span>
792
+ 364: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>)
793
+ 365: <span class="ruby-identifier">message</span>(<span class="ruby-value str">'warning'</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span>)
794
+ 366: <span class="ruby-keyword kw">end</span>
782
795
  </pre>
783
796
  </div>
784
797