taskjuggler 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. data/CHANGELOG +119 -0
  2. data/benchmarks/allocatedSlots.tjp +1602 -0
  3. data/benchmarks/booking.tjp +40 -30
  4. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
  5. data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
  6. data/benchmarks/gantt.tjp +57 -0
  7. data/benchmarks/htmltaskreport.tjp +26 -1
  8. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
  9. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
  10. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
  11. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
  12. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
  13. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
  14. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
  15. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
  16. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
  17. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
  18. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
  19. data/benchmarks/profile.clt +36082 -0
  20. data/benchmarks/profile.html +58182 -0
  21. data/benchmarks/runbench.rb +6 -0
  22. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
  23. data/doc/AppConfig.html +85 -37
  24. data/doc/Arguments.html +11 -1
  25. data/doc/CHANGELOG.html +131 -2
  26. data/doc/COPYING.html +11 -1
  27. data/doc/Object.html +12 -3
  28. data/doc/README.html +11 -1
  29. data/doc/RuntimeConfig.html +11 -1
  30. data/doc/String.html +11 -1
  31. data/doc/StringIO.html +11 -1
  32. data/doc/TaskJuggler.html +250 -219
  33. data/doc/TaskJuggler/Account.html +11 -1
  34. data/doc/TaskJuggler/AccountAttribute.html +11 -1
  35. data/doc/TaskJuggler/AccountScenario.html +11 -1
  36. data/doc/TaskJuggler/Allocation.html +11 -1
  37. data/doc/TaskJuggler/AllocationAttribute.html +11 -1
  38. data/doc/TaskJuggler/AttributeBase.html +11 -1
  39. data/doc/TaskJuggler/AttributeDefinition.html +11 -1
  40. data/doc/TaskJuggler/BatchProcessor.html +11 -1
  41. data/doc/TaskJuggler/Booking.html +11 -1
  42. data/doc/TaskJuggler/BookingListAttribute.html +11 -1
  43. data/doc/TaskJuggler/BooleanAttribute.html +11 -1
  44. data/doc/TaskJuggler/CSVFile.html +12 -2
  45. data/doc/TaskJuggler/CellSettingPattern.html +11 -1
  46. data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
  47. data/doc/TaskJuggler/Charge.html +11 -1
  48. data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
  49. data/doc/TaskJuggler/ChargeSet.html +11 -1
  50. data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
  51. data/doc/TaskJuggler/CollisionDetector.html +1063 -0
  52. data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
  53. data/doc/TaskJuggler/ColumnTable.html +11 -1
  54. data/doc/TaskJuggler/Daemon.html +11 -1
  55. data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
  56. data/doc/TaskJuggler/DataCacheEntry.html +711 -0
  57. data/doc/TaskJuggler/DateAttribute.html +11 -1
  58. data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
  59. data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
  60. data/doc/TaskJuggler/DurationAttribute.html +16 -5
  61. data/doc/TaskJuggler/FileList.html +11 -1
  62. data/doc/TaskJuggler/FileRecord.html +11 -1
  63. data/doc/TaskJuggler/FixnumAttribute.html +19 -9
  64. data/doc/TaskJuggler/FlagListAttribute.html +29 -19
  65. data/doc/TaskJuggler/FloatAttribute.html +23 -13
  66. data/doc/TaskJuggler/FormatListAttribute.html +19 -9
  67. data/doc/TaskJuggler/GanttChart.html +94 -133
  68. data/doc/TaskJuggler/GanttContainer.html +11 -1
  69. data/doc/TaskJuggler/GanttHeader.html +11 -1
  70. data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
  71. data/doc/TaskJuggler/GanttLine.html +11 -1
  72. data/doc/TaskJuggler/GanttLoadStack.html +11 -1
  73. data/doc/TaskJuggler/GanttMilestone.html +11 -1
  74. data/doc/TaskJuggler/GanttRouter.html +247 -596
  75. data/doc/TaskJuggler/GanttTaskBar.html +11 -1
  76. data/doc/TaskJuggler/HTMLDocument.html +11 -1
  77. data/doc/TaskJuggler/HTMLGraphics.html +11 -1
  78. data/doc/TaskJuggler/Interval.html +11 -1
  79. data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
  80. data/doc/TaskJuggler/JobInfo.html +11 -1
  81. data/doc/TaskJuggler/Journal.html +11 -1
  82. data/doc/TaskJuggler/JournalEntry.html +11 -1
  83. data/doc/TaskJuggler/JournalEntryList.html +11 -1
  84. data/doc/TaskJuggler/KeywordArray.html +11 -1
  85. data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
  86. data/doc/TaskJuggler/Limits.html +11 -1
  87. data/doc/TaskJuggler/Limits/Limit.html +11 -1
  88. data/doc/TaskJuggler/LimitsAttribute.html +24 -14
  89. data/doc/TaskJuggler/ListAttributeBase.html +11 -1
  90. data/doc/TaskJuggler/Log.html +11 -1
  91. data/doc/TaskJuggler/LogFile.html +11 -1
  92. data/doc/TaskJuggler/LogicalAttribute.html +11 -1
  93. data/doc/TaskJuggler/LogicalExpression.html +11 -1
  94. data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
  95. data/doc/TaskJuggler/LogicalFlag.html +11 -1
  96. data/doc/TaskJuggler/LogicalFunction.html +11 -1
  97. data/doc/TaskJuggler/LogicalOperation.html +11 -1
  98. data/doc/TaskJuggler/Macro.html +11 -1
  99. data/doc/TaskJuggler/MacroTable.html +11 -1
  100. data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
  101. data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
  102. data/doc/TaskJuggler/Message.html +11 -1
  103. data/doc/TaskJuggler/MessageHandler.html +11 -1
  104. data/doc/TaskJuggler/Navigator.html +12 -2
  105. data/doc/TaskJuggler/NavigatorElement.html +11 -1
  106. data/doc/TaskJuggler/NikuProject.html +11 -1
  107. data/doc/TaskJuggler/NikuReport.html +11 -1
  108. data/doc/TaskJuggler/NikuResource.html +11 -1
  109. data/doc/TaskJuggler/NodeListAttribute.html +17 -7
  110. data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
  111. data/doc/TaskJuggler/ProcessIntercom.html +11 -1
  112. data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
  113. data/doc/TaskJuggler/Project.html +587 -500
  114. data/doc/TaskJuggler/ProjectBroker.html +11 -1
  115. data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
  116. data/doc/TaskJuggler/ProjectFileParser.html +205 -192
  117. data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
  118. data/doc/TaskJuggler/ProjectRecord.html +11 -1
  119. data/doc/TaskJuggler/ProjectServer.html +11 -1
  120. data/doc/TaskJuggler/ProjectServerIface.html +11 -1
  121. data/doc/TaskJuggler/PropertyAttribute.html +19 -9
  122. data/doc/TaskJuggler/PropertyList.html +95 -83
  123. data/doc/TaskJuggler/PropertySet.html +11 -1
  124. data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
  125. data/doc/TaskJuggler/Query.html +234 -232
  126. data/doc/TaskJuggler/RTFHandlers.html +11 -1
  127. data/doc/TaskJuggler/RTFNavigator.html +11 -1
  128. data/doc/TaskJuggler/RTFQuery.html +11 -1
  129. data/doc/TaskJuggler/RTFReport.html +11 -1
  130. data/doc/TaskJuggler/RTFReportLink.html +11 -1
  131. data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
  132. data/doc/TaskJuggler/RealFormat.html +12 -2
  133. data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
  134. data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
  135. data/doc/TaskJuggler/Report.html +96 -113
  136. data/doc/TaskJuggler/ReportBase.html +161 -152
  137. data/doc/TaskJuggler/ReportContext.html +11 -1
  138. data/doc/TaskJuggler/ReportServer.html +59 -48
  139. data/doc/TaskJuggler/ReportServerIface.html +51 -41
  140. data/doc/TaskJuggler/ReportServerRecord.html +11 -1
  141. data/doc/TaskJuggler/ReportServlet.html +11 -1
  142. data/doc/TaskJuggler/ReportTable.html +46 -25
  143. data/doc/TaskJuggler/ReportTableCell.html +296 -275
  144. data/doc/TaskJuggler/ReportTableColumn.html +14 -4
  145. data/doc/TaskJuggler/ReportTableLegend.html +11 -1
  146. data/doc/TaskJuggler/ReportTableLine.html +19 -7
  147. data/doc/TaskJuggler/Resource.html +12 -2
  148. data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
  149. data/doc/TaskJuggler/ResourceListRE.html +11 -1
  150. data/doc/TaskJuggler/ResourceScenario.html +708 -565
  151. data/doc/TaskJuggler/RichText.html +54 -36
  152. data/doc/TaskJuggler/RichTextAttribute.html +31 -21
  153. data/doc/TaskJuggler/RichTextDocument.html +11 -1
  154. data/doc/TaskJuggler/RichTextElement.html +11 -1
  155. data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
  156. data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
  157. data/doc/TaskJuggler/RichTextImage.html +11 -1
  158. data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
  159. data/doc/TaskJuggler/RichTextParser.html +88 -33
  160. data/doc/TaskJuggler/RichTextScanner.html +45 -35
  161. data/doc/TaskJuggler/RichTextSnip.html +11 -1
  162. data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
  163. data/doc/TaskJuggler/Scenario.html +11 -1
  164. data/doc/TaskJuggler/ScenarioData.html +11 -1
  165. data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
  166. data/doc/TaskJuggler/Scoreboard.html +92 -73
  167. data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
  168. data/doc/TaskJuggler/SheetReceiver.html +11 -1
  169. data/doc/TaskJuggler/SheetSender.html +11 -1
  170. data/doc/TaskJuggler/Shift.html +11 -1
  171. data/doc/TaskJuggler/ShiftAssignment.html +11 -1
  172. data/doc/TaskJuggler/ShiftAssignments.html +11 -1
  173. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
  174. data/doc/TaskJuggler/ShiftScenario.html +11 -1
  175. data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
  176. data/doc/TaskJuggler/SortListAttribute.html +21 -11
  177. data/doc/TaskJuggler/SourceFileInfo.html +11 -1
  178. data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
  179. data/doc/TaskJuggler/StatusSheetReport.html +11 -1
  180. data/doc/TaskJuggler/StatusSheetSender.html +112 -11
  181. data/doc/TaskJuggler/StringAttribute.html +23 -13
  182. data/doc/TaskJuggler/SymbolAttribute.html +19 -9
  183. data/doc/TaskJuggler/SyntaxReference.html +80 -71
  184. data/doc/TaskJuggler/TOCEntry.html +11 -1
  185. data/doc/TaskJuggler/TSResourceRecord.html +11 -1
  186. data/doc/TaskJuggler/TSTaskRecord.html +11 -1
  187. data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
  188. data/doc/TaskJuggler/TableOfContents.html +11 -1
  189. data/doc/TaskJuggler/TableReport.html +422 -411
  190. data/doc/TaskJuggler/Task.html +11 -1
  191. data/doc/TaskJuggler/TaskDependency.html +11 -1
  192. data/doc/TaskJuggler/TaskListAttribute.html +33 -23
  193. data/doc/TaskJuggler/TaskListRE.html +11 -1
  194. data/doc/TaskJuggler/TaskScenario.html +2007 -1919
  195. data/doc/TaskJuggler/TextFormatter.html +11 -1
  196. data/doc/TaskJuggler/TextParser.html +421 -612
  197. data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
  198. data/doc/TaskJuggler/TextParser/Rule.html +224 -152
  199. data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
  200. data/doc/TaskJuggler/TextParser/State.html +989 -0
  201. data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
  202. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
  203. data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
  204. data/doc/TaskJuggler/TextReport.html +11 -1
  205. data/doc/TaskJuggler/TextScanner.html +285 -273
  206. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
  207. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
  208. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
  209. data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
  210. data/doc/TaskJuggler/TimeSheet.html +11 -1
  211. data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
  212. data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
  213. data/doc/TaskJuggler/TimeSheetReport.html +11 -1
  214. data/doc/TaskJuggler/TimeSheetSender.html +11 -1
  215. data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
  216. data/doc/TaskJuggler/TimeSheets.html +11 -1
  217. data/doc/TaskJuggler/Tj3AppBase.html +11 -1
  218. data/doc/TaskJuggler/Tj3Client.html +11 -1
  219. data/doc/TaskJuggler/Tj3Daemon.html +11 -1
  220. data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
  221. data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
  222. data/doc/TaskJuggler/Tj3SsSender.html +11 -1
  223. data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
  224. data/doc/TaskJuggler/Tj3TsSender.html +11 -1
  225. data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
  226. data/doc/TaskJuggler/TjException.html +11 -1
  227. data/doc/TaskJuggler/TjTime.html +474 -324
  228. data/doc/TaskJuggler/TjpExample.html +11 -1
  229. data/doc/TaskJuggler/TjpExportRE.html +11 -1
  230. data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
  231. data/doc/TaskJuggler/URLParameter.html +11 -1
  232. data/doc/TaskJuggler/UserManual.html +11 -1
  233. data/doc/TaskJuggler/VimSyntax.html +11 -1
  234. data/doc/TaskJuggler/WebServer.html +11 -1
  235. data/doc/TaskJuggler/WorkingHours.html +295 -221
  236. data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
  237. data/doc/TaskJuggler/XMLBlob.html +11 -1
  238. data/doc/TaskJuggler/XMLComment.html +11 -1
  239. data/doc/TaskJuggler/XMLDocument.html +11 -1
  240. data/doc/TaskJuggler/XMLElement.html +11 -1
  241. data/doc/TaskJuggler/XMLNamedText.html +11 -1
  242. data/doc/TaskJuggler/XMLText.html +11 -1
  243. data/doc/index.html +694 -624
  244. data/doc/lib/AppConfig_rb.html +1 -1
  245. data/doc/lib/Attributes_rb.html +1 -1
  246. data/doc/lib/Booking_rb.html +1 -1
  247. data/doc/lib/DataCache_rb.html +69 -0
  248. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  249. data/doc/lib/ProjectFileParser_rb.html +1 -1
  250. data/doc/lib/ProjectFileScanner_rb.html +1 -1
  251. data/doc/lib/Project_rb.html +1 -1
  252. data/doc/lib/PropertyList_rb.html +1 -1
  253. data/doc/lib/Query_rb.html +1 -1
  254. data/doc/lib/RealFormat_rb.html +1 -1
  255. data/doc/lib/ResourceScenario_rb.html +1 -1
  256. data/doc/lib/Resource_rb.html +1 -1
  257. data/doc/lib/RichTextParser_rb.html +1 -1
  258. data/doc/lib/RichTextScanner_rb.html +1 -1
  259. data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
  260. data/doc/lib/RichText_rb.html +1 -1
  261. data/doc/lib/Scoreboard_rb.html +1 -1
  262. data/doc/lib/StatusSheetSender_rb.html +1 -1
  263. data/doc/lib/SyntaxReference_rb.html +1 -1
  264. data/doc/lib/TaskJuggler_rb.html +1 -1
  265. data/doc/lib/TaskScenario_rb.html +3 -1
  266. data/doc/lib/TextParser/Pattern_rb.html +3 -1
  267. data/doc/lib/TextParser/Rule_rb.html +3 -1
  268. data/doc/lib/TextParser/StackElement_rb.html +3 -1
  269. data/doc/lib/TextParser/State_rb.html +65 -0
  270. data/doc/lib/TextParser_rb.html +1 -1
  271. data/doc/lib/TextScanner_rb.html +1 -1
  272. data/doc/lib/Tj3Config_rb.html +1 -1
  273. data/doc/lib/TjTime_rb.html +1 -1
  274. data/doc/lib/TjpSyntaxRules_rb.html +1 -1
  275. data/doc/lib/WorkingHours_rb.html +3 -1
  276. data/doc/lib/daemon/ReportServer_rb.html +1 -1
  277. data/doc/lib/reports/CSVFile_rb.html +1 -1
  278. data/doc/lib/reports/CollisionDetector_rb.html +67 -0
  279. data/doc/lib/reports/GanttChart_rb.html +1 -1
  280. data/doc/lib/reports/GanttRouter_rb.html +3 -1
  281. data/doc/lib/reports/Navigator_rb.html +1 -1
  282. data/doc/lib/reports/ReportBase_rb.html +1 -1
  283. data/doc/lib/reports/ReportTableCell_rb.html +1 -1
  284. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  285. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  286. data/doc/lib/reports/ReportTable_rb.html +1 -1
  287. data/doc/lib/reports/Report_rb.html +1 -1
  288. data/doc/lib/reports/TableReport_rb.html +1 -1
  289. data/doc/lib/taskjuggler3_rb.html +1 -1
  290. data/examples/tutorial.tjp +1 -2
  291. data/lib/AppConfig.rb +10 -4
  292. data/lib/Attributes.rb +4 -4
  293. data/lib/DataCache.rb +124 -0
  294. data/lib/KeywordDocumentation.rb +5 -5
  295. data/lib/Project.rb +54 -10
  296. data/lib/ProjectFileParser.rb +10 -9
  297. data/lib/ProjectFileScanner.rb +38 -25
  298. data/lib/PropertyList.rb +6 -4
  299. data/lib/Query.rb +0 -8
  300. data/lib/RealFormat.rb +1 -1
  301. data/lib/Resource.rb +1 -1
  302. data/lib/ResourceScenario.rb +96 -31
  303. data/lib/RichText.rb +17 -5
  304. data/lib/RichTextParser.rb +22 -9
  305. data/lib/RichTextScanner.rb +34 -34
  306. data/lib/RichTextSyntaxRules.rb +41 -36
  307. data/lib/Scoreboard.rb +16 -7
  308. data/lib/StatusSheetSender.rb +63 -0
  309. data/lib/SyntaxReference.rb +9 -10
  310. data/lib/TaskJuggler.rb +28 -4
  311. data/lib/TaskScenario.rb +66 -19
  312. data/lib/TextParser.rb +219 -384
  313. data/lib/TextParser/Pattern.rb +168 -49
  314. data/lib/TextParser/Rule.rb +33 -17
  315. data/lib/TextParser/StackElement.rb +42 -2
  316. data/lib/TextParser/State.rb +175 -0
  317. data/lib/TextScanner.rb +19 -15
  318. data/lib/Tj3Config.rb +1 -1
  319. data/lib/TjTime.rb +111 -3
  320. data/lib/TjpSyntaxRules.rb +122 -66
  321. data/lib/WorkingHours.rb +91 -186
  322. data/lib/daemon/ReportServer.rb +3 -2
  323. data/lib/reports/CSVFile.rb +1 -1
  324. data/lib/reports/CollisionDetector.rb +177 -0
  325. data/lib/reports/GanttChart.rb +25 -41
  326. data/lib/reports/GanttRouter.rb +104 -233
  327. data/lib/reports/Navigator.rb +1 -1
  328. data/lib/reports/Report.rb +9 -33
  329. data/lib/reports/ReportBase.rb +0 -1
  330. data/lib/reports/ReportTable.rb +19 -8
  331. data/lib/reports/ReportTableCell.rb +61 -25
  332. data/lib/reports/ReportTableColumn.rb +2 -2
  333. data/lib/reports/ReportTableLine.rb +4 -2
  334. data/lib/reports/TableReport.rb +1 -0
  335. data/lib/taskjuggler3.rb +0 -1
  336. data/manual/Installation +7 -3
  337. data/manual/Intro +12 -10
  338. data/manual/The_TaskJuggler_Syntax +4 -4
  339. data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
  340. data/test/TestSuite/CSV-Reports/genrefs +1 -1
  341. data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
  342. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
  343. data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
  344. data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
  345. data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
  346. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
  347. data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
  348. data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
  349. data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
  350. data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
  351. data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
  352. data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
  353. data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
  354. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  355. data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
  356. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
  357. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
  358. data/test/TestSuite/StatusSheets/run +2 -0
  359. data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
  360. data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
  361. data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
  362. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
  363. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  364. data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
  365. data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
  366. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  367. data/test/TestSuite/TimeSheets/run +1 -1
  368. data/test/test_CSV-Reports.rb +2 -4
  369. data/test/test_CollisionDetector.rb +85 -0
  370. data/test/test_Project.rb +2 -2
  371. data/test/test_ProjectFileScanner.rb +73 -31
  372. data/test/test_Query.rb +2 -2
  373. data/test/test_ReportGenerator.rb +1 -1
  374. data/test/test_RichText.rb +4 -4
  375. data/test/test_WorkingHours.rb +150 -11
  376. metadata +75 -67
  377. data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
  378. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
  379. data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
  380. data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
  381. data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
  382. data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
  383. data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
  384. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
  385. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  386. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  387. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  388. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  389. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  390. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  391. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  392. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  393. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  394. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  395. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  396. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  397. data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
  398. data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
  399. data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
  400. data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
  401. data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
  402. data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
  403. data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
  404. data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
  405. data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
  406. data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
  407. data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
  408. data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
  409. data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
  410. data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +0 -1301
  411. data/test/TestSuite/StatusSheets/resrep.tji +0 -7
  412. data/test/TestSuite/StatusSheets/tj3d.log +0 -312
  413. data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
  414. data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
  415. data/test/TestSuite/TimeSheets/statussheets.log +0 -1
