taskjuggler 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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