taskjuggler 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +1144 -2047
- data/README +1 -1
- data/Rakefile +6 -6
- data/data/css/tjmanual.css +20 -0
- data/data/css/tjreport.css +7 -6
- data/doc/AppConfig.html +136 -130
- data/doc/Arguments.html +46 -40
- data/doc/CHANGELOG.html +1162 -2057
- data/doc/COPYING.html +8 -2
- data/doc/Object.html +205 -199
- data/doc/README.html +9 -3
- data/doc/RuntimeConfig.html +75 -69
- data/doc/String.html +69 -63
- data/doc/TaskJuggler.html +350 -291
- data/doc/TaskJuggler/Account.html +26 -20
- data/doc/TaskJuggler/AccountAttribute.html +24 -18
- data/doc/TaskJuggler/AccountScenario.html +24 -18
- data/doc/TaskJuggler/Allocation.html +74 -68
- data/doc/TaskJuggler/AllocationAttribute.html +54 -48
- data/doc/TaskJuggler/AttributeBase.html +172 -93
- data/doc/TaskJuggler/AttributeDefinition.html +22 -16
- data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
- data/doc/TaskJuggler/BatchProcessor.html +263 -257
- data/doc/TaskJuggler/Booking.html +44 -38
- data/doc/TaskJuggler/BookingListAttribute.html +25 -21
- data/doc/TaskJuggler/BooleanAttribute.html +24 -18
- data/doc/TaskJuggler/CSVFile.html +193 -187
- data/doc/TaskJuggler/CellSettingPattern.html +13 -7
- data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
- data/doc/TaskJuggler/Charge.html +49 -43
- data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
- data/doc/TaskJuggler/ChargeSet.html +94 -88
- data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
- data/doc/TaskJuggler/CollisionDetector.html +142 -136
- data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
- data/doc/TaskJuggler/ColumnTable.html +50 -44
- data/doc/TaskJuggler/Daemon.html +71 -50
- data/doc/TaskJuggler/DataCache.html +110 -58
- data/doc/TaskJuggler/DataCacheEntry.html +22 -16
- data/doc/TaskJuggler/DateAttribute.html +24 -18
- data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
- data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
- data/doc/TaskJuggler/DurationAttribute.html +25 -19
- data/doc/TaskJuggler/FileList.html +25 -19
- data/doc/TaskJuggler/FileRecord.html +17 -11
- data/doc/TaskJuggler/FixnumAttribute.html +16 -10
- data/doc/TaskJuggler/FlagListAttribute.html +25 -21
- data/doc/TaskJuggler/FloatAttribute.html +20 -14
- data/doc/TaskJuggler/FormatListAttribute.html +17 -11
- data/doc/TaskJuggler/GanttChart.html +242 -236
- data/doc/TaskJuggler/GanttContainer.html +71 -67
- data/doc/TaskJuggler/GanttHeader.html +113 -107
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
- data/doc/TaskJuggler/GanttLine.html +217 -210
- data/doc/TaskJuggler/GanttLoadStack.html +89 -83
- data/doc/TaskJuggler/GanttMilestone.html +11 -6
- data/doc/TaskJuggler/GanttRouter.html +194 -186
- data/doc/TaskJuggler/GanttTaskBar.html +41 -34
- data/doc/TaskJuggler/HTMLDocument.html +52 -46
- data/doc/TaskJuggler/HTMLGraphics.html +58 -52
- data/doc/TaskJuggler/Interval.html +90 -84
- data/doc/TaskJuggler/IntervalList.html +777 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
- data/doc/TaskJuggler/JobInfo.html +36 -30
- data/doc/TaskJuggler/Journal.html +188 -177
- data/doc/TaskJuggler/JournalEntry.html +36 -30
- data/doc/TaskJuggler/JournalEntryList.html +88 -82
- data/doc/TaskJuggler/KeywordArray.html +12 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
- data/doc/TaskJuggler/Limits.html +111 -105
- data/doc/TaskJuggler/Limits/Limit.html +71 -65
- data/doc/TaskJuggler/LimitsAttribute.html +21 -15
- data/doc/TaskJuggler/ListAttributeBase.html +16 -10
- data/doc/TaskJuggler/Log.html +111 -105
- data/doc/TaskJuggler/LogFile.html +54 -48
- data/doc/TaskJuggler/LogicalAttribute.html +35 -29
- data/doc/TaskJuggler/LogicalExpression.html +32 -26
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
- data/doc/TaskJuggler/LogicalFlag.html +24 -18
- data/doc/TaskJuggler/LogicalFunction.html +164 -158
- data/doc/TaskJuggler/LogicalOperation.html +138 -132
- data/doc/TaskJuggler/Macro.html +14 -8
- data/doc/TaskJuggler/MacroTable.html +42 -36
- data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
- data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
- data/doc/TaskJuggler/Message.html +56 -50
- data/doc/TaskJuggler/MessageHandler.html +73 -67
- data/doc/TaskJuggler/Navigator.html +92 -86
- data/doc/TaskJuggler/NavigatorElement.html +88 -82
- data/doc/TaskJuggler/NikuProject.html +15 -9
- data/doc/TaskJuggler/NikuReport.html +405 -370
- data/doc/TaskJuggler/NikuResource.html +13 -7
- data/doc/TaskJuggler/NodeListAttribute.html +13 -9
- data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
- data/doc/TaskJuggler/ProcessIntercom.html +116 -110
- data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
- data/doc/TaskJuggler/Project.html +1064 -895
- data/doc/TaskJuggler/ProjectBroker.html +439 -366
- data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
- data/doc/TaskJuggler/ProjectFileParser.html +329 -319
- data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
- data/doc/TaskJuggler/ProjectRecord.html +66 -60
- data/doc/TaskJuggler/ProjectServer.html +287 -280
- data/doc/TaskJuggler/ProjectServerIface.html +43 -37
- data/doc/TaskJuggler/PropertyAttribute.html +16 -10
- data/doc/TaskJuggler/PropertyList.html +205 -199
- data/doc/TaskJuggler/PropertySet.html +264 -296
- data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
- data/doc/TaskJuggler/Query.html +309 -524
- data/doc/TaskJuggler/RTFHandlers.html +17 -11
- data/doc/TaskJuggler/RTFNavigator.html +33 -27
- data/doc/TaskJuggler/RTFQuery.html +135 -129
- data/doc/TaskJuggler/RTFReport.html +63 -57
- data/doc/TaskJuggler/RTFReportLink.html +55 -49
- data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
- data/doc/TaskJuggler/RealFormat.html +64 -58
- data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
- data/doc/TaskJuggler/Report.html +294 -249
- data/doc/TaskJuggler/ReportBase.html +229 -223
- data/doc/TaskJuggler/ReportContext.html +52 -46
- data/doc/TaskJuggler/ReportServer.html +143 -137
- data/doc/TaskJuggler/ReportServerIface.html +51 -43
- data/doc/TaskJuggler/ReportServerRecord.html +36 -30
- data/doc/TaskJuggler/ReportServlet.html +167 -140
- data/doc/TaskJuggler/ReportTable.html +137 -131
- data/doc/TaskJuggler/ReportTableCell.html +332 -292
- data/doc/TaskJuggler/ReportTableColumn.html +46 -40
- data/doc/TaskJuggler/ReportTableLegend.html +43 -38
- data/doc/TaskJuggler/ReportTableLine.html +66 -60
- data/doc/TaskJuggler/Resource.html +166 -160
- data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
- data/doc/TaskJuggler/ResourceListRE.html +47 -41
- data/doc/TaskJuggler/ResourceScenario.html +671 -644
- data/doc/TaskJuggler/RichText.html +51 -45
- data/doc/TaskJuggler/RichTextAttribute.html +28 -22
- data/doc/TaskJuggler/RichTextDocument.html +96 -90
- data/doc/TaskJuggler/RichTextElement.html +503 -497
- data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
- data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
- data/doc/TaskJuggler/RichTextImage.html +14 -8
- data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
- data/doc/TaskJuggler/RichTextParser.html +59 -53
- data/doc/TaskJuggler/RichTextScanner.html +184 -178
- data/doc/TaskJuggler/RichTextSnip.html +69 -63
- data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
- data/doc/TaskJuggler/Scenario.html +13 -7
- data/doc/TaskJuggler/ScenarioData.html +40 -34
- data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
- data/doc/TaskJuggler/Scoreboard.html +129 -107
- data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
- data/doc/TaskJuggler/SheetReceiver.html +333 -327
- data/doc/TaskJuggler/SheetSender.html +227 -221
- data/doc/TaskJuggler/Shift.html +26 -20
- data/doc/TaskJuggler/ShiftAssignment.html +45 -39
- data/doc/TaskJuggler/ShiftAssignments.html +178 -172
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
- data/doc/TaskJuggler/ShiftScenario.html +29 -23
- data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
- data/doc/TaskJuggler/SortListAttribute.html +17 -13
- data/doc/TaskJuggler/SourceFileInfo.html +19 -13
- data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
- data/doc/TaskJuggler/StatusSheetReport.html +166 -159
- data/doc/TaskJuggler/StatusSheetSender.html +80 -74
- data/doc/TaskJuggler/StringAttribute.html +20 -14
- data/doc/TaskJuggler/SymbolAttribute.html +16 -10
- data/doc/TaskJuggler/SyntaxReference.html +231 -225
- data/doc/TaskJuggler/TOCEntry.html +46 -40
- data/doc/TaskJuggler/TSResourceRecord.html +15 -9
- data/doc/TaskJuggler/TSTaskRecord.html +16 -10
- data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
- data/doc/TaskJuggler/TableOfContents.html +28 -22
- data/doc/TaskJuggler/TableReport.html +906 -866
- data/doc/TaskJuggler/Task.html +99 -93
- data/doc/TaskJuggler/TaskDependency.html +24 -18
- data/doc/TaskJuggler/TaskListAttribute.html +29 -25
- data/doc/TaskJuggler/TaskListRE.html +46 -39
- data/doc/TaskJuggler/TaskScenario.html +2218 -1965
- data/doc/TaskJuggler/TextFormatter.html +154 -148
- data/doc/TaskJuggler/TextParser.html +362 -348
- data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
- data/doc/TaskJuggler/TextParser/Rule.html +147 -141
- data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
- data/doc/TaskJuggler/TextParser/State.html +88 -82
- data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
- data/doc/TaskJuggler/TextReport.html +80 -74
- data/doc/TaskJuggler/TextScanner.html +284 -272
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +123 -117
- data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
- data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
- data/doc/TaskJuggler/TimeSheetReport.html +206 -199
- data/doc/TaskJuggler/TimeSheetSender.html +27 -21
- data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
- data/doc/TaskJuggler/TimeSheets.html +20 -14
- data/doc/TaskJuggler/Tj3AppBase.html +100 -94
- data/doc/TaskJuggler/Tj3Client.html +407 -483
- data/doc/TaskJuggler/Tj3Daemon.html +116 -107
- data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
- data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3SsSender.html +64 -58
- data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3TsSender.html +51 -45
- data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
- data/doc/TaskJuggler/TjException.html +13 -7
- data/doc/TaskJuggler/TjTime.html +444 -438
- data/doc/TaskJuggler/TjpExample.html +84 -78
- data/doc/TaskJuggler/TjpExportRE.html +356 -349
- data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
- data/doc/TaskJuggler/URLParameter.html +16 -10
- data/doc/TaskJuggler/UserManual.html +185 -179
- data/doc/TaskJuggler/VimSyntax.html +144 -138
- data/doc/TaskJuggler/WebServer.html +46 -39
- data/doc/TaskJuggler/WelcomePage.html +769 -0
- data/doc/TaskJuggler/WorkingHours.html +185 -179
- data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
- data/doc/TaskJuggler/XMLBlob.html +21 -15
- data/doc/TaskJuggler/XMLComment.html +17 -11
- data/doc/TaskJuggler/XMLDocument.html +33 -27
- data/doc/TaskJuggler/XMLElement.html +97 -91
- data/doc/TaskJuggler/XMLNamedText.html +13 -7
- data/doc/TaskJuggler/XMLText.html +32 -26
- data/doc/index.html +601 -563
- data/doc/lib/AccountScenario_rb.html +5 -3
- data/doc/lib/Account_rb.html +5 -3
- data/doc/lib/Allocation_rb.html +5 -3
- data/doc/lib/AppConfig_rb.html +5 -3
- data/doc/lib/AttributeBase_rb.html +5 -3
- data/doc/lib/AttributeDefinition_rb.html +5 -3
- data/doc/lib/Attributes_rb.html +5 -3
- data/doc/lib/BatchProcessor_rb.html +5 -3
- data/doc/lib/Booking_rb.html +5 -3
- data/doc/lib/ChargeSet_rb.html +5 -3
- data/doc/lib/Charge_rb.html +5 -3
- data/doc/lib/DataCache_rb.html +5 -3
- data/doc/lib/FileList_rb.html +5 -3
- data/doc/lib/HTMLDocument_rb.html +5 -3
- data/doc/lib/IntervalList_rb.html +69 -0
- data/doc/lib/Interval_rb.html +5 -3
- data/doc/lib/Journal_rb.html +5 -3
- data/doc/lib/KeywordArray_rb.html +5 -3
- data/doc/lib/KeywordDocumentation_rb.html +5 -3
- data/doc/lib/Limits_rb.html +5 -3
- data/doc/lib/LogFile_rb.html +5 -3
- data/doc/lib/Log_rb.html +5 -3
- data/doc/lib/LogicalExpression_rb.html +5 -3
- data/doc/lib/LogicalFunction_rb.html +5 -3
- data/doc/lib/LogicalOperation_rb.html +5 -3
- data/doc/lib/MacroTable_rb.html +5 -3
- data/doc/lib/MessageHandler_rb.html +5 -3
- data/doc/lib/ProjectFileParser_rb.html +5 -3
- data/doc/lib/ProjectFileScanner_rb.html +5 -3
- data/doc/lib/Project_rb.html +5 -3
- data/doc/lib/PropertyList_rb.html +5 -3
- data/doc/lib/PropertySet_rb.html +5 -3
- data/doc/lib/PropertyTreeNode_rb.html +5 -3
- data/doc/lib/Query_rb.html +5 -3
- data/doc/lib/RTFHandlers_rb.html +5 -3
- data/doc/lib/RTFNavigator_rb.html +5 -3
- data/doc/lib/RTFQuery_rb.html +5 -3
- data/doc/lib/RTFReportLink_rb.html +5 -3
- data/doc/lib/RTFReport_rb.html +5 -3
- data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
- data/doc/lib/RealFormat_rb.html +5 -3
- data/doc/lib/ResourceScenario_rb.html +5 -3
- data/doc/lib/Resource_rb.html +5 -3
- data/doc/lib/RichTextDocument_rb.html +5 -3
- data/doc/lib/RichTextElement_rb.html +5 -3
- data/doc/lib/RichTextFunctionExample_rb.html +5 -3
- data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
- data/doc/lib/RichTextParser_rb.html +5 -3
- data/doc/lib/RichTextScanner_rb.html +5 -3
- data/doc/lib/RichTextSnip_rb.html +5 -3
- data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
- data/doc/lib/RichText_rb.html +5 -3
- data/doc/lib/RuntimeConfig_rb.html +5 -3
- data/doc/lib/ScenarioData_rb.html +5 -3
- data/doc/lib/Scenario_rb.html +5 -3
- data/doc/lib/Scoreboard_rb.html +7 -3
- data/doc/lib/SheetHandlerBase_rb.html +5 -3
- data/doc/lib/SheetReceiver_rb.html +5 -3
- data/doc/lib/SheetSender_rb.html +5 -3
- data/doc/lib/ShiftAssignments_rb.html +5 -3
- data/doc/lib/ShiftScenario_rb.html +5 -3
- data/doc/lib/Shift_rb.html +5 -3
- data/doc/lib/SimpleQueryExpander_rb.html +5 -3
- data/doc/lib/SourceFileInfo_rb.html +5 -3
- data/doc/lib/StatusSheetReceiver_rb.html +5 -3
- data/doc/lib/StatusSheetSender_rb.html +5 -3
- data/doc/lib/SyntaxReference_rb.html +5 -3
- data/doc/lib/TOCEntry_rb.html +5 -3
- data/doc/lib/TableColumnDefinition_rb.html +5 -3
- data/doc/lib/TableOfContents_rb.html +5 -3
- data/doc/lib/TaskDependency_rb.html +5 -3
- data/doc/lib/TaskJuggler_rb.html +5 -3
- data/doc/lib/TaskScenario_rb.html +5 -3
- data/doc/lib/Task_rb.html +5 -3
- data/doc/lib/TextFormatter_rb.html +6 -4
- data/doc/lib/TextParser/Pattern_rb.html +5 -3
- data/doc/lib/TextParser/Rule_rb.html +5 -3
- data/doc/lib/TextParser/StackElement_rb.html +5 -3
- data/doc/lib/TextParser/State_rb.html +6 -4
- data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
- data/doc/lib/TextParser_rb.html +5 -3
- data/doc/lib/TextScanner_rb.html +5 -3
- data/doc/lib/TimeSheetReceiver_rb.html +5 -3
- data/doc/lib/TimeSheetSender_rb.html +5 -3
- data/doc/lib/TimeSheetSummary_rb.html +6 -4
- data/doc/lib/TimeSheets_rb.html +5 -3
- data/doc/lib/Tj3AppBase_rb.html +5 -3
- data/doc/lib/Tj3Config_rb.html +5 -3
- data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
- data/doc/lib/TjException_rb.html +5 -3
- data/doc/lib/TjTime_rb.html +5 -3
- data/doc/lib/TjpExample_rb.html +5 -3
- data/doc/lib/TjpSyntaxRules_rb.html +5 -3
- data/doc/lib/URLParameter_rb.html +5 -3
- data/doc/lib/UTF8String_rb.html +5 -3
- data/doc/lib/UserManual_rb.html +5 -3
- data/doc/lib/VimSyntax_rb.html +6 -4
- data/doc/lib/WorkingHours_rb.html +5 -3
- data/doc/lib/XMLDocument_rb.html +5 -3
- data/doc/lib/XMLElement_rb.html +5 -3
- data/doc/lib/daemon/Daemon_rb.html +5 -3
- data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
- data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
- data/doc/lib/daemon/ProjectServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServlet_rb.html +69 -0
- data/doc/lib/daemon/WebServer_rb.html +9 -3
- data/doc/lib/daemon/WelcomePage_rb.html +71 -0
- data/doc/lib/deep_copy_rb.html +5 -3
- data/doc/lib/reports/CSVFile_rb.html +5 -3
- data/doc/lib/reports/CollisionDetector_rb.html +5 -3
- data/doc/lib/reports/ColumnTable_rb.html +5 -3
- data/doc/lib/reports/GanttChart_rb.html +5 -3
- data/doc/lib/reports/GanttContainer_rb.html +5 -3
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
- data/doc/lib/reports/GanttHeader_rb.html +5 -3
- data/doc/lib/reports/GanttLine_rb.html +5 -3
- data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
- data/doc/lib/reports/GanttMilestone_rb.html +5 -3
- data/doc/lib/reports/GanttRouter_rb.html +5 -3
- data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
- data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
- data/doc/lib/reports/Navigator_rb.html +5 -3
- data/doc/lib/reports/NikuReport_rb.html +5 -3
- data/doc/lib/reports/ReportBase_rb.html +5 -3
- data/doc/lib/reports/ReportContext_rb.html +5 -3
- data/doc/lib/reports/ReportTableCell_rb.html +5 -3
- data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
- data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
- data/doc/lib/reports/ReportTableLine_rb.html +5 -3
- data/doc/lib/reports/ReportTable_rb.html +5 -3
- data/doc/lib/reports/Report_rb.html +5 -3
- data/doc/lib/reports/ResourceListRE_rb.html +5 -3
- data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
- data/doc/lib/reports/TableReport_rb.html +5 -3
- data/doc/lib/reports/TaskListRE_rb.html +5 -3
- data/doc/lib/reports/TextReport_rb.html +5 -3
- data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
- data/doc/lib/reports/TjpExportRE_rb.html +5 -3
- data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
- data/doc/lib/tj3client_rb.html +5 -3
- data/doc/lib/tj3d_rb.html +6 -4
- data/doc/lib/tj3man_rb.html +5 -3
- data/doc/lib/tj3ss_receiver_rb.html +5 -3
- data/doc/lib/tj3ss_sender_rb.html +5 -3
- data/doc/lib/tj3ts_receiver_rb.html +5 -3
- data/doc/lib/tj3ts_sender_rb.html +5 -3
- data/doc/lib/tj3ts_summary_rb.html +5 -3
- data/examples/tutorial.tjp +13 -5
- data/gem_spec.rb +3 -0
- data/lib/Account.rb +2 -1
- data/lib/AccountScenario.rb +2 -1
- data/lib/Allocation.rb +2 -1
- data/lib/AppConfig.rb +2 -1
- data/lib/AttributeBase.rb +19 -5
- data/lib/AttributeDefinition.rb +2 -1
- data/lib/Attributes.rb +49 -38
- data/lib/BatchProcessor.rb +2 -1
- data/lib/Booking.rb +2 -1
- data/lib/Charge.rb +2 -1
- data/lib/ChargeSet.rb +2 -1
- data/lib/DataCache.rb +15 -1
- data/lib/FileList.rb +2 -1
- data/lib/HTMLDocument.rb +2 -1
- data/lib/Interval.rb +2 -1
- data/lib/IntervalList.rb +100 -0
- data/lib/Journal.rb +8 -2
- data/lib/KeywordArray.rb +2 -1
- data/lib/KeywordDocumentation.rb +10 -6
- data/lib/Limits.rb +2 -1
- data/lib/Log.rb +3 -2
- data/lib/LogFile.rb +2 -1
- data/lib/LogicalExpression.rb +2 -1
- data/lib/LogicalFunction.rb +2 -1
- data/lib/LogicalOperation.rb +2 -1
- data/lib/MacroTable.rb +2 -1
- data/lib/MessageHandler.rb +2 -1
- data/lib/Project.rb +92 -25
- data/lib/ProjectFileParser.rb +7 -2
- data/lib/ProjectFileScanner.rb +2 -1
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +2 -6
- data/lib/PropertyTreeNode.rb +22 -44
- data/lib/Query.rb +32 -13
- data/lib/RTFHandlers.rb +2 -1
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +3 -2
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +2 -1
- data/lib/RTFWithQuerySupport.rb +2 -1
- data/lib/RealFormat.rb +2 -1
- data/lib/Resource.rb +2 -1
- data/lib/ResourceScenario.rb +35 -14
- data/lib/RichText.rb +2 -1
- data/lib/RichTextDocument.rb +2 -1
- data/lib/RichTextElement.rb +2 -1
- data/lib/RichTextFunctionExample.rb +2 -1
- data/lib/RichTextFunctionHandler.rb +2 -1
- data/lib/RichTextParser.rb +2 -1
- data/lib/RichTextScanner.rb +2 -1
- data/lib/RichTextSnip.rb +2 -1
- data/lib/RichTextSyntaxRules.rb +2 -1
- data/lib/RuntimeConfig.rb +2 -1
- data/lib/Scenario.rb +2 -1
- data/lib/ScenarioData.rb +2 -1
- data/lib/Scoreboard.rb +27 -8
- data/lib/SheetHandlerBase.rb +2 -1
- data/lib/SheetReceiver.rb +2 -1
- data/lib/SheetSender.rb +2 -1
- data/lib/Shift.rb +2 -1
- data/lib/ShiftAssignments.rb +2 -1
- data/lib/ShiftScenario.rb +2 -1
- data/lib/SimpleQueryExpander.rb +2 -1
- data/lib/SourceFileInfo.rb +2 -1
- data/lib/StatusSheetReceiver.rb +2 -1
- data/lib/StatusSheetSender.rb +2 -1
- data/lib/SyntaxReference.rb +2 -1
- data/lib/TOCEntry.rb +2 -1
- data/lib/TableColumnDefinition.rb +9 -2
- data/lib/TableOfContents.rb +2 -1
- data/lib/Task.rb +2 -1
- data/lib/TaskDependency.rb +2 -1
- data/lib/TaskJuggler.rb +8 -6
- data/lib/TaskScenario.rb +337 -153
- data/lib/TextFormatter.rb +3 -2
- data/lib/TextParser.rb +7 -2
- data/lib/TextParser/Pattern.rb +2 -1
- data/lib/TextParser/Rule.rb +2 -1
- data/lib/TextParser/StackElement.rb +2 -1
- data/lib/TextParser/State.rb +3 -2
- data/lib/TextParser/TokenDoc.rb +2 -1
- data/lib/TextScanner.rb +12 -5
- data/lib/TimeSheetReceiver.rb +2 -1
- data/lib/TimeSheetSender.rb +2 -1
- data/lib/TimeSheetSummary.rb +3 -2
- data/lib/TimeSheets.rb +2 -1
- data/lib/Tj3AppBase.rb +6 -5
- data/lib/Tj3Config.rb +5 -4
- data/lib/Tj3SheetAppBase.rb +2 -1
- data/lib/TjException.rb +2 -1
- data/lib/TjTime.rb +2 -1
- data/lib/TjpExample.rb +2 -1
- data/lib/TjpSyntaxRules.rb +264 -65
- data/lib/URLParameter.rb +2 -1
- data/lib/UTF8String.rb +2 -1
- data/lib/UserManual.rb +2 -1
- data/lib/VimSyntax.rb +3 -2
- data/lib/WorkingHours.rb +2 -1
- data/lib/XMLDocument.rb +2 -1
- data/lib/XMLElement.rb +2 -1
- data/lib/daemon/Daemon.rb +3 -1
- data/lib/daemon/ProcessIntercom.rb +3 -1
- data/lib/daemon/ProjectBroker.rb +84 -32
- data/lib/daemon/ProjectServer.rb +5 -3
- data/lib/daemon/ReportServer.rb +8 -5
- data/lib/daemon/ReportServlet.rb +166 -0
- data/lib/daemon/WebServer.rb +6 -150
- data/lib/daemon/WelcomePage.rb +80 -0
- data/lib/deep_copy.rb +2 -1
- data/lib/reports/CSVFile.rb +2 -1
- data/lib/reports/CollisionDetector.rb +2 -1
- data/lib/reports/ColumnTable.rb +2 -1
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/GanttContainer.rb +3 -4
- data/lib/reports/GanttHeader.rb +2 -1
- data/lib/reports/GanttHeaderScaleItem.rb +2 -1
- data/lib/reports/GanttLine.rb +12 -10
- data/lib/reports/GanttLoadStack.rb +2 -1
- data/lib/reports/GanttMilestone.rb +3 -3
- data/lib/reports/GanttRouter.rb +4 -1
- data/lib/reports/GanttTaskBar.rb +9 -7
- data/lib/reports/HTMLGraphics.rb +2 -1
- data/lib/reports/Navigator.rb +2 -1
- data/lib/reports/NikuReport.rb +79 -49
- data/lib/reports/Report.rb +42 -10
- data/lib/reports/ReportBase.rb +2 -1
- data/lib/reports/ReportContext.rb +2 -1
- data/lib/reports/ReportTable.rb +2 -1
- data/lib/reports/ReportTableCell.rb +63 -28
- data/lib/reports/ReportTableColumn.rb +2 -1
- data/lib/reports/ReportTableLegend.rb +5 -5
- data/lib/reports/ReportTableLine.rb +2 -1
- data/lib/reports/ResourceListRE.rb +2 -1
- data/lib/reports/StatusSheetReport.rb +4 -2
- data/lib/reports/TableReport.rb +42 -38
- data/lib/reports/TaskListRE.rb +4 -2
- data/lib/reports/TextReport.rb +2 -1
- data/lib/reports/TimeSheetReport.rb +4 -2
- data/lib/reports/TjpExportRE.rb +4 -2
- data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
- data/lib/tj3client.rb +19 -36
- data/lib/tj3d.rb +6 -2
- data/lib/tj3man.rb +4 -3
- data/lib/tj3ss_receiver.rb +2 -1
- data/lib/tj3ss_sender.rb +2 -1
- data/lib/tj3ts_receiver.rb +2 -1
- data/lib/tj3ts_sender.rb +2 -1
- data/lib/tj3ts_summary.rb +2 -1
- data/manual/Day_To_Day_Juggling +36 -0
- data/manual/How_To_Contribute +9 -4
- data/manual/Installation +10 -3
- data/manual/TaskJuggler_Internals +0 -2
- data/manual/Tutorial +25 -3
- data/prj_cfg.rb +4 -2
- data/spec/IntervalList_spec.rb +138 -0
- data/spec/ProjectBroker_spec.rb +133 -0
- data/tasks/changelog.rake +41 -24
- data/tasks/csts.rake +1 -0
- data/tasks/gem.rake +1 -0
- data/tasks/rcov.rake +1 -1
- data/tasks/spec.rake +7 -0
- data/tasks/test.rake +1 -0
- data/test/MessageChecker.rb +2 -1
- data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
- data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
- data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
- data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
- data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
- data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
- data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
- data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
- data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/StatusSheets/sender.log +256 -0
- data/test/TestSuite/StatusSheets/statussheets.log +9 -0
- data/test/TestSuite/StatusSheets/tj3d.log +395 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
- data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
- data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
- data/test/all.rb +2 -4
- data/test/test_BatchProcessor.rb +2 -1
- data/test/test_CSV-Reports.rb +34 -23
- data/test/test_CSVFile.rb +2 -1
- data/test/test_CollisionDetector.rb +3 -2
- data/test/test_Journal.rb +2 -1
- data/test/test_Limits.rb +2 -1
- data/test/test_LogicalExpression.rb +2 -1
- data/test/test_MacroTable.rb +2 -1
- data/test/test_Project.rb +3 -2
- data/test/test_ProjectFileScanner.rb +2 -1
- data/test/test_PropertySet.rb +2 -1
- data/test/test_Query.rb +2 -1
- data/test/test_RealFormat.rb +2 -1
- data/test/test_ReportGenerator.rb +2 -1
- data/test/test_RichText.rb +2 -1
- data/test/test_Scheduler.rb +2 -1
- data/test/test_ShiftAssignments.rb +2 -1
- data/test/test_SimpleQueryExpander.rb +2 -1
- data/test/test_Syntax.rb +2 -1
- data/test/test_TextFormatter.rb +3 -2
- data/test/test_TjTime.rb +2 -1
- data/test/test_TjpExample.rb +2 -1
- data/test/test_URLParameter.rb +2 -1
- data/test/test_UTF8String.rb +2 -1
- data/test/test_WorkingHours.rb +2 -1
- data/test/test_deep_copy.rb +2 -1
- metadata +74 -20
- data/doc/StringIO.html +0 -595
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
- data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
|
@@ -179,6 +179,8 @@
|
|
|
179
179
|
|
|
180
180
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
181
181
|
|
|
182
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
183
|
+
|
|
182
184
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
183
185
|
|
|
184
186
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -257,6 +259,8 @@
|
|
|
257
259
|
|
|
258
260
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
259
261
|
|
|
262
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
263
|
+
|
|
260
264
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
261
265
|
|
|
262
266
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -289,6 +293,8 @@
|
|
|
289
293
|
|
|
290
294
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
291
295
|
|
|
296
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
297
|
+
|
|
292
298
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
293
299
|
|
|
294
300
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -569,6 +575,8 @@
|
|
|
569
575
|
|
|
570
576
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
571
577
|
|
|
578
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
579
|
+
|
|
572
580
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
573
581
|
|
|
574
582
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -595,8 +603,6 @@
|
|
|
595
603
|
|
|
596
604
|
<li><a href="../String.html">String</a></li>
|
|
597
605
|
|
|
598
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
599
|
-
|
|
600
606
|
</ul>
|
|
601
607
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
602
608
|
</div>
|
|
@@ -648,136 +654,136 @@ to detect the tokens of the TJP syntax.
|
|
|
648
654
|
<div class="method-source-code"
|
|
649
655
|
id="new-source">
|
|
650
656
|
<pre>
|
|
651
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
657
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 22</span>
|
|
658
|
+
22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">masterFile</span>, <span class="ruby-identifier">messageHandler</span>)
|
|
659
|
+
23: <span class="ruby-identifier">tokenPatterns</span> = [
|
|
660
|
+
24: <span class="ruby-comment cmt"># Any white spaces</span>
|
|
661
|
+
25: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/\s+/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'newPos'</span>) ],
|
|
662
|
+
26:
|
|
663
|
+
27: <span class="ruby-comment cmt"># Single line comments starting with #</span>
|
|
664
|
+
28: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-node">/#.*\n?/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'newPos'</span>) ],
|
|
665
|
+
29:
|
|
666
|
+
30: <span class="ruby-comment cmt"># C++ style single line comments starting with //</span>
|
|
667
|
+
31: [ <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">'newPos'</span>) ],
|
|
668
|
+
32:
|
|
669
|
+
33: <span class="ruby-comment cmt"># C style single line comment /* .. */.</span>
|
|
670
|
+
34: [ <span class="ruby-keyword kw">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">'newPos'</span>) ],
|
|
671
|
+
35:
|
|
672
|
+
36: <span class="ruby-comment cmt"># C style multi line comment: We need three patterns here. The first</span>
|
|
673
|
+
37: <span class="ruby-comment cmt"># one is for the start of the string. It switches the scanner mode to</span>
|
|
674
|
+
38: <span class="ruby-comment cmt"># the :cppComment mode.</span>
|
|
675
|
+
39: [ <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">'startComment'</span>) ],
|
|
676
|
+
40: <span class="ruby-comment cmt"># This is the string end pattern. It switches back to tjp mode.</span>
|
|
677
|
+
41: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/.*\*\//</span>, <span class="ruby-value">:cppComment</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endComment'</span>) ],
|
|
678
|
+
42: <span class="ruby-comment cmt"># This pattern matches string lines that contain neither the start,</span>
|
|
679
|
+
43: <span class="ruby-comment cmt"># nor the end of the string.</span>
|
|
680
|
+
44: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/^.*\n/</span>, <span class="ruby-value">:cppComment</span> ],
|
|
681
|
+
45:
|
|
682
|
+
46: <span class="ruby-comment cmt"># Macro Call: This case is more complicated because we want to replace</span>
|
|
683
|
+
47: <span class="ruby-comment cmt"># macro calls inside of numbers, strings and identifiers. For this to</span>
|
|
684
|
+
48: <span class="ruby-comment cmt"># work, macro calls may have a prefix that looks like a number, a part</span>
|
|
685
|
+
49: <span class="ruby-comment cmt"># of a string or an identifier. This prefix is preserved and</span>
|
|
686
|
+
50: <span class="ruby-comment cmt"># re-injected into the scanner together with the expanded text. Macro</span>
|
|
687
|
+
51: <span class="ruby-comment cmt"># calls may span multiple lines. The ${ and the macro name must be in</span>
|
|
688
|
+
52: <span class="ruby-comment cmt"># the first line. Arguments that span multiple lines are not</span>
|
|
689
|
+
53: <span class="ruby-comment cmt"># supported. As above, we need rules for the start, the end and lines</span>
|
|
690
|
+
54: <span class="ruby-comment cmt"># with neither start nor end. Macro calls inside of strings need a</span>
|
|
691
|
+
55: <span class="ruby-comment cmt"># special start pattern that is active in the string modes. Both</span>
|
|
692
|
+
56: <span class="ruby-comment cmt"># patterns switch the scanner to macroCall mode.</span>
|
|
693
|
+
57: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/([-a-zA-Z_0-9>:.+]*|"(\\"|[^"])*?|'(\\'|[^'])*?)?\$\{\s*([a-zA-Z_]\w*)(\s*"(\\"|[^"])*")*/</span>,
|
|
694
|
+
58: <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startMacroCall'</span>) ],
|
|
695
|
+
59: <span class="ruby-comment cmt"># This pattern is similar to the previous one, but is active inside of</span>
|
|
696
|
+
60: <span class="ruby-comment cmt"># multi-line strings. The corresponding rule for sizzors strings</span>
|
|
697
|
+
61: <span class="ruby-comment cmt"># can be found below.</span>
|
|
698
|
+
62: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/(\\"|[^"])*?\$\{\s*([a-zA-Z_]\w*)(\s*"(\\"|[^"])*")*/</span>,
|
|
699
|
+
63: <span class="ruby-value">:dqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startMacroCall'</span>) ],
|
|
700
|
+
64: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/(\\'|[^'])*?\$\{\s*([a-zA-Z_]\w*)(\s*"(\\"|[^"])*")*/</span>,
|
|
701
|
+
65: <span class="ruby-value">:sqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startMacroCall'</span>) ],
|
|
702
|
+
66: <span class="ruby-comment cmt"># This pattern matches the end of a macro call. It injects the prefix</span>
|
|
703
|
+
67: <span class="ruby-comment cmt"># and the expanded macro into the scanner again. The mode is restored</span>
|
|
704
|
+
68: <span class="ruby-comment cmt"># to the previous mode.</span>
|
|
705
|
+
69: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/(\s*"(\\"|[^"])*")*\s*\}/</span>, <span class="ruby-value">:macroCall</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endMacroCall'</span>) ],
|
|
706
|
+
70: <span class="ruby-comment cmt"># This pattern collects macro call arguments in lines that contain</span>
|
|
707
|
+
71: <span class="ruby-comment cmt"># neither the start nor the end of the macro.</span>
|
|
708
|
+
72: [ <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>) ],
|
|
709
|
+
73:
|
|
710
|
+
74: <span class="ruby-comment cmt"># An ID with a colon suffix: foo:</span>
|
|
711
|
+
75: [ <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>) ],
|
|
712
|
+
76:
|
|
713
|
+
77: <span class="ruby-comment cmt"># An absolute ID: a.b.c</span>
|
|
714
|
+
78: [ <span class="ruby-value">:ABSOLUTE_ID</span>, <span class="ruby-regexp re">/[a-zA-Z_]\w*(\.[a-zA-Z_]\w*)+/</span> ],
|
|
715
|
+
79:
|
|
716
|
+
80: <span class="ruby-comment cmt"># A normal ID: bar</span>
|
|
717
|
+
81: [ <span class="ruby-value">:ID</span>, <span class="ruby-regexp re">/[a-zA-Z_]\w*/</span> ],
|
|
718
|
+
82:
|
|
719
|
+
83: <span class="ruby-comment cmt"># A date</span>
|
|
720
|
+
84: [ <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>) ],
|
|
721
|
+
85:
|
|
722
|
+
86: <span class="ruby-comment cmt"># A time of day</span>
|
|
723
|
+
87: [ <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>) ],
|
|
724
|
+
88:
|
|
725
|
+
89: <span class="ruby-comment cmt"># A floating point number (e. g. 3.143)</span>
|
|
726
|
+
90: [ <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>) ],
|
|
727
|
+
91:
|
|
728
|
+
92: <span class="ruby-comment cmt"># An integer number</span>
|
|
729
|
+
93: [ <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>) ],
|
|
730
|
+
94:
|
|
731
|
+
95: <span class="ruby-comment cmt"># Multi line string enclosed with double quotes. The string may</span>
|
|
732
|
+
96: <span class="ruby-comment cmt"># contain double quotes prefixed by a backslash. The first rule</span>
|
|
733
|
+
97: <span class="ruby-comment cmt"># switches the scanner to dqString mode.</span>
|
|
734
|
+
98: [ <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">'startStringDQ'</span>) ],
|
|
735
|
+
99: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
|
|
736
|
+
100: [ <span class="ruby-value str">'nil'</span>, <span class="ruby-regexp re">/^(\\"|[^"])*\n/</span>, <span class="ruby-value">:dqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'midStringDQ'</span>) ],
|
|
737
|
+
101: <span class="ruby-comment cmt"># The end of the string.</span>
|
|
738
|
+
102: [ <span class="ruby-value">:STRING</span>, <span class="ruby-regexp re">/(\\"|[^"])*"/</span>, <span class="ruby-value">:dqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringDQ'</span>) ],
|
|
739
|
+
103:
|
|
740
|
+
104: <span class="ruby-comment cmt"># Multi line string enclosed with single quotes.</span>
|
|
741
|
+
105: [ <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>) ],
|
|
742
|
+
106: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
|
|
743
|
+
107: [ <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>) ],
|
|
744
|
+
108: <span class="ruby-comment cmt"># The end of the string.</span>
|
|
745
|
+
109: [ <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>) ],
|
|
746
|
+
110:
|
|
747
|
+
111: <span class="ruby-comment cmt"># Scizzors marked string -8<- ... ->8-: The opening mark must be the</span>
|
|
748
|
+
112: <span class="ruby-comment cmt"># last thing in the line. The indentation of the first line after the</span>
|
|
749
|
+
113: <span class="ruby-comment cmt"># opening mark determines the indentation for all following lines. So,</span>
|
|
750
|
+
114: <span class="ruby-comment cmt"># we first switch the scanner to szrString1 mode.</span>
|
|
751
|
+
115: [ <span class="ruby-value str">'nil'</span>, <span class="ruby-regexp re">/-8<-.*\n/</span>, <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startStringSZR'</span>) ],
|
|
752
|
+
116: <span class="ruby-comment cmt"># Since the first line can be the last line (empty string case), we</span>
|
|
753
|
+
117: <span class="ruby-comment cmt"># need to detect the end in szrString1 and szrString mode. The</span>
|
|
754
|
+
118: <span class="ruby-comment cmt"># patterns switch the scanner back to tjp mode.</span>
|
|
755
|
+
119: [ <span class="ruby-value">:STRING</span>, <span class="ruby-regexp re">/\s*->8-/</span>, <span class="ruby-value">:szrString1</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringSZR'</span>) ],
|
|
756
|
+
120: [ <span class="ruby-value">:STRING</span>, <span class="ruby-regexp re">/\s*->8-/</span>, <span class="ruby-value">:szrString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringSZR'</span>) ],
|
|
757
|
+
121: <span class="ruby-comment cmt"># This rule handles macros inside of sizzors strings.</span>
|
|
758
|
+
122: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/.*?\$\{\s*([a-zA-Z_]\w*)(\s*"(\\"|[^"])*")*/</span>,
|
|
759
|
+
123: [ <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>) ],
|
|
760
|
+
124: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
|
|
761
|
+
125: [ <span class="ruby-value str">'nil'</span>, <span class="ruby-regexp re">/.*\n/</span>, <span class="ruby-value">:szrString1</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'firstStringSZR'</span>) ],
|
|
762
|
+
126: [ <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>) ],
|
|
763
|
+
127:
|
|
764
|
+
128: <span class="ruby-comment cmt"># Single line macro definition</span>
|
|
765
|
+
129: [ <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>) ],
|
|
766
|
+
130:
|
|
767
|
+
131: <span class="ruby-comment cmt"># Multi line macro definition: The pattern switches the scanner into</span>
|
|
768
|
+
132: <span class="ruby-comment cmt"># macroDef mode.</span>
|
|
769
|
+
133: [ <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>) ],
|
|
770
|
+
134: <span class="ruby-comment cmt"># The end of the macro is marked by a ']' that is immediately followed</span>
|
|
771
|
+
135: <span class="ruby-comment cmt"># by a line break. It switches the scanner back to tjp mode.</span>
|
|
772
|
+
136: [ <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>) ],
|
|
773
|
+
137: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
|
|
774
|
+
138: [ <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>) ],
|
|
775
|
+
139:
|
|
776
|
+
140: <span class="ruby-comment cmt"># Some multi-char literals.</span>
|
|
777
|
+
141: [ <span class="ruby-value">:LITERAL</span>, <span class="ruby-regexp re">/<=?/</span> ],
|
|
778
|
+
142: [ <span class="ruby-value">:LITERAL</span>, <span class="ruby-regexp re">/>=?/</span> ],
|
|
779
|
+
143: [ <span class="ruby-value">:LITERAL</span>, <span class="ruby-regexp re">/!=?/</span> ],
|
|
780
|
+
144:
|
|
781
|
+
145: <span class="ruby-comment cmt"># Everything else is returned as a single-char literal.</span>
|
|
782
|
+
146: [ <span class="ruby-value">:LITERAL</span>, <span class="ruby-regexp re">/./</span> ]
|
|
783
|
+
147: ]
|
|
784
|
+
148:
|
|
785
|
+
149: <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>)
|
|
786
|
+
150: <span class="ruby-keyword kw">end</span></pre>
|
|
781
787
|
</div>
|
|
782
788
|
|
|
783
789
|
</div>
|
|
@@ -814,10 +820,10 @@ to detect the tokens of the TJP syntax.
|
|
|
814
820
|
<div class="method-source-code"
|
|
815
821
|
id="chop-source">
|
|
816
822
|
<pre>
|
|
817
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
823
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 192</span>
|
|
824
|
+
192: <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>)
|
|
825
|
+
193: [ <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>] ]
|
|
826
|
+
194: <span class="ruby-keyword kw">end</span></pre>
|
|
821
827
|
</div>
|
|
822
828
|
|
|
823
829
|
</div>
|
|
@@ -848,11 +854,11 @@ to detect the tokens of the TJP syntax.
|
|
|
848
854
|
<div class="method-source-code"
|
|
849
855
|
id="chop--source">
|
|
850
856
|
<pre>
|
|
851
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
857
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 196</span>
|
|
858
|
+
196: <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>)
|
|
859
|
+
197: <span class="ruby-comment cmt"># Remove first and last character.</span>
|
|
860
|
+
198: [ <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>] ]
|
|
861
|
+
199: <span class="ruby-keyword kw">end</span></pre>
|
|
856
862
|
</div>
|
|
857
863
|
|
|
858
864
|
</div>
|
|
@@ -883,11 +889,11 @@ to detect the tokens of the TJP syntax.
|
|
|
883
889
|
<div class="method-source-code"
|
|
884
890
|
id="chop-nl-source">
|
|
885
891
|
<pre>
|
|
886
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
892
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 201</span>
|
|
893
|
+
201: <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>)
|
|
894
|
+
202: <span class="ruby-comment cmt"># remove first and last 2 characters.</span>
|
|
895
|
+
203: [ <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>] ]
|
|
896
|
+
204: <span class="ruby-keyword kw">end</span></pre>
|
|
891
897
|
</div>
|
|
892
898
|
|
|
893
899
|
</div>
|
|
@@ -918,11 +924,11 @@ to detect the tokens of the TJP syntax.
|
|
|
918
924
|
<div class="method-source-code"
|
|
919
925
|
id="end-omment-source">
|
|
920
926
|
<pre>
|
|
921
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
927
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 211</span>
|
|
928
|
+
211: <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>)
|
|
929
|
+
212: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
|
|
930
|
+
213: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
931
|
+
214: <span class="ruby-keyword kw">end</span></pre>
|
|
926
932
|
</div>
|
|
927
933
|
|
|
928
934
|
</div>
|
|
@@ -953,48 +959,48 @@ to detect the tokens of the TJP syntax.
|
|
|
953
959
|
<div class="method-source-code"
|
|
954
960
|
id="end-acro-all-source">
|
|
955
961
|
<pre>
|
|
956
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
962
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 325</span>
|
|
963
|
+
325: <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>)
|
|
964
|
+
326: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-ivar">@macroCallPreviousMode</span>
|
|
965
|
+
327: <span class="ruby-ivar">@macroCall</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>
|
|
966
|
+
328:
|
|
967
|
+
329: <span class="ruby-comment cmt"># Store any characters that precede the ${ in prefix and remove it from</span>
|
|
968
|
+
330: <span class="ruby-comment cmt"># @macroCall.</span>
|
|
969
|
+
331: <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">></span> <span class="ruby-value">0</span>
|
|
970
|
+
332: <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>)]
|
|
971
|
+
333: <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>]
|
|
972
|
+
334: <span class="ruby-keyword kw">else</span>
|
|
973
|
+
335: <span class="ruby-identifier">prefix</span> = <span class="ruby-value str">''</span>
|
|
974
|
+
336: <span class="ruby-keyword kw">end</span>
|
|
975
|
+
337:
|
|
976
|
+
338: <span class="ruby-comment cmt"># Remove '${' and '}'</span>
|
|
977
|
+
339: <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>]
|
|
978
|
+
340: <span class="ruby-comment cmt"># Extract the macro name.</span>
|
|
979
|
+
341: <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>
|
|
980
|
+
342: <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">prefix</span>, [ <span class="ruby-identifier">argsStr</span> ])
|
|
981
|
+
343: <span class="ruby-keyword kw">else</span>
|
|
982
|
+
344: <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>)]
|
|
983
|
+
345: <span class="ruby-comment cmt"># Remove the name part from argsStr</span>
|
|
984
|
+
346: <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>]
|
|
985
|
+
347: <span class="ruby-comment cmt"># Array to hold the arguments</span>
|
|
986
|
+
348: <span class="ruby-identifier">args</span> = []
|
|
987
|
+
349: <span class="ruby-comment cmt"># We use another StringScanner to clean the double quotes.</span>
|
|
988
|
+
350: <span class="ruby-identifier">scanner</span> = <span class="ruby-constant">StringScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">argsStr</span>)
|
|
989
|
+
351: <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*"/</span>))
|
|
990
|
+
352: <span class="ruby-identifier">args</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/(\\"|[^"])*/</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\\"/</span>, <span class="ruby-value str">'"'</span>)
|
|
991
|
+
353: <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/"\s*/</span>)
|
|
992
|
+
354: <span class="ruby-keyword kw">end</span>
|
|
993
|
+
355:
|
|
994
|
+
356: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">eos?</span>
|
|
995
|
+
357: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Junk found at end of macro: #{argsStr[scanner.pos..-1]}"</span>
|
|
996
|
+
358: <span class="ruby-keyword kw">end</span>
|
|
997
|
+
359:
|
|
998
|
+
360: <span class="ruby-comment cmt"># Expand the macro and inject it into the scanner.</span>
|
|
999
|
+
361: <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>)
|
|
1000
|
+
362: <span class="ruby-keyword kw">end</span>
|
|
1001
|
+
363:
|
|
1002
|
+
364: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1003
|
+
365: <span class="ruby-keyword kw">end</span></pre>
|
|
998
1004
|
</div>
|
|
999
1005
|
|
|
1000
1006
|
</div>
|
|
@@ -1025,13 +1031,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1025
1031
|
<div class="method-source-code"
|
|
1026
1032
|
id="end-acro-ef-source">
|
|
1027
1033
|
<pre>
|
|
1028
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1034
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 306</span>
|
|
1035
|
+
306: <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>)
|
|
1036
|
+
307: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
|
|
1037
|
+
308: <span class="ruby-comment cmt"># Remove "]\n"</span>
|
|
1038
|
+
309: <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>]
|
|
1039
|
+
310: [ <span class="ruby-value">:MACRO</span>, <span class="ruby-ivar">@macroDef</span> ]
|
|
1040
|
+
311: <span class="ruby-keyword kw">end</span></pre>
|
|
1035
1041
|
</div>
|
|
1036
1042
|
|
|
1037
1043
|
</div>
|
|
@@ -1062,13 +1068,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1062
1068
|
<div class="method-source-code"
|
|
1063
1069
|
id="end-tring--source">
|
|
1064
1070
|
<pre>
|
|
1065
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1071
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 229</span>
|
|
1072
|
+
229: <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>)
|
|
1073
|
+
230: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
|
|
1074
|
+
231: <span class="ruby-comment cmt"># Remove the trailing " and remove the backslashes from escaped ".</span>
|
|
1075
|
+
232: <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">'"'</span>)
|
|
1076
|
+
233: [ <span class="ruby-value">:STRING</span>, <span class="ruby-ivar">@string</span> ]
|
|
1077
|
+
234: <span class="ruby-keyword kw">end</span></pre>
|
|
1072
1078
|
</div>
|
|
1073
1079
|
|
|
1074
1080
|
</div>
|
|
@@ -1099,13 +1105,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1099
1105
|
<div class="method-source-code"
|
|
1100
1106
|
id="end-tring--source">
|
|
1101
1107
|
<pre>
|
|
1102
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1108
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 249</span>
|
|
1109
|
+
249: <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>)
|
|
1110
|
+
250: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
|
|
1111
|
+
251: <span class="ruby-comment cmt"># Remove the trailing ' and remove the backslashes from escaped '.</span>
|
|
1112
|
+
252: <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">"'"</span>)
|
|
1113
|
+
253: [ <span class="ruby-value">:STRING</span>, <span class="ruby-ivar">@string</span> ]
|
|
1114
|
+
254: <span class="ruby-keyword kw">end</span></pre>
|
|
1109
1115
|
</div>
|
|
1110
1116
|
|
|
1111
1117
|
</div>
|
|
@@ -1136,11 +1142,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1136
1142
|
<div class="method-source-code"
|
|
1137
1143
|
id="end-tring--source">
|
|
1138
1144
|
<pre>
|
|
1139
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1145
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 289</span>
|
|
1146
|
+
289: <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>)
|
|
1147
|
+
290: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
|
|
1148
|
+
291: [ <span class="ruby-value">:STRING</span>, <span class="ruby-ivar">@string</span> ]
|
|
1149
|
+
292: <span class="ruby-keyword kw">end</span></pre>
|
|
1144
1150
|
</div>
|
|
1145
1151
|
|
|
1146
1152
|
</div>
|
|
@@ -1171,13 +1177,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1171
1177
|
<div class="method-source-code"
|
|
1172
1178
|
id="first-tring--source">
|
|
1173
1179
|
<pre>
|
|
1174
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1180
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 271</span>
|
|
1181
|
+
271: <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>)
|
|
1182
|
+
272: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:szrString</span>
|
|
1183
|
+
273: <span class="ruby-comment cmt"># Split the leading indentation and the rest of the string.</span>
|
|
1184
|
+
274: <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>]
|
|
1185
|
+
275: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1186
|
+
276: <span class="ruby-keyword kw">end</span></pre>
|
|
1181
1187
|
</div>
|
|
1182
1188
|
|
|
1183
1189
|
</div>
|
|
@@ -1208,11 +1214,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1208
1214
|
<div class="method-source-code"
|
|
1209
1215
|
id="mid-acro-all-source">
|
|
1210
1216
|
<pre>
|
|
1211
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1217
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 320</span>
|
|
1218
|
+
320: <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>)
|
|
1219
|
+
321: <span class="ruby-ivar">@macroCall</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>
|
|
1220
|
+
322: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1221
|
+
323: <span class="ruby-keyword kw">end</span></pre>
|
|
1216
1222
|
</div>
|
|
1217
1223
|
|
|
1218
1224
|
</div>
|
|
@@ -1243,11 +1249,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1243
1249
|
<div class="method-source-code"
|
|
1244
1250
|
id="mid-acro-ef-source">
|
|
1245
1251
|
<pre>
|
|
1246
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1252
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 301</span>
|
|
1253
|
+
301: <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>)
|
|
1254
|
+
302: <span class="ruby-ivar">@macroDef</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">match</span>
|
|
1255
|
+
303: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1256
|
+
304: <span class="ruby-keyword kw">end</span></pre>
|
|
1251
1257
|
</div>
|
|
1252
1258
|
|
|
1253
1259
|
</div>
|
|
@@ -1278,12 +1284,12 @@ to detect the tokens of the TJP syntax.
|
|
|
1278
1284
|
<div class="method-source-code"
|
|
1279
1285
|
id="mid-tring--source">
|
|
1280
1286
|
<pre>
|
|
1281
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 223</span>
|
|
1288
|
+
223: <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>)
|
|
1289
|
+
224: <span class="ruby-comment cmt"># Remove the backslashes from escaped ".</span>
|
|
1290
|
+
225: <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">'"'</span>)
|
|
1291
|
+
226: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1292
|
+
227: <span class="ruby-keyword kw">end</span></pre>
|
|
1287
1293
|
</div>
|
|
1288
1294
|
|
|
1289
1295
|
</div>
|
|
@@ -1314,12 +1320,12 @@ to detect the tokens of the TJP syntax.
|
|
|
1314
1320
|
<div class="method-source-code"
|
|
1315
1321
|
id="mid-tring--source">
|
|
1316
1322
|
<pre>
|
|
1317
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 243</span>
|
|
1324
|
+
243: <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>)
|
|
1325
|
+
244: <span class="ruby-comment cmt"># Remove the backslashes from escaped '.</span>
|
|
1326
|
+
245: <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">"'"</span>)
|
|
1327
|
+
246: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1328
|
+
247: <span class="ruby-keyword kw">end</span></pre>
|
|
1323
1329
|
</div>
|
|
1324
1330
|
|
|
1325
1331
|
</div>
|
|
@@ -1350,17 +1356,17 @@ to detect the tokens of the TJP syntax.
|
|
|
1350
1356
|
<div class="method-source-code"
|
|
1351
1357
|
id="mid-tring--source">
|
|
1352
1358
|
<pre>
|
|
1353
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1359
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 278</span>
|
|
1360
|
+
278: <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>)
|
|
1361
|
+
279: <span class="ruby-comment cmt"># Ignore all the characters from the begining of match that are the same</span>
|
|
1362
|
+
280: <span class="ruby-comment cmt"># in @indent.</span>
|
|
1363
|
+
281: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
|
|
1364
|
+
282: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">i</span> <span class="ruby-operator"><</span> <span class="ruby-ivar">@indent</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&&</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>]
|
|
1365
|
+
283: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
|
|
1366
|
+
284: <span class="ruby-keyword kw">end</span>
|
|
1367
|
+
285: <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>]
|
|
1368
|
+
286: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1369
|
+
287: <span class="ruby-keyword kw">end</span></pre>
|
|
1364
1370
|
</div>
|
|
1365
1371
|
|
|
1366
1372
|
</div>
|
|
@@ -1391,11 +1397,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1391
1397
|
<div class="method-source-code"
|
|
1392
1398
|
id="new-os-source">
|
|
1393
1399
|
<pre>
|
|
1394
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1400
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 187</span>
|
|
1401
|
+
187: <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>)
|
|
1402
|
+
188: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-identifier">sourceFileInfo</span>
|
|
1403
|
+
189: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1404
|
+
190: <span class="ruby-keyword kw">end</span></pre>
|
|
1399
1405
|
</div>
|
|
1400
1406
|
|
|
1401
1407
|
</div>
|
|
@@ -1426,11 +1432,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1426
1432
|
<div class="method-source-code"
|
|
1427
1433
|
id="start-omment-source">
|
|
1428
1434
|
<pre>
|
|
1429
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1435
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 206</span>
|
|
1436
|
+
206: <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>)
|
|
1437
|
+
207: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:cppComment</span>
|
|
1438
|
+
208: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1439
|
+
209: <span class="ruby-keyword kw">end</span></pre>
|
|
1434
1440
|
</div>
|
|
1435
1441
|
|
|
1436
1442
|
</div>
|
|
@@ -1461,13 +1467,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1461
1467
|
<div class="method-source-code"
|
|
1462
1468
|
id="start-acro-all-source">
|
|
1463
1469
|
<pre>
|
|
1464
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1470
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 313</span>
|
|
1471
|
+
313: <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>)
|
|
1472
|
+
314: <span class="ruby-ivar">@macroCallPreviousMode</span> = <span class="ruby-ivar">@scannerMode</span>
|
|
1473
|
+
315: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:macroCall</span>
|
|
1474
|
+
316: <span class="ruby-ivar">@macroCall</span> = <span class="ruby-identifier">match</span>
|
|
1475
|
+
317: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1476
|
+
318: <span class="ruby-keyword kw">end</span></pre>
|
|
1471
1477
|
</div>
|
|
1472
1478
|
|
|
1473
1479
|
</div>
|
|
@@ -1498,13 +1504,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1498
1504
|
<div class="method-source-code"
|
|
1499
1505
|
id="start-acro-ef-source">
|
|
1500
1506
|
<pre>
|
|
1501
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1507
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 294</span>
|
|
1508
|
+
294: <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>)
|
|
1509
|
+
295: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:macroDef</span>
|
|
1510
|
+
296: <span class="ruby-comment cmt"># Remove the opening '['</span>
|
|
1511
|
+
297: <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>]
|
|
1512
|
+
298: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1513
|
+
299: <span class="ruby-keyword kw">end</span></pre>
|
|
1508
1514
|
</div>
|
|
1509
1515
|
|
|
1510
1516
|
</div>
|
|
@@ -1535,13 +1541,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1535
1541
|
<div class="method-source-code"
|
|
1536
1542
|
id="start-tring--source">
|
|
1537
1543
|
<pre>
|
|
1538
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1544
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 216</span>
|
|
1545
|
+
216: <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>)
|
|
1546
|
+
217: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:dqString</span>
|
|
1547
|
+
218: <span class="ruby-comment cmt"># Remove the opening " and remove the backslashes from escaped ".</span>
|
|
1548
|
+
219: <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">'"'</span>)
|
|
1549
|
+
220: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1550
|
+
221: <span class="ruby-keyword kw">end</span></pre>
|
|
1545
1551
|
</div>
|
|
1546
1552
|
|
|
1547
1553
|
</div>
|
|
@@ -1572,13 +1578,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1572
1578
|
<div class="method-source-code"
|
|
1573
1579
|
id="start-tring--source">
|
|
1574
1580
|
<pre>
|
|
1575
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1581
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 236</span>
|
|
1582
|
+
236: <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>)
|
|
1583
|
+
237: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:sqString</span>
|
|
1584
|
+
238: <span class="ruby-comment cmt"># Remove the opening ' and remove the backslashes from escaped '.</span>
|
|
1585
|
+
239: <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">"'"</span>)
|
|
1586
|
+
240: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1587
|
+
241: <span class="ruby-keyword kw">end</span></pre>
|
|
1582
1588
|
</div>
|
|
1583
1589
|
|
|
1584
1590
|
</div>
|
|
@@ -1609,21 +1615,21 @@ to detect the tokens of the TJP syntax.
|
|
|
1609
1615
|
<div class="method-source-code"
|
|
1610
1616
|
id="start-tring--source">
|
|
1611
1617
|
<pre>
|
|
1612
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1618
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 256</span>
|
|
1619
|
+
256: <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>)
|
|
1620
|
+
257: <span class="ruby-comment cmt"># There should be a line break after the cut mark, but we allow some</span>
|
|
1621
|
+
258: <span class="ruby-comment cmt"># spaces between the mark and the line break as well.</span>
|
|
1622
|
+
259: <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">&&</span> <span class="ruby-regexp re">/-8<-\s*\n$/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">match</span>).<span class="ruby-identifier">nil?</span>
|
|
1623
|
+
260: <span class="ruby-ivar">@lineDelta</span> = <span class="ruby-value">1</span>
|
|
1624
|
+
261: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'junk_after_cut'</span>,
|
|
1625
|
+
262: <span class="ruby-value str">'The cut mark -8<- must be immediately followed by a '</span> <span class="ruby-operator">+</span>
|
|
1626
|
+
263: <span class="ruby-value str">'line break.'</span>)
|
|
1627
|
+
264: <span class="ruby-keyword kw">end</span>
|
|
1628
|
+
265: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:szrString1</span>
|
|
1629
|
+
266: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-identifier">sourceFileInfo</span>
|
|
1630
|
+
267: <span class="ruby-ivar">@string</span> = <span class="ruby-value str">''</span>
|
|
1631
|
+
268: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
1632
|
+
269: <span class="ruby-keyword kw">end</span></pre>
|
|
1627
1633
|
</div>
|
|
1628
1634
|
|
|
1629
1635
|
</div>
|
|
@@ -1654,14 +1660,14 @@ to detect the tokens of the TJP syntax.
|
|
|
1654
1660
|
<div class="method-source-code"
|
|
1655
1661
|
id="to-date-source">
|
|
1656
1662
|
<pre>
|
|
1657
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1663
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 179</span>
|
|
1664
|
+
179: <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>)
|
|
1665
|
+
180: <span class="ruby-keyword kw">begin</span>
|
|
1666
|
+
181: [ <span class="ruby-identifier">type</span>, <span class="ruby-constant">TjTime</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">match</span>) ]
|
|
1667
|
+
182: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">msg</span>
|
|
1668
|
+
183: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'time_error'</span>, <span class="ruby-identifier">msg</span>)
|
|
1669
|
+
184: <span class="ruby-keyword kw">end</span>
|
|
1670
|
+
185: <span class="ruby-keyword kw">end</span></pre>
|
|
1665
1671
|
</div>
|
|
1666
1672
|
|
|
1667
1673
|
</div>
|
|
@@ -1692,10 +1698,10 @@ to detect the tokens of the TJP syntax.
|
|
|
1692
1698
|
<div class="method-source-code"
|
|
1693
1699
|
id="to-f-source">
|
|
1694
1700
|
<pre>
|
|
1695
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1701
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 158</span>
|
|
1702
|
+
158: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_f</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
|
|
1703
|
+
159: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>.<span class="ruby-identifier">to_f</span> ]
|
|
1704
|
+
160: <span class="ruby-keyword kw">end</span></pre>
|
|
1699
1705
|
</div>
|
|
1700
1706
|
|
|
1701
1707
|
</div>
|
|
@@ -1726,10 +1732,10 @@ to detect the tokens of the TJP syntax.
|
|
|
1726
1732
|
<div class="method-source-code"
|
|
1727
1733
|
id="to-i-source">
|
|
1728
1734
|
<pre>
|
|
1729
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1735
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 154</span>
|
|
1736
|
+
154: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_i</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>)
|
|
1737
|
+
155: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>.<span class="ruby-identifier">to_i</span> ]
|
|
1738
|
+
156: <span class="ruby-keyword kw">end</span></pre>
|
|
1733
1739
|
</div>
|
|
1734
1740
|
|
|
1735
1741
|
</div>
|
|
@@ -1760,23 +1766,23 @@ to detect the tokens of the TJP syntax.
|
|
|
1760
1766
|
<div class="method-source-code"
|
|
1761
1767
|
id="to-time-source">
|
|
1762
1768
|
<pre>
|
|
1763
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1769
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 162</span>
|
|
1770
|
+
162: <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>)
|
|
1771
|
+
163: <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>)
|
|
1772
|
+
164: <span class="ruby-identifier">h</span> = <span class="ruby-identifier">h</span>.<span class="ruby-identifier">to_i</span>
|
|
1773
|
+
165: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">h</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">></span> <span class="ruby-value">24</span>
|
|
1774
|
+
166: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'time_bad_hour'</span>, <span class="ruby-node">"Hour #{h} out of range (0 - 24)"</span>)
|
|
1775
|
+
167: <span class="ruby-keyword kw">end</span>
|
|
1776
|
+
168: <span class="ruby-identifier">m</span> = <span class="ruby-identifier">m</span>.<span class="ruby-identifier">to_i</span>
|
|
1777
|
+
169: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">m</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">h</span> <span class="ruby-operator">></span> <span class="ruby-value">59</span>
|
|
1778
|
+
170: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'time_bad_minute'</span>, <span class="ruby-node">"Minute #{m} out of range (0 - 59)"</span>)
|
|
1779
|
+
171: <span class="ruby-keyword kw">end</span>
|
|
1780
|
+
172: <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">&&</span> <span class="ruby-identifier">m</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
|
|
1781
|
+
173: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'time_bad_time'</span>, <span class="ruby-node">"Time #{match} cannot be larger then 24:00"</span>)
|
|
1782
|
+
174: <span class="ruby-keyword kw">end</span>
|
|
1783
|
+
175:
|
|
1784
|
+
176: [ <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> ]
|
|
1785
|
+
177: <span class="ruby-keyword kw">end</span></pre>
|
|
1780
1786
|
</div>
|
|
1781
1787
|
|
|
1782
1788
|
</div>
|