@@ -201,12 +201,18 @@
201
201
 
202
202
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
203
203
 
204
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
205
+
204
206
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
205
207
 
206
208
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
207
209
 
208
210
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
209
211
 
212
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
213
+
214
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
215
+
210
216
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
211
217
 
212
218
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -313,7 +319,7 @@
313
319
 
314
320
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
315
321
 
316
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
322
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
317
323
 
318
324
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
319
325
 
@@ -493,6 +499,10 @@
493
499
 
494
500
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
495
501
 
502
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
503
+
504
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
505
+
496
506
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
497
507
 
498
508
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -692,25 +702,25 @@ to detect the tokens of the TJP syntax.
692
702
  71: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/.*\n/</span>, <span class="ruby-value">:macroCall</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'midMacroCall'</span>) ],
693
703
  72:
694
704
  73: <span class="ruby-comment cmt"># An ID with a colon suffix: foo:</span>
695
- 74: [ <span class="ruby-value str">'ID_WITH_COLON'</span>, <span class="ruby-regexp re">/[a-zA-Z_]\w*:/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'chop'</span>) ],
705
+ 74: [ <span class="ruby-value">:ID_WITH_COLON</span>, <span class="ruby-regexp re">/[a-zA-Z_]\w*:/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'chop'</span>) ],
696
706
  75:
697
707
  76: <span class="ruby-comment cmt"># An absolute ID: a.b.c</span>
698
- 77: [ <span class="ruby-value str">'ABSOLUTE_ID'</span>, <span class="ruby-regexp re">/[a-zA-Z_]\w*(\.[a-zA-Z_]\w*)+/</span> ],
708
+ 77: [ <span class="ruby-value">:ABSOLUTE_ID</span>, <span class="ruby-regexp re">/[a-zA-Z_]\w*(\.[a-zA-Z_]\w*)+/</span> ],
699
709
  78:
700
710
  79: <span class="ruby-comment cmt"># A normal ID: bar</span>
701
- 80: [ <span class="ruby-value str">'ID'</span>, <span class="ruby-regexp re">/[a-zA-Z_]\w*/</span> ],
711
+ 80: [ <span class="ruby-value">:ID</span>, <span class="ruby-regexp re">/[a-zA-Z_]\w*/</span> ],
702
712
  81:
703
713
  82: <span class="ruby-comment cmt"># A date</span>
704
- 83: [ <span class="ruby-value str">'DATE'</span>, <span class="ruby-regexp re">/\d{4}-\d{1,2}-\d{1,2}(-\d{1,2}:\d{1,2}(:\d{1,2})?(-[-+]?\d{4})?)?/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'to_date'</span>) ],
714
+ 83: [ <span class="ruby-value">:DATE</span>, <span class="ruby-regexp re">/\d{4}-\d{1,2}-\d{1,2}(-\d{1,2}:\d{1,2}(:\d{1,2})?(-[-+]?\d{4})?)?/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'to_date'</span>) ],
705
715
  84:
706
716
  85: <span class="ruby-comment cmt"># A time of day</span>
707
- 86: [ <span class="ruby-value str">'TIME'</span>, <span class="ruby-regexp re">/\d{1,2}:\d{2}/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'to_time'</span>) ],
717
+ 86: [ <span class="ruby-value">:TIME</span>, <span class="ruby-regexp re">/\d{1,2}:\d{2}/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'to_time'</span>) ],
708
718
  87:
709
719
  88: <span class="ruby-comment cmt"># A floating point number (e. g. 3.143)</span>
710
- 89: [ <span class="ruby-value str">'FLOAT'</span>, <span class="ruby-regexp re">/\d*\.\d+/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'to_f'</span>) ],
720
+ 89: [ <span class="ruby-value">:FLOAT</span>, <span class="ruby-regexp re">/\d*\.\d+/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'to_f'</span>) ],
711
721
  90:
712
722
  91: <span class="ruby-comment cmt"># An integer number</span>
713
- 92: [ <span class="ruby-value str">'INTEGER'</span>, <span class="ruby-regexp re">/\d+/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'to_i'</span>) ],
723
+ 92: [ <span class="ruby-value">:INTEGER</span>, <span class="ruby-regexp re">/\d+/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'to_i'</span>) ],
714
724
  93:
715
725
  94: <span class="ruby-comment cmt"># Multi line string enclosed with double quotes. The string may</span>
716
726
  95: <span class="ruby-comment cmt"># contain double quotes prefixed by a backslash. The first rule</span>
@@ -719,14 +729,14 @@ to detect the tokens of the TJP syntax.
719
729
  98: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
720
730
  99: [ <span class="ruby-value str">'nil'</span>, <span class="ruby-regexp re">/^(\\&quot;|[^&quot;])*\n/</span>, <span class="ruby-value">:dqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'midStringDQ'</span>) ],
721
731
  100: <span class="ruby-comment cmt"># The end of the string.</span>
722
- 101: [ <span class="ruby-value str">'STRING'</span>, <span class="ruby-regexp re">/(\\&quot;|[^&quot;])*&quot;/</span>, <span class="ruby-value">:dqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringDQ'</span>) ],
732
+ 101: [ <span class="ruby-value">:STRING</span>, <span class="ruby-regexp re">/(\\&quot;|[^&quot;])*&quot;/</span>, <span class="ruby-value">:dqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringDQ'</span>) ],
723
733
  102:
724
734
  103: <span class="ruby-comment cmt"># Multi line string enclosed with single quotes.</span>
725
735
  104: [ <span class="ruby-value str">'nil'</span>, <span class="ruby-regexp re">/'(\\'|[^'])*/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startStringSQ'</span>) ],
726
736
  105: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
727
737
  106: [ <span class="ruby-value str">'nil'</span>, <span class="ruby-regexp re">/^(\\'|[^'])*\n/</span>, <span class="ruby-value">:sqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'midStringSQ'</span>) ],
728
738
  107: <span class="ruby-comment cmt"># The end of the string.</span>
729
- 108: [ <span class="ruby-value str">'STRING'</span>, <span class="ruby-regexp re">/(\\'|[^'])*'/</span>, <span class="ruby-value">:sqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringSQ'</span>) ],
739
+ 108: [ <span class="ruby-value">:STRING</span>, <span class="ruby-regexp re">/(\\'|[^'])*'/</span>, <span class="ruby-value">:sqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringSQ'</span>) ],
730
740
  109:
731
741
  110: <span class="ruby-comment cmt"># Scizzors marked string -8&lt;- ... -&gt;8-: The opening mark must be the</span>
732
742
  111: <span class="ruby-comment cmt"># last thing in the line. The indentation of the first line after the</span>
@@ -736,8 +746,8 @@ to detect the tokens of the TJP syntax.
736
746
  115: <span class="ruby-comment cmt"># Since the first line can be the last line (empty string case), we</span>
737
747
  116: <span class="ruby-comment cmt"># need to detect the end in szrString1 and szrString mode. The</span>
738
748
  117: <span class="ruby-comment cmt"># patterns switch the scanner back to tjp mode.</span>
739
- 118: [ <span class="ruby-value str">'STRING'</span>, <span class="ruby-regexp re">/\s*-&gt;8-/</span>, <span class="ruby-value">:szrString1</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringSZR'</span>) ],
740
- 119: [ <span class="ruby-value str">'STRING'</span>, <span class="ruby-regexp re">/\s*-&gt;8-/</span>, <span class="ruby-value">:szrString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringSZR'</span>) ],
749
+ 118: [ <span class="ruby-value">:STRING</span>, <span class="ruby-regexp re">/\s*-&gt;8-/</span>, <span class="ruby-value">:szrString1</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringSZR'</span>) ],
750
+ 119: [ <span class="ruby-value">:STRING</span>, <span class="ruby-regexp re">/\s*-&gt;8-/</span>, <span class="ruby-value">:szrString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringSZR'</span>) ],
741
751
  120: <span class="ruby-comment cmt"># This rule handles macros inside of sizzors strings.</span>
742
752
  121: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/.*?\$\{\s*([a-zA-Z_]\w*)(\s*&quot;(\\&quot;|[^&quot;])*&quot;)*/</span>,
743
753
  122: [ <span class="ruby-value">:szrString</span>, <span class="ruby-value">:szrString1</span> ], <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startMacroCall'</span>) ],
@@ -746,24 +756,24 @@ to detect the tokens of the TJP syntax.
746
756
  125: [ <span class="ruby-value str">'nil'</span>, <span class="ruby-regexp re">/.*\n/</span>, <span class="ruby-value">:szrString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'midStringSZR'</span>) ],
747
757
  126:
748
758
  127: <span class="ruby-comment cmt"># Single line macro definition</span>
749
- 128: [ <span class="ruby-value str">'MACRO'</span>, <span class="ruby-regexp re">/\[.*\]\n/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'chop2nl'</span>) ],
759
+ 128: [ <span class="ruby-value">:MACRO</span>, <span class="ruby-regexp re">/\[.*\]\n/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'chop2nl'</span>) ],
750
760
  129:
751
761
  130: <span class="ruby-comment cmt"># Multi line macro definition: The pattern switches the scanner into</span>
752
762
  131: <span class="ruby-comment cmt"># macroDef mode.</span>
753
763
  132: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/\[.*\n/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startMacroDef'</span>) ],
754
764
  133: <span class="ruby-comment cmt"># The end of the macro is marked by a ']' that is immediately followed</span>
755
765
  134: <span class="ruby-comment cmt"># by a line break. It switches the scanner back to tjp mode.</span>
756
- 135: [ <span class="ruby-value str">'MACRO'</span>, <span class="ruby-regexp re">/.*\]\n/</span>, <span class="ruby-value">:macroDef</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endMacroDef'</span>) ],
766
+ 135: [ <span class="ruby-value">:MACRO</span>, <span class="ruby-regexp re">/.*\]\n/</span>, <span class="ruby-value">:macroDef</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endMacroDef'</span>) ],
757
767
  136: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
758
768
  137: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/.*\n/</span>, <span class="ruby-value">:macroDef</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'midMacroDef'</span>) ],
759
769
  138:
760
770
  139: <span class="ruby-comment cmt"># Some multi-char literals.</span>
761
- 140: [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-regexp re">/&lt;=?/</span> ],
762
- 141: [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-regexp re">/&gt;=?/</span> ],
763
- 142: [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-regexp re">/!=?/</span> ],
771
+ 140: [ <span class="ruby-value">:LITERAL</span>, <span class="ruby-regexp re">/&lt;=?/</span> ],
772
+ 141: [ <span class="ruby-value">:LITERAL</span>, <span class="ruby-regexp re">/&gt;=?/</span> ],
773
+ 142: [ <span class="ruby-value">:LITERAL</span>, <span class="ruby-regexp re">/!=?/</span> ],
764
774
  143:
765
775
  144: <span class="ruby-comment cmt"># Everything else is returned as a single-char literal.</span>
766
- 145: [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-regexp re">/./</span> ]
776
+ 145: [ <span class="ruby-value">:LITERAL</span>, <span class="ruby-regexp re">/./</span> ]
767
777
  146: ]
768
778
  147:
769
779
  148: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">masterFile</span>, <span class="ruby-identifier">messageHandler</span>, <span class="ruby-identifier">tokenPatterns</span>, <span class="ruby-value">:tjp</span>)
@@ -804,10 +814,10 @@ to detect the tokens of the TJP syntax.
804
814
  <div class="method-source-code"
805
815
  id="chop-source">
806
816
  <pre>
807
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 178</span>
808
- 178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chop</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
809
- 179: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>] ]
810
- 180: <span class="ruby-keyword kw">end</span></pre>
817
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 191</span>
818
+ 191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chop</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
819
+ 192: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>] ]
820
+ 193: <span class="ruby-keyword kw">end</span></pre>
811
821
  </div>
812
822
 
813
823
  </div>
@@ -838,11 +848,11 @@ to detect the tokens of the TJP syntax.
838
848
  <div class="method-source-code"
839
849
  id="chop--source">
840
850
  <pre>
841
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 182</span>
842
- 182: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chop2</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
843
- 183: <span class="ruby-comment cmt"># Remove first and last character.</span>
844
- 184: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>] ]
845
- 185: <span class="ruby-keyword kw">end</span></pre>
851
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 195</span>
852
+ 195: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chop2</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
853
+ 196: <span class="ruby-comment cmt"># Remove first and last character.</span>
854
+ 197: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>] ]
855
+ 198: <span class="ruby-keyword kw">end</span></pre>
846
856
  </div>
847
857
 
848
858
  </div>
@@ -873,11 +883,11 @@ to detect the tokens of the TJP syntax.
873
883
  <div class="method-source-code"
874
884
  id="chop-nl-source">
875
885
  <pre>
876
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 187</span>
877
- 187: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chop2nl</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
878
- 188: <span class="ruby-comment cmt"># remove first and last 2 characters.</span>
879
- 189: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">3</span>] ]
880
- 190: <span class="ruby-keyword kw">end</span></pre>
886
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 200</span>
887
+ 200: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chop2nl</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
888
+ 201: <span class="ruby-comment cmt"># remove first and last 2 characters.</span>
889
+ 202: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">3</span>] ]
890
+ 203: <span class="ruby-keyword kw">end</span></pre>
881
891
  </div>
882
892
 
883
893
  </div>
@@ -908,11 +918,11 @@ to detect the tokens of the TJP syntax.
908
918
  <div class="method-source-code"
909
919
  id="end-omment-source">
910
920
  <pre>
911
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 197</span>
912
- 197: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endComment</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
913
- 198: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
914
- 199: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
915
- 200: <span class="ruby-keyword kw">end</span></pre>
921
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 210</span>
922
+ 210: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endComment</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
923
+ 211: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
924
+ 212: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
925
+ 213: <span class="ruby-keyword kw">end</span></pre>
916
926
  </div>
917
927
 
918
928
  </div>
@@ -943,48 +953,48 @@ to detect the tokens of the TJP syntax.
943
953
  <div class="method-source-code"
944
954
  id="end-acro-all-source">
945
955
  <pre>
946
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 311</span>
947
- 311: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endMacroCall</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
948
- 312: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-ivar">@macroCallPreviousMode</span>
949
- 313: <span class="ruby-ivar">@macroCall</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>
950
- 314:
951
- 315: <span class="ruby-comment cmt"># Store any characters that precede the ${ in prefix and remove it from</span>
952
- 316: <span class="ruby-comment cmt"># @macroCall.</span>
953
- 317: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">macroStart</span> = <span class="ruby-ivar">@macroCall</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">'${'</span>)) <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
954
- 318: <span class="ruby-identifier">prefix</span> = <span class="ruby-ivar">@macroCall</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-identifier">macroStart</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)]
955
- 319: <span class="ruby-ivar">@macroCall</span> = <span class="ruby-ivar">@macroCall</span>[<span class="ruby-identifier">macroStart</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
956
- 320: <span class="ruby-keyword kw">else</span>
957
- 321: <span class="ruby-identifier">prefix</span> = <span class="ruby-value str">''</span>
958
- 322: <span class="ruby-keyword kw">end</span>
959
- 323:
960
- 324: <span class="ruby-comment cmt"># Remove '${' and '}'</span>
961
- 325: <span class="ruby-identifier">argsStr</span> = <span class="ruby-ivar">@macroCall</span>[<span class="ruby-value">2</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>]
962
- 326: <span class="ruby-comment cmt"># Extract the macro name.</span>
963
- 327: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">argsStr</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">' '</span>).<span class="ruby-identifier">nil?</span>
964
- 328: <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">prefix</span>, [ <span class="ruby-identifier">argsStr</span> ])
965
- 329: <span class="ruby-keyword kw">else</span>
966
- 330: <span class="ruby-identifier">macroName</span> = <span class="ruby-identifier">argsStr</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">argsStr</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">' '</span>)]
967
- 331: <span class="ruby-comment cmt"># Remove the name part from argsStr</span>
968
- 332: <span class="ruby-identifier">argsStr</span> = <span class="ruby-identifier">argsStr</span>[<span class="ruby-identifier">macroName</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
969
- 333: <span class="ruby-comment cmt"># Array to hold the arguments</span>
970
- 334: <span class="ruby-identifier">args</span> = []
971
- 335: <span class="ruby-comment cmt"># We use another StringScanner to clean the double quotes.</span>
972
- 336: <span class="ruby-identifier">scanner</span> = <span class="ruby-constant">StringScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">argsStr</span>)
973
- 337: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/\s*&quot;/</span>))
974
- 338: <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/(\\&quot;|[^&quot;])*/</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\&quot;/</span>, <span class="ruby-value str">'&quot;'</span>)
975
- 339: <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/&quot;\s*/</span>)
976
- 340: <span class="ruby-keyword kw">end</span>
977
- 341:
978
- 342: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">eos?</span>
979
- 343: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Junk found at end of macro: #{argsStr[scanner.pos..-1]}&quot;</span>
980
- 344: <span class="ruby-keyword kw">end</span>
981
- 345:
982
- 346: <span class="ruby-comment cmt"># Expand the macro and inject it into the scanner.</span>
983
- 347: <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">prefix</span>, [ <span class="ruby-identifier">macroName</span> ] <span class="ruby-operator">+</span> <span class="ruby-identifier">args</span>)
984
- 348: <span class="ruby-keyword kw">end</span>
985
- 349:
986
- 350: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
987
- 351: <span class="ruby-keyword kw">end</span></pre>
956
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 324</span>
957
+ 324: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endMacroCall</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
958
+ 325: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-ivar">@macroCallPreviousMode</span>
959
+ 326: <span class="ruby-ivar">@macroCall</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>
960
+ 327:
961
+ 328: <span class="ruby-comment cmt"># Store any characters that precede the ${ in prefix and remove it from</span>
962
+ 329: <span class="ruby-comment cmt"># @macroCall.</span>
963
+ 330: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">macroStart</span> = <span class="ruby-ivar">@macroCall</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">'${'</span>)) <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
964
+ 331: <span class="ruby-identifier">prefix</span> = <span class="ruby-ivar">@macroCall</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-identifier">macroStart</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)]
965
+ 332: <span class="ruby-ivar">@macroCall</span> = <span class="ruby-ivar">@macroCall</span>[<span class="ruby-identifier">macroStart</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
966
+ 333: <span class="ruby-keyword kw">else</span>
967
+ 334: <span class="ruby-identifier">prefix</span> = <span class="ruby-value str">''</span>
968
+ 335: <span class="ruby-keyword kw">end</span>
969
+ 336:
970
+ 337: <span class="ruby-comment cmt"># Remove '${' and '}'</span>
971
+ 338: <span class="ruby-identifier">argsStr</span> = <span class="ruby-ivar">@macroCall</span>[<span class="ruby-value">2</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>]
972
+ 339: <span class="ruby-comment cmt"># Extract the macro name.</span>
973
+ 340: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">argsStr</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">' '</span>).<span class="ruby-identifier">nil?</span>
974
+ 341: <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">prefix</span>, [ <span class="ruby-identifier">argsStr</span> ])
975
+ 342: <span class="ruby-keyword kw">else</span>
976
+ 343: <span class="ruby-identifier">macroName</span> = <span class="ruby-identifier">argsStr</span>[<span class="ruby-value">0</span>, <span class="ruby-identifier">argsStr</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">' '</span>)]
977
+ 344: <span class="ruby-comment cmt"># Remove the name part from argsStr</span>
978
+ 345: <span class="ruby-identifier">argsStr</span> = <span class="ruby-identifier">argsStr</span>[<span class="ruby-identifier">macroName</span>.<span class="ruby-identifier">length</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
979
+ 346: <span class="ruby-comment cmt"># Array to hold the arguments</span>
980
+ 347: <span class="ruby-identifier">args</span> = []
981
+ 348: <span class="ruby-comment cmt"># We use another StringScanner to clean the double quotes.</span>
982
+ 349: <span class="ruby-identifier">scanner</span> = <span class="ruby-constant">StringScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">argsStr</span>)
983
+ 350: <span class="ruby-keyword kw">while</span> (<span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/\s*&quot;/</span>))
984
+ 351: <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/(\\&quot;|[^&quot;])*/</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\&quot;/</span>, <span class="ruby-value str">'&quot;'</span>)
985
+ 352: <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/&quot;\s*/</span>)
986
+ 353: <span class="ruby-keyword kw">end</span>
987
+ 354:
988
+ 355: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">eos?</span>
989
+ 356: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Junk found at end of macro: #{argsStr[scanner.pos..-1]}&quot;</span>
990
+ 357: <span class="ruby-keyword kw">end</span>
991
+ 358:
992
+ 359: <span class="ruby-comment cmt"># Expand the macro and inject it into the scanner.</span>
993
+ 360: <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">prefix</span>, [ <span class="ruby-identifier">macroName</span> ] <span class="ruby-operator">+</span> <span class="ruby-identifier">args</span>)
994
+ 361: <span class="ruby-keyword kw">end</span>
995
+ 362:
996
+ 363: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
997
+ 364: <span class="ruby-keyword kw">end</span></pre>
988
998
  </div>
989
999
 
990
1000
  </div>
@@ -1015,13 +1025,13 @@ to detect the tokens of the TJP syntax.
1015
1025
  <div class="method-source-code"
1016
1026
  id="end-acro-ef-source">
1017
1027
  <pre>
1018
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 292</span>
1019
- 292: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endMacroDef</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1020
- 293: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
1021
- 294: <span class="ruby-comment cmt"># Remove &quot;]\n&quot;</span>
1022
- 295: <span class="ruby-ivar">@macroDef</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">3</span>]
1023
- 296: [ <span class="ruby-value str">'MACRO'</span>, <span class="ruby-ivar">@macroDef</span> ]
1024
- 297: <span class="ruby-keyword kw">end</span></pre>
1028
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 305</span>
1029
+ 305: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endMacroDef</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1030
+ 306: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
1031
+ 307: <span class="ruby-comment cmt"># Remove &quot;]\n&quot;</span>
1032
+ 308: <span class="ruby-ivar">@macroDef</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">3</span>]
1033
+ 309: [ <span class="ruby-value">:MACRO</span>, <span class="ruby-ivar">@macroDef</span> ]
1034
+ 310: <span class="ruby-keyword kw">end</span></pre>
1025
1035
  </div>
1026
1036
 
1027
1037
  </div>
@@ -1052,13 +1062,13 @@ to detect the tokens of the TJP syntax.
1052
1062
  <div class="method-source-code"
1053
1063
  id="end-tring--source">
1054
1064
  <pre>
1055
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 215</span>
1056
- 215: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endStringDQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1057
- 216: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
1058
- 217: <span class="ruby-comment cmt"># Remove the trailing &quot; and remove the backslashes from escaped &quot;.</span>
1059
- 218: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\&quot;/</span>, <span class="ruby-value str">'&quot;'</span>)
1060
- 219: [ <span class="ruby-value str">'STRING'</span>, <span class="ruby-ivar">@string</span> ]
1061
- 220: <span class="ruby-keyword kw">end</span></pre>
1065
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 228</span>
1066
+ 228: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endStringDQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1067
+ 229: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
1068
+ 230: <span class="ruby-comment cmt"># Remove the trailing &quot; and remove the backslashes from escaped &quot;.</span>
1069
+ 231: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\&quot;/</span>, <span class="ruby-value str">'&quot;'</span>)
1070
+ 232: [ <span class="ruby-value">:STRING</span>, <span class="ruby-ivar">@string</span> ]
1071
+ 233: <span class="ruby-keyword kw">end</span></pre>
1062
1072
  </div>
1063
1073
 
1064
1074
  </div>
@@ -1089,13 +1099,13 @@ to detect the tokens of the TJP syntax.
1089
1099
  <div class="method-source-code"
1090
1100
  id="end-tring--source">
1091
1101
  <pre>
1092
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 235</span>
1093
- 235: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endStringSQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1094
- 236: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
1095
- 237: <span class="ruby-comment cmt"># Remove the trailing ' and remove the backslashes from escaped '.</span>
1096
- 238: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\'/</span>, <span class="ruby-value str">&quot;'&quot;</span>)
1097
- 239: [ <span class="ruby-value str">'STRING'</span>, <span class="ruby-ivar">@string</span> ]
1098
- 240: <span class="ruby-keyword kw">end</span></pre>
1102
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 248</span>
1103
+ 248: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endStringSQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1104
+ 249: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
1105
+ 250: <span class="ruby-comment cmt"># Remove the trailing ' and remove the backslashes from escaped '.</span>
1106
+ 251: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\'/</span>, <span class="ruby-value str">&quot;'&quot;</span>)
1107
+ 252: [ <span class="ruby-value">:STRING</span>, <span class="ruby-ivar">@string</span> ]
1108
+ 253: <span class="ruby-keyword kw">end</span></pre>
1099
1109
  </div>
1100
1110
 
1101
1111
  </div>
@@ -1126,11 +1136,11 @@ to detect the tokens of the TJP syntax.
1126
1136
  <div class="method-source-code"
1127
1137
  id="end-tring--source">
1128
1138
  <pre>
1129
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 275</span>
1130
- 275: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endStringSZR</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1131
- 276: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
1132
- 277: [ <span class="ruby-value str">'STRING'</span>, <span class="ruby-ivar">@string</span> ]
1133
- 278: <span class="ruby-keyword kw">end</span></pre>
1139
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 288</span>
1140
+ 288: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">endStringSZR</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1141
+ 289: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
1142
+ 290: [ <span class="ruby-value">:STRING</span>, <span class="ruby-ivar">@string</span> ]
1143
+ 291: <span class="ruby-keyword kw">end</span></pre>
1134
1144
  </div>
1135
1145
 
1136
1146
  </div>
@@ -1161,13 +1171,13 @@ to detect the tokens of the TJP syntax.
1161
1171
  <div class="method-source-code"
1162
1172
  id="first-tring--source">
1163
1173
  <pre>
1164
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 257</span>
1165
- 257: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">firstStringSZR</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1166
- 258: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:szrString</span>
1167
- 259: <span class="ruby-comment cmt"># Split the leading indentation and the rest of the string.</span>
1168
- 260: <span class="ruby-ivar">@indent</span>, <span class="ruby-ivar">@string</span> = *<span class="ruby-regexp re">/(\s*)(.*\n)/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">match</span>)[<span class="ruby-value">1</span>, <span class="ruby-value">2</span>]
1169
- 261: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1170
- 262: <span class="ruby-keyword kw">end</span></pre>
1174
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 270</span>
1175
+ 270: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">firstStringSZR</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1176
+ 271: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:szrString</span>
1177
+ 272: <span class="ruby-comment cmt"># Split the leading indentation and the rest of the string.</span>
1178
+ 273: <span class="ruby-ivar">@indent</span>, <span class="ruby-ivar">@string</span> = *<span class="ruby-regexp re">/(\s*)(.*\n)/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">match</span>)[<span class="ruby-value">1</span>, <span class="ruby-value">2</span>]
1179
+ 274: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1180
+ 275: <span class="ruby-keyword kw">end</span></pre>
1171
1181
  </div>
1172
1182
 
1173
1183
  </div>
@@ -1198,11 +1208,11 @@ to detect the tokens of the TJP syntax.
1198
1208
  <div class="method-source-code"
1199
1209
  id="mid-acro-all-source">
1200
1210
  <pre>
1201
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 306</span>
1202
- 306: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midMacroCall</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1203
- 307: <span class="ruby-ivar">@macroCall</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>
1204
- 308: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1205
- 309: <span class="ruby-keyword kw">end</span></pre>
1211
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 319</span>
1212
+ 319: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midMacroCall</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1213
+ 320: <span class="ruby-ivar">@macroCall</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>
1214
+ 321: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1215
+ 322: <span class="ruby-keyword kw">end</span></pre>
1206
1216
  </div>
1207
1217
 
1208
1218
  </div>
@@ -1233,11 +1243,11 @@ to detect the tokens of the TJP syntax.
1233
1243
  <div class="method-source-code"
1234
1244
  id="mid-acro-ef-source">
1235
1245
  <pre>
1236
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 287</span>
1237
- 287: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midMacroDef</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1238
- 288: <span class="ruby-ivar">@macroDef</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>
1239
- 289: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1240
- 290: <span class="ruby-keyword kw">end</span></pre>
1246
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 300</span>
1247
+ 300: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midMacroDef</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1248
+ 301: <span class="ruby-ivar">@macroDef</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>
1249
+ 302: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1250
+ 303: <span class="ruby-keyword kw">end</span></pre>
1241
1251
  </div>
1242
1252
 
1243
1253
  </div>
@@ -1268,12 +1278,12 @@ to detect the tokens of the TJP syntax.
1268
1278
  <div class="method-source-code"
1269
1279
  id="mid-tring--source">
1270
1280
  <pre>
1271
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 209</span>
1272
- 209: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midStringDQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1273
- 210: <span class="ruby-comment cmt"># Remove the backslashes from escaped &quot;.</span>
1274
- 211: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\&quot;/</span>, <span class="ruby-value str">'&quot;'</span>)
1275
- 212: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1276
- 213: <span class="ruby-keyword kw">end</span></pre>
1281
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 222</span>
1282
+ 222: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midStringDQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1283
+ 223: <span class="ruby-comment cmt"># Remove the backslashes from escaped &quot;.</span>
1284
+ 224: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\&quot;/</span>, <span class="ruby-value str">'&quot;'</span>)
1285
+ 225: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1286
+ 226: <span class="ruby-keyword kw">end</span></pre>
1277
1287
  </div>
1278
1288
 
1279
1289
  </div>
@@ -1304,12 +1314,12 @@ to detect the tokens of the TJP syntax.
1304
1314
  <div class="method-source-code"
1305
1315
  id="mid-tring--source">
1306
1316
  <pre>
1307
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 229</span>
1308
- 229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midStringSQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1309
- 230: <span class="ruby-comment cmt"># Remove the backslashes from escaped '.</span>
1310
- 231: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\'/</span>, <span class="ruby-value str">&quot;'&quot;</span>)
1311
- 232: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1312
- 233: <span class="ruby-keyword kw">end</span></pre>
1317
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 242</span>
1318
+ 242: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midStringSQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1319
+ 243: <span class="ruby-comment cmt"># Remove the backslashes from escaped '.</span>
1320
+ 244: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\'/</span>, <span class="ruby-value str">&quot;'&quot;</span>)
1321
+ 245: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1322
+ 246: <span class="ruby-keyword kw">end</span></pre>
1313
1323
  </div>
1314
1324
 
1315
1325
  </div>
@@ -1340,17 +1350,17 @@ to detect the tokens of the TJP syntax.
1340
1350
  <div class="method-source-code"
1341
1351
  id="mid-tring--source">
1342
1352
  <pre>
1343
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 264</span>
1344
- 264: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midStringSZR</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1345
- 265: <span class="ruby-comment cmt"># Ignore all the characters from the begining of match that are the same</span>
1346
- 266: <span class="ruby-comment cmt"># in @indent.</span>
1347
- 267: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1348
- 268: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@indent</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@indent</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">match</span>[<span class="ruby-identifier">i</span>]
1349
- 269: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1350
- 270: <span class="ruby-keyword kw">end</span>
1351
- 271: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
1352
- 272: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1353
- 273: <span class="ruby-keyword kw">end</span></pre>
1353
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 277</span>
1354
+ 277: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">midStringSZR</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1355
+ 278: <span class="ruby-comment cmt"># Ignore all the characters from the begining of match that are the same</span>
1356
+ 279: <span class="ruby-comment cmt"># in @indent.</span>
1357
+ 280: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
1358
+ 281: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@indent</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@indent</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">match</span>[<span class="ruby-identifier">i</span>]
1359
+ 282: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
1360
+ 283: <span class="ruby-keyword kw">end</span>
1361
+ 284: <span class="ruby-ivar">@string</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>[<span class="ruby-identifier">i</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
1362
+ 285: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1363
+ 286: <span class="ruby-keyword kw">end</span></pre>
1354
1364
  </div>
1355
1365
 
1356
1366
  </div>
@@ -1381,11 +1391,11 @@ to detect the tokens of the TJP syntax.
1381
1391
  <div class="method-source-code"
1382
1392
  id="new-os-source">
1383
1393
  <pre>
1384
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 173</span>
1385
- 173: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newPos</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1386
- 174: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-identifier">sourceFileInfo</span>
1387
- 175: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1388
- 176: <span class="ruby-keyword kw">end</span></pre>
1394
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 186</span>
1395
+ 186: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newPos</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1396
+ 187: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-identifier">sourceFileInfo</span>
1397
+ 188: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1398
+ 189: <span class="ruby-keyword kw">end</span></pre>
1389
1399
  </div>
1390
1400
 
1391
1401
  </div>
@@ -1416,11 +1426,11 @@ to detect the tokens of the TJP syntax.
1416
1426
  <div class="method-source-code"
1417
1427
  id="start-omment-source">
1418
1428
  <pre>
1419
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 192</span>
1420
- 192: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startComment</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1421
- 193: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:cppComment</span>
1422
- 194: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1423
- 195: <span class="ruby-keyword kw">end</span></pre>
1429
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 205</span>
1430
+ 205: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startComment</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1431
+ 206: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:cppComment</span>
1432
+ 207: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1433
+ 208: <span class="ruby-keyword kw">end</span></pre>
1424
1434
  </div>
1425
1435
 
1426
1436
  </div>
@@ -1451,13 +1461,13 @@ to detect the tokens of the TJP syntax.
1451
1461
  <div class="method-source-code"
1452
1462
  id="start-acro-all-source">
1453
1463
  <pre>
1454
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 299</span>
1455
- 299: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startMacroCall</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1456
- 300: <span class="ruby-ivar">@macroCallPreviousMode</span> = <span class="ruby-ivar">@scannerMode</span>
1457
- 301: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:macroCall</span>
1458
- 302: <span class="ruby-ivar">@macroCall</span> = <span class="ruby-identifier">match</span>
1459
- 303: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1460
- 304: <span class="ruby-keyword kw">end</span></pre>
1464
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 312</span>
1465
+ 312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startMacroCall</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1466
+ 313: <span class="ruby-ivar">@macroCallPreviousMode</span> = <span class="ruby-ivar">@scannerMode</span>
1467
+ 314: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:macroCall</span>
1468
+ 315: <span class="ruby-ivar">@macroCall</span> = <span class="ruby-identifier">match</span>
1469
+ 316: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1470
+ 317: <span class="ruby-keyword kw">end</span></pre>
1461
1471
  </div>
1462
1472
 
1463
1473
  </div>
@@ -1488,13 +1498,13 @@ to detect the tokens of the TJP syntax.
1488
1498
  <div class="method-source-code"
1489
1499
  id="start-acro-ef-source">
1490
1500
  <pre>
1491
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 280</span>
1492
- 280: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startMacroDef</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1493
- 281: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:macroDef</span>
1494
- 282: <span class="ruby-comment cmt"># Remove the opening '['</span>
1495
- 283: <span class="ruby-ivar">@macroDef</span> = <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
1496
- 284: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1497
- 285: <span class="ruby-keyword kw">end</span></pre>
1501
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 293</span>
1502
+ 293: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startMacroDef</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1503
+ 294: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:macroDef</span>
1504
+ 295: <span class="ruby-comment cmt"># Remove the opening '['</span>
1505
+ 296: <span class="ruby-ivar">@macroDef</span> = <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
1506
+ 297: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1507
+ 298: <span class="ruby-keyword kw">end</span></pre>
1498
1508
  </div>
1499
1509
 
1500
1510
  </div>
@@ -1525,13 +1535,13 @@ to detect the tokens of the TJP syntax.
1525
1535
  <div class="method-source-code"
1526
1536
  id="start-tring--source">
1527
1537
  <pre>
1528
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 202</span>
1529
- 202: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startStringDQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1530
- 203: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:dqString</span>
1531
- 204: <span class="ruby-comment cmt"># Remove the opening &quot; and remove the backslashes from escaped &quot;.</span>
1532
- 205: <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\&quot;/</span>, <span class="ruby-value str">'&quot;'</span>)
1533
- 206: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1534
- 207: <span class="ruby-keyword kw">end</span></pre>
1538
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 215</span>
1539
+ 215: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startStringDQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1540
+ 216: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:dqString</span>
1541
+ 217: <span class="ruby-comment cmt"># Remove the opening &quot; and remove the backslashes from escaped &quot;.</span>
1542
+ 218: <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\&quot;/</span>, <span class="ruby-value str">'&quot;'</span>)
1543
+ 219: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1544
+ 220: <span class="ruby-keyword kw">end</span></pre>
1535
1545
  </div>
1536
1546
 
1537
1547
  </div>
@@ -1562,13 +1572,13 @@ to detect the tokens of the TJP syntax.
1562
1572
  <div class="method-source-code"
1563
1573
  id="start-tring--source">
1564
1574
  <pre>
1565
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 222</span>
1566
- 222: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startStringSQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1567
- 223: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:sqString</span>
1568
- 224: <span class="ruby-comment cmt"># Remove the opening ' and remove the backslashes from escaped '.</span>
1569
- 225: <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\'/</span>, <span class="ruby-value str">&quot;'&quot;</span>)
1570
- 226: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1571
- 227: <span class="ruby-keyword kw">end</span></pre>
1575
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 235</span>
1576
+ 235: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startStringSQ</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1577
+ 236: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:sqString</span>
1578
+ 237: <span class="ruby-comment cmt"># Remove the opening ' and remove the backslashes from escaped '.</span>
1579
+ 238: <span class="ruby-ivar">@string</span> = <span class="ruby-identifier">match</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>].<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\'/</span>, <span class="ruby-value str">&quot;'&quot;</span>)
1580
+ 239: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1581
+ 240: <span class="ruby-keyword kw">end</span></pre>
1572
1582
  </div>
1573
1583
 
1574
1584
  </div>
@@ -1599,21 +1609,21 @@ to detect the tokens of the TJP syntax.
1599
1609
  <div class="method-source-code"
1600
1610
  id="start-tring--source">
1601
1611
  <pre>
1602
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 242</span>
1603
- 242: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startStringSZR</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1604
- 243: <span class="ruby-comment cmt"># There should be a line break after the cut mark, but we allow some</span>
1605
- 244: <span class="ruby-comment cmt"># spaces between the mark and the line break as well.</span>
1606
- 245: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">5</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-regexp re">/-8&lt;-\s*\n$/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">match</span>).<span class="ruby-identifier">nil?</span>
1607
- 246: <span class="ruby-ivar">@lineDelta</span> = <span class="ruby-value">1</span>
1608
- 247: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'junk_after_cut'</span>,
1609
- 248: <span class="ruby-value str">'The cut mark -8&lt;- must be immediately followed by a '</span> <span class="ruby-operator">+</span>
1610
- 249: <span class="ruby-value str">'line break.'</span>)
1611
- 250: <span class="ruby-keyword kw">end</span>
1612
- 251: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:szrString1</span>
1613
- 252: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-identifier">sourceFileInfo</span>
1614
- 253: <span class="ruby-ivar">@string</span> = <span class="ruby-value str">''</span>
1615
- 254: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1616
- 255: <span class="ruby-keyword kw">end</span></pre>
1612
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 255</span>
1613
+ 255: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">startStringSZR</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1614
+ 256: <span class="ruby-comment cmt"># There should be a line break after the cut mark, but we allow some</span>
1615
+ 257: <span class="ruby-comment cmt"># spaces between the mark and the line break as well.</span>
1616
+ 258: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">5</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-regexp re">/-8&lt;-\s*\n$/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">match</span>).<span class="ruby-identifier">nil?</span>
1617
+ 259: <span class="ruby-ivar">@lineDelta</span> = <span class="ruby-value">1</span>
1618
+ 260: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'junk_after_cut'</span>,
1619
+ 261: <span class="ruby-value str">'The cut mark -8&lt;- must be immediately followed by a '</span> <span class="ruby-operator">+</span>
1620
+ 262: <span class="ruby-value str">'line break.'</span>)
1621
+ 263: <span class="ruby-keyword kw">end</span>
1622
+ 264: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:szrString1</span>
1623
+ 265: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-identifier">sourceFileInfo</span>
1624
+ 266: <span class="ruby-ivar">@string</span> = <span class="ruby-value str">''</span>
1625
+ 267: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
1626
+ 268: <span class="ruby-keyword kw">end</span></pre>
1617
1627
  </div>
1618
1628
 
1619
1629
  </div>
@@ -1644,10 +1654,14 @@ to detect the tokens of the TJP syntax.
1644
1654
  <div class="method-source-code"
1645
1655
  id="to-date-source">
1646
1656
  <pre>
1647
- <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 169</span>
1648
- 169: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_date</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1649
- 170: [ <span class="ruby-identifier">type</span>, <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">match</span>) ]
1650
- 171: <span class="ruby-keyword kw">end</span></pre>
1657
+ <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 178</span>
1658
+ 178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_date</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1659
+ 179: <span class="ruby-keyword kw">begin</span>
1660
+ 180: [ <span class="ruby-identifier">type</span>, <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">match</span>) ]
1661
+ 181: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">msg</span>
1662
+ 182: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'time_error'</span>, <span class="ruby-identifier">msg</span>)
1663
+ 183: <span class="ruby-keyword kw">end</span>
1664
+ 184: <span class="ruby-keyword kw">end</span></pre>
1651
1665
  </div>
1652
1666
 
1653
1667
  </div>
@@ -1748,12 +1762,21 @@ to detect the tokens of the TJP syntax.
1748
1762
  <pre>
1749
1763
  <span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 161</span>
1750
1764
  161: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_time</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
1751
- 162: <span class="ruby-identifier">h</span>, <span class="ruby-identifier">m</span>, <span class="ruby-identifier">s</span> = <span class="ruby-identifier">match</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>)
1765
+ 162: <span class="ruby-identifier">h</span>, <span class="ruby-identifier">m</span> = <span class="ruby-identifier">match</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>)
1752
1766
  163: <span class="ruby-identifier">h</span> = <span class="ruby-identifier">h</span>.<span class="ruby-identifier">to_i</span>
1753
- 164: <span class="ruby-identifier">m</span> = <span class="ruby-identifier">m</span>.<span class="ruby-identifier">to_i</span>
1754
- 165: <span class="ruby-identifier">s</span> = <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">nil?</span>
1755
- 166: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">h</span> * <span class="ruby-value">3600</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">m</span> * <span class="ruby-value">60</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">s</span> ]
1756
- 167: <span class="ruby-keyword kw">end</span></pre>
1767
+ 164: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">24</span>
1768
+ 165: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'time_bad_hour'</span>, <span class="ruby-node">&quot;Hour #{h} out of range (0 - 24)&quot;</span>)
1769
+ 166: <span class="ruby-keyword kw">end</span>
1770
+ 167: <span class="ruby-identifier">m</span> = <span class="ruby-identifier">m</span>.<span class="ruby-identifier">to_i</span>
1771
+ 168: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">59</span>
1772
+ 169: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'time_bad_minute'</span>, <span class="ruby-node">&quot;Minute #{m} out of range (0 - 59)&quot;</span>)
1773
+ 170: <span class="ruby-keyword kw">end</span>
1774
+ 171: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">==</span> <span class="ruby-value">24</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
1775
+ 172: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'time_bad_time'</span>, <span class="ruby-node">&quot;Time #{match} cannot be larger then 24:00&quot;</span>)
1776
+ 173: <span class="ruby-keyword kw">end</span>
1777
+ 174:
1778
+ 175: [ <span class="ruby-identifier">type</span>, (<span class="ruby-identifier">h</span> * <span class="ruby-value">60</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">m</span>) * <span class="ruby-value">60</span> ]
1779
+ 176: <span class="ruby-keyword kw">end</span></pre>
1757
1780
  </div>
1758
1781
 
1759
1782
  </div>