taskjuggler 0.0.6 → 0.0.7
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 +160 -0
- data/benchmarks/UTF-8-Strings.rb +58 -0
- data/data/css/tjreport.css +7 -2
- data/doc/AppConfig.html +10 -4
- data/doc/Arguments.html +10 -4
- data/doc/CHANGELOG.html +171 -5
- data/doc/COPYING.html +10 -4
- data/doc/Object.html +11 -107
- data/doc/README.html +10 -4
- data/doc/RuntimeConfig.html +10 -4
- data/doc/String.html +16 -11
- data/doc/StringIO.html +10 -4
- data/doc/TaskJuggler.html +506 -435
- data/doc/TaskJuggler/Account.html +10 -4
- data/doc/TaskJuggler/AccountAttribute.html +10 -4
- data/doc/TaskJuggler/AccountScenario.html +10 -4
- data/doc/TaskJuggler/Allocation.html +69 -60
- data/doc/TaskJuggler/AllocationAttribute.html +10 -4
- data/doc/TaskJuggler/AttributeBase.html +10 -4
- data/doc/TaskJuggler/AttributeDefinition.html +10 -4
- data/doc/TaskJuggler/BatchProcessor.html +202 -192
- data/doc/TaskJuggler/Booking.html +10 -4
- data/doc/TaskJuggler/BookingListAttribute.html +10 -4
- data/doc/TaskJuggler/BooleanAttribute.html +10 -4
- data/doc/TaskJuggler/CSVFile.html +10 -4
- data/doc/TaskJuggler/CellSettingPattern.html +10 -4
- data/doc/TaskJuggler/CellSettingPatternList.html +10 -4
- data/doc/TaskJuggler/Charge.html +10 -4
- data/doc/TaskJuggler/ChargeListAttribute.html +10 -4
- data/doc/TaskJuggler/ChargeSet.html +10 -4
- data/doc/TaskJuggler/ChargeSetListAttribute.html +10 -4
- data/doc/TaskJuggler/ColumnListAttribute.html +10 -4
- data/doc/TaskJuggler/ColumnTable.html +10 -4
- data/doc/TaskJuggler/Daemon.html +71 -52
- data/doc/TaskJuggler/DateAttribute.html +10 -4
- data/doc/TaskJuggler/DefinitionListAttribute.html +10 -4
- data/doc/TaskJuggler/DependencyListAttribute.html +10 -4
- data/doc/TaskJuggler/DurationAttribute.html +10 -4
- data/doc/TaskJuggler/{MacroParser.html → FileList.html} +58 -173
- data/doc/TaskJuggler/{RichTextException.html → FileRecord.html} +59 -80
- data/doc/TaskJuggler/FixnumAttribute.html +10 -4
- data/doc/TaskJuggler/FlagListAttribute.html +10 -4
- data/doc/TaskJuggler/FloatAttribute.html +10 -4
- data/doc/TaskJuggler/FormatListAttribute.html +10 -4
- data/doc/TaskJuggler/GanttChart.html +10 -4
- data/doc/TaskJuggler/GanttContainer.html +14 -8
- data/doc/TaskJuggler/GanttHeader.html +10 -4
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +10 -4
- data/doc/TaskJuggler/GanttLine.html +29 -24
- data/doc/TaskJuggler/GanttLoadStack.html +10 -4
- data/doc/TaskJuggler/GanttMilestone.html +10 -4
- data/doc/TaskJuggler/GanttRouter.html +10 -4
- data/doc/TaskJuggler/GanttTaskBar.html +20 -10
- data/doc/TaskJuggler/HTMLDocument.html +10 -4
- data/doc/TaskJuggler/HTMLGraphics.html +10 -4
- data/doc/TaskJuggler/Interval.html +10 -4
- data/doc/TaskJuggler/IntervalListAttribute.html +10 -4
- data/doc/TaskJuggler/JobInfo.html +10 -4
- data/doc/TaskJuggler/Journal.html +227 -160
- data/doc/TaskJuggler/JournalEntry.html +10 -4
- data/doc/TaskJuggler/JournalEntryList.html +158 -72
- data/doc/TaskJuggler/KeywordArray.html +21 -9
- data/doc/TaskJuggler/KeywordDocumentation.html +612 -475
- data/doc/TaskJuggler/Limits.html +13 -8
- data/doc/TaskJuggler/Limits/Limit.html +10 -4
- data/doc/TaskJuggler/LimitsAttribute.html +10 -4
- data/doc/TaskJuggler/ListAttributeBase.html +10 -4
- data/doc/TaskJuggler/Log.html +10 -4
- data/doc/TaskJuggler/LogFile.html +10 -4
- data/doc/TaskJuggler/LogicalAttribute.html +10 -4
- data/doc/TaskJuggler/LogicalExpression.html +11 -5
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +10 -4
- data/doc/TaskJuggler/LogicalFlag.html +10 -4
- data/doc/TaskJuggler/LogicalFunction.html +132 -124
- data/doc/TaskJuggler/LogicalOperation.html +10 -4
- data/doc/TaskJuggler/Macro.html +16 -10
- data/doc/TaskJuggler/MacroTable.html +44 -38
- data/doc/TaskJuggler/ManagerResponsibilities.html +10 -4
- data/doc/TaskJuggler/ManagerStatusRecord.html +10 -4
- data/doc/TaskJuggler/Message.html +92 -68
- data/doc/TaskJuggler/MessageHandler.html +349 -28
- data/doc/TaskJuggler/Navigator.html +10 -4
- data/doc/TaskJuggler/NavigatorElement.html +10 -4
- data/doc/TaskJuggler/NikuProject.html +10 -4
- data/doc/TaskJuggler/NikuReport.html +10 -4
- data/doc/TaskJuggler/NikuResource.html +10 -4
- data/doc/TaskJuggler/NodeListAttribute.html +10 -4
- data/doc/TaskJuggler/OnShiftCache.html +10 -4
- data/doc/TaskJuggler/ProcessIntercom.html +118 -111
- data/doc/TaskJuggler/ProcessIntercomIface.html +75 -22
- data/doc/TaskJuggler/Project.html +886 -913
- data/doc/TaskJuggler/ProjectBroker.html +442 -331
- data/doc/TaskJuggler/ProjectBrokerIface.html +95 -38
- data/doc/TaskJuggler/ProjectFileParser.html +320 -317
- data/doc/TaskJuggler/ProjectFileScanner.html +336 -339
- data/doc/TaskJuggler/ProjectRecord.html +119 -56
- data/doc/TaskJuggler/ProjectServer.html +282 -237
- data/doc/TaskJuggler/ProjectServerIface.html +45 -39
- data/doc/TaskJuggler/PropertyAttribute.html +10 -4
- data/doc/TaskJuggler/PropertyList.html +177 -173
- data/doc/TaskJuggler/PropertySet.html +11 -5
- data/doc/TaskJuggler/PropertyTreeNode.html +194 -191
- data/doc/TaskJuggler/Query.html +280 -256
- data/doc/TaskJuggler/RTFHandlers.html +10 -4
- data/doc/TaskJuggler/RTFNavigator.html +33 -26
- data/doc/TaskJuggler/RTFQuery.html +135 -169
- data/doc/TaskJuggler/RTFReport.html +63 -56
- data/doc/TaskJuggler/RTFReportLink.html +58 -47
- data/doc/TaskJuggler/RTFWithQuerySupport.html +666 -0
- data/doc/TaskJuggler/RealFormat.html +10 -4
- data/doc/TaskJuggler/RealFormatAttribute.html +10 -4
- data/doc/TaskJuggler/ReferenceAttribute.html +10 -4
- data/doc/TaskJuggler/Report.html +333 -290
- data/doc/TaskJuggler/ReportBase.html +182 -174
- data/doc/TaskJuggler/ReportContext.html +10 -4
- data/doc/TaskJuggler/ReportServer.html +144 -126
- data/doc/TaskJuggler/ReportServerIface.html +50 -44
- data/doc/TaskJuggler/ReportServerRecord.html +38 -32
- data/doc/TaskJuggler/ReportServlet.html +144 -137
- data/doc/TaskJuggler/ReportTable.html +10 -4
- data/doc/TaskJuggler/ReportTableCell.html +169 -164
- data/doc/TaskJuggler/ReportTableColumn.html +10 -4
- data/doc/TaskJuggler/ReportTableLegend.html +10 -4
- data/doc/TaskJuggler/ReportTableLine.html +10 -4
- data/doc/TaskJuggler/Resource.html +121 -115
- data/doc/TaskJuggler/ResourceListAttribute.html +10 -4
- data/doc/TaskJuggler/ResourceListRE.html +10 -4
- data/doc/TaskJuggler/ResourceScenario.html +13 -7
- data/doc/TaskJuggler/RichText.html +61 -37
- data/doc/TaskJuggler/RichTextAttribute.html +10 -4
- data/doc/TaskJuggler/RichTextDocument.html +91 -81
- data/doc/TaskJuggler/RichTextElement.html +378 -317
- data/doc/TaskJuggler/RichTextFunctionExample.html +10 -4
- data/doc/TaskJuggler/RichTextFunctionHandler.html +16 -11
- data/doc/TaskJuggler/RichTextImage.html +10 -4
- data/doc/TaskJuggler/RichTextIntermediate.html +138 -70
- data/doc/TaskJuggler/RichTextParser.html +48 -40
- data/doc/TaskJuggler/RichTextScanner.html +328 -906
- data/doc/TaskJuggler/RichTextSnip.html +59 -57
- data/doc/TaskJuggler/RichTextSyntaxRules.html +458 -369
- data/doc/TaskJuggler/Scenario.html +10 -4
- data/doc/TaskJuggler/ScenarioData.html +33 -30
- data/doc/TaskJuggler/ScenarioListAttribute.html +10 -4
- data/doc/TaskJuggler/Scoreboard.html +10 -4
- data/doc/TaskJuggler/SheetHandlerBase.html +315 -191
- data/doc/TaskJuggler/SheetReceiver.html +334 -313
- data/doc/TaskJuggler/SheetSender.html +10 -4
- data/doc/TaskJuggler/Shift.html +10 -4
- data/doc/TaskJuggler/ShiftAssignment.html +10 -4
- data/doc/TaskJuggler/ShiftAssignments.html +10 -4
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +10 -4
- data/doc/TaskJuggler/ShiftScenario.html +10 -4
- data/doc/TaskJuggler/SimpleQueryExpander.html +697 -0
- data/doc/TaskJuggler/SortListAttribute.html +10 -4
- data/doc/TaskJuggler/SourceFileInfo.html +10 -4
- data/doc/TaskJuggler/StatusSheetReceiver.html +10 -4
- data/doc/TaskJuggler/StatusSheetReport.html +10 -4
- data/doc/TaskJuggler/StatusSheetSender.html +10 -4
- data/doc/TaskJuggler/StringAttribute.html +10 -4
- data/doc/TaskJuggler/SymbolAttribute.html +10 -4
- data/doc/TaskJuggler/SyntaxReference.html +260 -230
- data/doc/TaskJuggler/TOCEntry.html +99 -42
- data/doc/TaskJuggler/TSResourceRecord.html +10 -4
- data/doc/TaskJuggler/TSTaskRecord.html +10 -4
- data/doc/TaskJuggler/TableColumnDefinition.html +10 -4
- data/doc/TaskJuggler/TableOfContents.html +54 -12
- data/doc/TaskJuggler/TableReport.html +877 -872
- data/doc/TaskJuggler/Task.html +117 -68
- data/doc/TaskJuggler/TaskDependency.html +10 -4
- data/doc/TaskJuggler/TaskListAttribute.html +10 -4
- data/doc/TaskJuggler/TaskListRE.html +10 -4
- data/doc/TaskJuggler/TaskScenario.html +1681 -1563
- data/doc/TaskJuggler/TextFormatter.html +10 -4
- data/doc/TaskJuggler/TextParser.html +567 -534
- data/doc/TaskJuggler/TextParser/Pattern.html +128 -118
- data/doc/TaskJuggler/TextParser/Rule.html +26 -15
- data/doc/TaskJuggler/TextParser/StackElement.html +10 -4
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +22 -16
- data/doc/TaskJuggler/TextParser/TokenDoc.html +10 -4
- data/doc/TaskJuggler/TextReport.html +15 -6
- data/doc/TaskJuggler/TextScanner.html +319 -287
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +16 -10
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +23 -17
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +17 -11
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +138 -175
- data/doc/TaskJuggler/TimeSheetReceiver.html +10 -4
- data/doc/TaskJuggler/TimeSheetRecord.html +65 -58
- data/doc/TaskJuggler/TimeSheetReport.html +47 -42
- data/doc/TaskJuggler/TimeSheetSender.html +10 -4
- data/doc/TaskJuggler/TimeSheetSummary.html +91 -83
- data/doc/TaskJuggler/TimeSheets.html +22 -16
- data/doc/TaskJuggler/Tj3AppBase.html +10 -4
- data/doc/TaskJuggler/Tj3Client.html +399 -365
- data/doc/TaskJuggler/Tj3Daemon.html +107 -94
- data/doc/TaskJuggler/Tj3SheetAppBase.html +10 -4
- data/doc/TaskJuggler/Tj3SsReceiver.html +10 -4
- data/doc/TaskJuggler/Tj3SsSender.html +10 -4
- data/doc/TaskJuggler/Tj3TsReceiver.html +10 -4
- data/doc/TaskJuggler/Tj3TsSender.html +10 -4
- data/doc/TaskJuggler/Tj3TsSummary.html +10 -4
- data/doc/TaskJuggler/TjException.html +10 -4
- data/doc/TaskJuggler/TjTime.html +145 -140
- data/doc/TaskJuggler/TjpExample.html +10 -4
- data/doc/TaskJuggler/TjpExportRE.html +122 -118
- data/doc/TaskJuggler/TjpSyntaxRules.html +4065 -4052
- data/doc/TaskJuggler/URLParameter.html +10 -4
- data/doc/TaskJuggler/UserManual.html +162 -155
- data/doc/TaskJuggler/VimSyntax.html +1028 -0
- data/doc/TaskJuggler/WebServer.html +45 -27
- data/doc/TaskJuggler/WorkingHours.html +10 -4
- data/doc/TaskJuggler/WorkingHoursAttribute.html +10 -4
- data/doc/TaskJuggler/XMLBlob.html +10 -4
- data/doc/TaskJuggler/XMLComment.html +10 -4
- data/doc/TaskJuggler/XMLDocument.html +10 -4
- data/doc/TaskJuggler/XMLElement.html +10 -4
- data/doc/TaskJuggler/XMLNamedText.html +10 -4
- data/doc/TaskJuggler/XMLText.html +10 -4
- data/doc/index.html +735 -677
- data/doc/lib/AccountScenario_rb.html +1 -1
- data/doc/lib/Account_rb.html +1 -1
- data/doc/lib/Allocation_rb.html +1 -1
- data/doc/lib/AppConfig_rb.html +1 -1
- data/doc/lib/AttributeBase_rb.html +1 -1
- data/doc/lib/AttributeDefinition_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +1 -1
- data/doc/lib/BatchProcessor_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/ChargeSet_rb.html +1 -1
- data/doc/lib/Charge_rb.html +1 -1
- data/doc/lib/{Message_rb.html → FileList_rb.html} +3 -5
- data/doc/lib/HTMLDocument_rb.html +1 -1
- data/doc/lib/Interval_rb.html +1 -1
- data/doc/lib/Journal_rb.html +1 -1
- data/doc/lib/KeywordArray_rb.html +1 -1
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/Limits_rb.html +1 -1
- data/doc/lib/LogFile_rb.html +1 -1
- data/doc/lib/Log_rb.html +1 -1
- data/doc/lib/LogicalExpression_rb.html +1 -1
- data/doc/lib/LogicalFunction_rb.html +1 -1
- data/doc/lib/LogicalOperation_rb.html +1 -1
- data/doc/lib/MacroTable_rb.html +1 -3
- data/doc/lib/MessageHandler_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +1 -1
- data/doc/lib/ProjectFileScanner_rb.html +1 -1
- data/doc/lib/Project_rb.html +4 -2
- data/doc/lib/PropertyList_rb.html +1 -1
- data/doc/lib/PropertySet_rb.html +1 -1
- data/doc/lib/PropertyTreeNode_rb.html +1 -1
- data/doc/lib/Query_rb.html +1 -1
- data/doc/lib/RTFHandlers_rb.html +1 -1
- data/doc/lib/RTFNavigator_rb.html +1 -1
- data/doc/lib/RTFQuery_rb.html +2 -2
- data/doc/lib/RTFReportLink_rb.html +4 -2
- data/doc/lib/RTFReport_rb.html +1 -1
- data/doc/lib/{MacroParser_rb.html → RTFWithQuerySupport_rb.html} +4 -6
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +1 -1
- data/doc/lib/Resource_rb.html +1 -1
- data/doc/lib/RichTextDocument_rb.html +1 -1
- data/doc/lib/RichTextElement_rb.html +1 -1
- data/doc/lib/RichTextFunctionExample_rb.html +1 -1
- data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +1 -1
- data/doc/lib/RichTextScanner_rb.html +3 -1
- data/doc/lib/RichTextSnip_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/lib/RichText_rb.html +3 -1
- data/doc/lib/RuntimeConfig_rb.html +1 -1
- data/doc/lib/ScenarioData_rb.html +2 -2
- data/doc/lib/Scenario_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/SheetHandlerBase_rb.html +5 -1
- data/doc/lib/SheetReceiver_rb.html +3 -1
- data/doc/lib/SheetSender_rb.html +1 -1
- data/doc/lib/ShiftAssignments_rb.html +1 -1
- data/doc/lib/ShiftScenario_rb.html +1 -1
- data/doc/lib/Shift_rb.html +1 -1
- data/doc/lib/SimpleQueryExpander_rb.html +67 -0
- data/doc/lib/SourceFileInfo_rb.html +1 -1
- data/doc/lib/StatusSheetReceiver_rb.html +1 -1
- data/doc/lib/StatusSheetSender_rb.html +1 -1
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TOCEntry_rb.html +1 -1
- data/doc/lib/TableColumnDefinition_rb.html +1 -1
- data/doc/lib/TableOfContents_rb.html +1 -1
- data/doc/lib/TaskDependency_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +1 -1
- data/doc/lib/TaskScenario_rb.html +1 -1
- data/doc/lib/Task_rb.html +1 -1
- data/doc/lib/TextFormatter_rb.html +1 -1
- data/doc/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/TextParser/Rule_rb.html +1 -1
- data/doc/lib/TextParser/StackElement_rb.html +1 -1
- data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/TextParser_rb.html +3 -1
- data/doc/lib/TextScanner_rb.html +1 -3
- data/doc/lib/TimeSheetReceiver_rb.html +1 -1
- data/doc/lib/TimeSheetSender_rb.html +1 -1
- data/doc/lib/TimeSheetSummary_rb.html +1 -1
- data/doc/lib/TimeSheets_rb.html +1 -1
- data/doc/lib/Tj3AppBase_rb.html +1 -1
- data/doc/lib/Tj3Config_rb.html +1 -1
- data/doc/lib/Tj3SheetAppBase_rb.html +1 -1
- data/doc/lib/TjException_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +1 -1
- data/doc/lib/TjpExample_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/lib/URLParameter_rb.html +1 -1
- data/doc/lib/UTF8String_rb.html +1 -1
- data/doc/lib/UserManual_rb.html +1 -1
- data/doc/lib/{ruby-signal-bug_rb.html → VimSyntax_rb.html} +17 -4
- data/doc/lib/WorkingHours_rb.html +1 -1
- data/doc/lib/XMLDocument_rb.html +1 -1
- data/doc/lib/XMLElement_rb.html +1 -1
- data/doc/lib/daemon/Daemon_rb.html +1 -1
- data/doc/lib/daemon/ProcessIntercom_rb.html +1 -1
- data/doc/lib/daemon/ProjectBroker_rb.html +1 -1
- data/doc/lib/daemon/ProjectServer_rb.html +1 -1
- data/doc/lib/daemon/ReportServer_rb.html +1 -3
- data/doc/lib/daemon/WebServer_rb.html +1 -1
- data/doc/lib/deep_copy_rb.html +1 -1
- data/doc/lib/reports/CSVFile_rb.html +1 -1
- data/doc/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/reports/GanttChart_rb.html +1 -1
- data/doc/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/reports/GanttLine_rb.html +1 -1
- data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/reports/Navigator_rb.html +1 -1
- data/doc/lib/reports/NikuReport_rb.html +1 -1
- data/doc/lib/reports/ReportBase_rb.html +1 -1
- data/doc/lib/reports/ReportContext_rb.html +1 -1
- data/doc/lib/reports/ReportTableCell_rb.html +1 -1
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +1 -1
- data/doc/lib/reports/Report_rb.html +1 -1
- data/doc/lib/reports/ResourceListRE_rb.html +1 -1
- data/doc/lib/reports/StatusSheetReport_rb.html +1 -1
- data/doc/lib/reports/TableReport_rb.html +1 -1
- data/doc/lib/reports/TaskListRE_rb.html +1 -1
- data/doc/lib/reports/TextReport_rb.html +1 -1
- data/doc/lib/reports/TimeSheetReport_rb.html +1 -1
- data/doc/lib/reports/TjpExportRE_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +1 -1
- data/doc/lib/tj3client_rb.html +1 -1
- data/doc/lib/tj3d_rb.html +1 -1
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +1 -1
- data/doc/lib/tj3ts_receiver_rb.html +1 -1
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/lib/Allocation.rb +8 -5
- data/lib/BatchProcessor.rb +7 -3
- data/lib/FileList.rb +58 -0
- data/lib/Journal.rb +73 -33
- data/lib/KeywordArray.rb +4 -0
- data/lib/KeywordDocumentation.rb +45 -11
- data/lib/Limits.rb +0 -1
- data/lib/LogicalExpression.rb +1 -1
- data/lib/LogicalFunction.rb +14 -12
- data/lib/MacroTable.rb +3 -4
- data/lib/MessageHandler.rb +136 -7
- data/lib/Project.rb +72 -86
- data/lib/ProjectFileParser.rb +30 -33
- data/lib/ProjectFileScanner.rb +7 -16
- data/lib/PropertyList.rb +25 -27
- data/lib/PropertySet.rb +1 -1
- data/lib/PropertyTreeNode.rb +9 -12
- data/lib/Query.rb +5 -4
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +4 -11
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +10 -4
- data/lib/RTFWithQuerySupport.rb +45 -0
- data/lib/Resource.rb +20 -20
- data/lib/ResourceScenario.rb +3 -3
- data/lib/RichText.rb +15 -7
- data/lib/RichTextDocument.rb +8 -4
- data/lib/RichTextElement.rb +35 -12
- data/lib/RichTextFunctionHandler.rb +11 -12
- data/lib/RichTextParser.rb +5 -3
- data/lib/RichTextScanner.rb +144 -565
- data/lib/RichTextSnip.rb +3 -7
- data/lib/RichTextSyntaxRules.rb +51 -32
- data/lib/ScenarioData.rb +16 -25
- data/lib/SheetHandlerBase.rb +59 -2
- data/lib/SheetReceiver.rb +36 -18
- data/lib/SimpleQueryExpander.rb +58 -0
- data/lib/SyntaxReference.rb +9 -5
- data/lib/TOCEntry.rb +2 -0
- data/lib/TableOfContents.rb +4 -0
- data/lib/Task.rb +23 -12
- data/lib/TaskJuggler.rb +72 -33
- data/lib/TaskScenario.rb +131 -53
- data/lib/TextParser.rb +43 -30
- data/lib/TextParser/Pattern.rb +17 -13
- data/lib/TextParser/Rule.rb +5 -0
- data/lib/TextScanner.rb +46 -25
- data/lib/TimeSheetSummary.rb +9 -7
- data/lib/TimeSheets.rb +14 -23
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +1 -2
- data/lib/TjpSyntaxRules.rb +128 -104
- data/lib/UTF8String.rb +0 -1
- data/lib/UserManual.rb +5 -4
- data/lib/VimSyntax.rb +223 -0
- data/lib/daemon/Daemon.rb +9 -0
- data/lib/daemon/ProcessIntercom.rb +19 -4
- data/lib/daemon/ProjectBroker.rb +149 -68
- data/lib/daemon/ProjectServer.rb +119 -79
- data/lib/daemon/ReportServer.rb +42 -31
- data/lib/daemon/WebServer.rb +21 -2
- data/lib/deep_copy.rb +1 -1
- data/lib/reports/GanttContainer.rb +2 -2
- data/lib/reports/GanttLine.rb +2 -3
- data/lib/reports/GanttTaskBar.rb +7 -3
- data/lib/reports/Report.rb +62 -57
- data/lib/reports/ReportBase.rb +6 -4
- data/lib/reports/ReportTableCell.rb +13 -14
- data/lib/reports/TableReport.rb +2 -1
- data/lib/reports/TextReport.rb +3 -0
- data/lib/reports/TimeSheetReport.rb +2 -3
- data/lib/reports/TjpExportRE.rb +0 -2
- data/lib/tj3client.rb +31 -3
- data/lib/tj3d.rb +8 -1
- data/manual/Day_To_Day_Juggling +2 -95
- data/manual/How_To_Contribute +2 -1
- data/manual/Rich_Text_Attributes +37 -3
- data/manual/Software +203 -0
- data/test/MessageChecker.rb +4 -4
- data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
- data/test/TestSuite/HTML-Reports/CellText.html +758 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
- data/test/TestSuite/HTML-Reports/Query.html +31 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +14 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +233 -21
- data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
- data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/ReportGenerator/Correct/Alerts.tjp +48 -0
- data/test/TestSuite/ReportGenerator/Correct/Macros.tjp +57 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +386 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Macros-1.csv +6 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjmanual.css +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/css/tjreport.css +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +26 -0
- data/test/TestSuite/ReportGenerator/{Correct → Errors}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.html +3210 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +19 -0
- data/test/TestSuite/Scheduler/Correct/Container.html +22 -22
- data/test/TestSuite/Scheduler/Correct/Limits.html +4964 -0
- data/test/TestSuite/Scheduler/Correct/Shift.html +1707 -417
- data/test/TestSuite/Scheduler/Correct/Shift2.html +9 -9
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +6 -2
- data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +66 -0
- data/test/TestSuite/Scheduler/Errors/css/tjreport.css +407 -0
- data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_1.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_10.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_11.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_14.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_2.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_4.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_5.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/loop_detected_9.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before_gd.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_pred_before_gl.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after_gd.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_succ_after_gl.tjp +12 -0
- data/test/TestSuite/StatusSheets/dev2.tji +22 -0
- data/test/TestSuite/StatusSheets/resrep.tji +7 -0
- data/test/TestSuite/StatusSheets/run +6 -4
- data/test/TestSuite/StatusSheets/tj3d.log +312 -0
- data/test/TestSuite/Syntax/Correct/Managers.html +263 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +1 -2
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +1 -1
- data/test/TestSuite/TimeSheets/acceptable_intervals +1 -0
- data/test/TestSuite/TimeSheets/resrep.tji +7 -0
- data/test/TestSuite/TimeSheets/run +6 -5
- data/test/TestSuite/TimeSheets/statussheets.log +1 -0
- data/test/TestSuite/TimeSheets/ts.tji +351 -0
- data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
- data/test/test_PropertySet.rb +2 -2
- data/test/test_RichText.rb +178 -387
- data/test/test_SimpleQueryExpander.rb +55 -0
- data/test/test_deep_copy.rb +2 -2
- metadata +854 -834
- data/lib/MacroParser.rb +0 -77
- data/lib/Message.rb +0 -56
- data/lib/ruby-signal-bug.rb +0 -43
- data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
- data/test/TestSuite/HTML-Reports/reference.html +0 -51
- data/test/TestSuite/ReportGenerator/Correct/Journal.html +0 -63
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
- data/test/TestSuite/Scheduler/Correct/Booking2.html +0 -603
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +0 -108
- data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
- data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +0 -32
|
@@ -215,6 +215,10 @@
|
|
|
215
215
|
|
|
216
216
|
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
|
|
217
217
|
|
|
218
|
+
<li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
|
|
219
|
+
|
|
220
|
+
<li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
|
|
221
|
+
|
|
218
222
|
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
|
|
219
223
|
|
|
220
224
|
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
|
|
@@ -287,8 +291,6 @@
|
|
|
287
291
|
|
|
288
292
|
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
|
|
289
293
|
|
|
290
|
-
<li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
|
|
291
|
-
|
|
292
294
|
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
|
|
293
295
|
|
|
294
296
|
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
|
|
@@ -353,6 +355,8 @@
|
|
|
353
355
|
|
|
354
356
|
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
355
357
|
|
|
358
|
+
<li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
|
|
359
|
+
|
|
356
360
|
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
357
361
|
|
|
358
362
|
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -399,8 +403,6 @@
|
|
|
399
403
|
|
|
400
404
|
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
|
|
401
405
|
|
|
402
|
-
<li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
|
|
403
|
-
|
|
404
406
|
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
|
|
405
407
|
|
|
406
408
|
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
|
|
@@ -441,6 +443,8 @@
|
|
|
441
443
|
|
|
442
444
|
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
|
|
443
445
|
|
|
446
|
+
<li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
|
|
447
|
+
|
|
444
448
|
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
|
|
445
449
|
|
|
446
450
|
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
|
|
@@ -551,6 +555,8 @@
|
|
|
551
555
|
|
|
552
556
|
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
553
557
|
|
|
558
|
+
<li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
|
|
559
|
+
|
|
554
560
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
555
561
|
|
|
556
562
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
@@ -634,143 +640,134 @@ to detect the tokens of the TJP syntax.
|
|
|
634
640
|
<pre>
|
|
635
641
|
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 21</span>
|
|
636
642
|
21: <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>)
|
|
637
|
-
22: <span class="ruby-
|
|
638
|
-
23:
|
|
639
|
-
24:
|
|
640
|
-
25:
|
|
641
|
-
26:
|
|
642
|
-
27:
|
|
643
|
-
28:
|
|
644
|
-
29:
|
|
645
|
-
30:
|
|
646
|
-
31:
|
|
647
|
-
32:
|
|
648
|
-
33:
|
|
649
|
-
34:
|
|
650
|
-
35:
|
|
651
|
-
36:
|
|
652
|
-
37: <span class="ruby-comment cmt">#
|
|
653
|
-
38: <span class="ruby-
|
|
654
|
-
39: <span class="ruby-comment cmt"># the
|
|
655
|
-
40: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re"
|
|
656
|
-
41: <span class="ruby-comment cmt"># This
|
|
657
|
-
42:
|
|
658
|
-
43: <span class="ruby-
|
|
659
|
-
44:
|
|
660
|
-
45:
|
|
661
|
-
46:
|
|
662
|
-
47: <span class="ruby-comment cmt">#
|
|
663
|
-
48: <span class="ruby-comment cmt">#
|
|
664
|
-
49: <span class="ruby-comment cmt">#
|
|
665
|
-
50: <span class="ruby-comment cmt">#
|
|
666
|
-
51: <span class="ruby-comment cmt">#
|
|
667
|
-
52: <span class="ruby-comment cmt">#
|
|
668
|
-
53: <span class="ruby-comment cmt">#
|
|
669
|
-
54: <span class="ruby-comment cmt">#
|
|
670
|
-
55: <span class="ruby-comment cmt">#
|
|
671
|
-
56: <span class="ruby-
|
|
672
|
-
57:
|
|
673
|
-
58:
|
|
674
|
-
59:
|
|
675
|
-
60: <span class="ruby-comment cmt">#
|
|
676
|
-
61: <span class="ruby-
|
|
677
|
-
62:
|
|
678
|
-
63: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/(
|
|
679
|
-
64: <span class="ruby-value">:
|
|
680
|
-
65:
|
|
681
|
-
66:
|
|
682
|
-
67: <span class="ruby-comment cmt">#
|
|
683
|
-
68: <span class="ruby-
|
|
684
|
-
69: <span class="ruby-comment cmt">#
|
|
685
|
-
70:
|
|
686
|
-
71: <span class="ruby-
|
|
687
|
-
72:
|
|
688
|
-
73:
|
|
689
|
-
74:
|
|
690
|
-
75:
|
|
691
|
-
76:
|
|
692
|
-
77:
|
|
693
|
-
78:
|
|
694
|
-
79:
|
|
695
|
-
80:
|
|
696
|
-
81:
|
|
697
|
-
82:
|
|
698
|
-
83:
|
|
699
|
-
84:
|
|
700
|
-
85:
|
|
701
|
-
86:
|
|
702
|
-
87:
|
|
703
|
-
88:
|
|
704
|
-
89:
|
|
705
|
-
90:
|
|
706
|
-
91:
|
|
707
|
-
92:
|
|
708
|
-
93:
|
|
709
|
-
94:
|
|
710
|
-
95:
|
|
711
|
-
96: <span class="ruby-comment cmt">#
|
|
712
|
-
97: <span class="ruby-
|
|
713
|
-
98: <span class="ruby-comment cmt">#
|
|
714
|
-
99: [ <span class="ruby-value str">'nil'</span>, <span class="ruby-regexp re"
|
|
715
|
-
100: <span class="ruby-comment cmt">#
|
|
716
|
-
101: [ <span class="ruby-value str">'
|
|
717
|
-
102:
|
|
718
|
-
103:
|
|
719
|
-
104:
|
|
720
|
-
105: <span class="ruby-comment cmt">#
|
|
721
|
-
106: [ <span class="ruby-value str">'nil'</span>, <span class="ruby-regexp re"
|
|
722
|
-
107: <span class="ruby-comment cmt">#
|
|
723
|
-
108: [ <span class="ruby-value str">'
|
|
724
|
-
109:
|
|
725
|
-
110:
|
|
726
|
-
111:
|
|
727
|
-
112: <span class="ruby-comment cmt">#
|
|
728
|
-
113: <span class="ruby-comment cmt">#
|
|
729
|
-
114: <span class="ruby-
|
|
730
|
-
115: <span class="ruby-comment cmt">#
|
|
731
|
-
116:
|
|
732
|
-
117: <span class="ruby-comment cmt">#
|
|
733
|
-
118: <span class="ruby-
|
|
734
|
-
119: <span class="ruby-
|
|
735
|
-
120:
|
|
736
|
-
121: [ <span class="ruby-
|
|
737
|
-
122:
|
|
738
|
-
123:
|
|
739
|
-
124:
|
|
740
|
-
125: <span class="ruby-
|
|
741
|
-
126:
|
|
742
|
-
127:
|
|
743
|
-
128:
|
|
744
|
-
129:
|
|
745
|
-
130:
|
|
746
|
-
131:
|
|
747
|
-
132: <span class="ruby-
|
|
748
|
-
133: <span class="ruby-comment cmt">#
|
|
749
|
-
134:
|
|
750
|
-
135: <span class="ruby-
|
|
751
|
-
136: <span class="ruby-comment cmt">#
|
|
752
|
-
137: [ <span class="ruby-
|
|
753
|
-
138:
|
|
754
|
-
139:
|
|
755
|
-
140:
|
|
756
|
-
141: <span class="ruby-
|
|
757
|
-
142: [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-regexp re"
|
|
758
|
-
143:
|
|
759
|
-
144:
|
|
760
|
-
145:
|
|
761
|
-
146:
|
|
762
|
-
147:
|
|
763
|
-
148:
|
|
764
|
-
149:
|
|
765
|
-
150: <span class="ruby-identifier">tokenPatterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pat</span><span class="ruby-operator">|</span>
|
|
766
|
-
151: <span class="ruby-identifier">type</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">0</span>]
|
|
767
|
-
152: <span class="ruby-identifier">regExp</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">1</span>]
|
|
768
|
-
153: <span class="ruby-identifier">mode</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">||</span> <span class="ruby-value">:tjp</span>
|
|
769
|
-
154: <span class="ruby-identifier">postProc</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">3</span>]
|
|
770
|
-
155: <span class="ruby-identifier">addPattern</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">regExp</span>, <span class="ruby-identifier">mode</span>, <span class="ruby-identifier">postProc</span>)
|
|
771
|
-
156: <span class="ruby-keyword kw">end</span>
|
|
772
|
-
157: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-value">:tjp</span>
|
|
773
|
-
158: <span class="ruby-keyword kw">end</span></pre>
|
|
643
|
+
22: <span class="ruby-identifier">tokenPatterns</span> = [
|
|
644
|
+
23: <span class="ruby-comment cmt"># Any white spaces</span>
|
|
645
|
+
24: [ <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>) ],
|
|
646
|
+
25:
|
|
647
|
+
26: <span class="ruby-comment cmt"># Single line comments starting with #</span>
|
|
648
|
+
27: [ <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>) ],
|
|
649
|
+
28:
|
|
650
|
+
29: <span class="ruby-comment cmt"># C++ style single line comments starting with //</span>
|
|
651
|
+
30: [ <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>) ],
|
|
652
|
+
31:
|
|
653
|
+
32: <span class="ruby-comment cmt"># C style single line comment /* .. */.</span>
|
|
654
|
+
33: [ <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>) ],
|
|
655
|
+
34:
|
|
656
|
+
35: <span class="ruby-comment cmt"># C style multi line comment: We need three patterns here. The first</span>
|
|
657
|
+
36: <span class="ruby-comment cmt"># one is for the start of the string. It switches the scanner mode to</span>
|
|
658
|
+
37: <span class="ruby-comment cmt"># the :cppComment mode.</span>
|
|
659
|
+
38: [ <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>) ],
|
|
660
|
+
39: <span class="ruby-comment cmt"># This is the string end pattern. It switches back to tjp mode.</span>
|
|
661
|
+
40: [ <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>) ],
|
|
662
|
+
41: <span class="ruby-comment cmt"># This pattern matches string lines that contain neither the start,</span>
|
|
663
|
+
42: <span class="ruby-comment cmt"># nor the end of the string.</span>
|
|
664
|
+
43: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/^.*\n/</span>, <span class="ruby-value">:cppComment</span> ],
|
|
665
|
+
44:
|
|
666
|
+
45: <span class="ruby-comment cmt"># Macro Call: This case is more complicated because we want to replace</span>
|
|
667
|
+
46: <span class="ruby-comment cmt"># macro calls inside of numbers, strings and identifiers. For this to</span>
|
|
668
|
+
47: <span class="ruby-comment cmt"># work, macro calls may have a prefix that looks like a number, a part</span>
|
|
669
|
+
48: <span class="ruby-comment cmt"># of a string or an identifier. This prefix is preserved and</span>
|
|
670
|
+
49: <span class="ruby-comment cmt"># re-injected into the scanner together with the expanded text. Macro</span>
|
|
671
|
+
50: <span class="ruby-comment cmt"># calls may span multiple lines. The ${ and the macro name must be in</span>
|
|
672
|
+
51: <span class="ruby-comment cmt"># the first line. Arguments that span multiple lines are not</span>
|
|
673
|
+
52: <span class="ruby-comment cmt"># supported. As above, we need rules for the start, the end and lines</span>
|
|
674
|
+
53: <span class="ruby-comment cmt"># with neither start nor end. Macro calls inside of strings need a</span>
|
|
675
|
+
54: <span class="ruby-comment cmt"># special start pattern that is active in the string modes. Both</span>
|
|
676
|
+
55: <span class="ruby-comment cmt"># patterns switch the scanner to macroCall mode.</span>
|
|
677
|
+
56: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/([-a-zA-Z_0-9>:.+]*|"(\\"|[^"])*?|'(\\'|[^'])*?)?\$\{\s*([a-zA-Z_]\w*)(\s*"(\\"|[^"])*")*/</span>,
|
|
678
|
+
57: <span class="ruby-value">:tjp</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startMacroCall'</span>) ],
|
|
679
|
+
58: <span class="ruby-comment cmt"># This pattern is similar to the previous one, but is active inside of</span>
|
|
680
|
+
59: <span class="ruby-comment cmt"># multi-line strings. The corresponding rule for sizzors strings</span>
|
|
681
|
+
60: <span class="ruby-comment cmt"># can be found below.</span>
|
|
682
|
+
61: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/(\\"|[^"])*?\$\{\s*([a-zA-Z_]\w*)(\s*"(\\"|[^"])*")*/</span>,
|
|
683
|
+
62: <span class="ruby-value">:dqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startMacroCall'</span>) ],
|
|
684
|
+
63: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/(\\'|[^'])*?\$\{\s*([a-zA-Z_]\w*)(\s*"(\\"|[^"])*")*/</span>,
|
|
685
|
+
64: <span class="ruby-value">:sqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'startMacroCall'</span>) ],
|
|
686
|
+
65: <span class="ruby-comment cmt"># This pattern matches the end of a macro call. It injects the prefix</span>
|
|
687
|
+
66: <span class="ruby-comment cmt"># and the expanded macro into the scanner again. The mode is restored</span>
|
|
688
|
+
67: <span class="ruby-comment cmt"># to the previous mode.</span>
|
|
689
|
+
68: [ <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>) ],
|
|
690
|
+
69: <span class="ruby-comment cmt"># This pattern collects macro call arguments in lines that contain</span>
|
|
691
|
+
70: <span class="ruby-comment cmt"># neither the start nor the end of the macro.</span>
|
|
692
|
+
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
|
+
72:
|
|
694
|
+
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>) ],
|
|
696
|
+
75:
|
|
697
|
+
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> ],
|
|
699
|
+
78:
|
|
700
|
+
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> ],
|
|
702
|
+
81:
|
|
703
|
+
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>) ],
|
|
705
|
+
84:
|
|
706
|
+
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>) ],
|
|
708
|
+
87:
|
|
709
|
+
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>) ],
|
|
711
|
+
90:
|
|
712
|
+
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>) ],
|
|
714
|
+
93:
|
|
715
|
+
94: <span class="ruby-comment cmt"># Multi line string enclosed with double quotes. The string may</span>
|
|
716
|
+
95: <span class="ruby-comment cmt"># contain double quotes prefixed by a backslash. The first rule</span>
|
|
717
|
+
96: <span class="ruby-comment cmt"># switches the scanner to dqString mode.</span>
|
|
718
|
+
97: [ <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>) ],
|
|
719
|
+
98: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
|
|
720
|
+
99: [ <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>) ],
|
|
721
|
+
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">/(\\"|[^"])*"/</span>, <span class="ruby-value">:dqString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringDQ'</span>) ],
|
|
723
|
+
102:
|
|
724
|
+
103: <span class="ruby-comment cmt"># Multi line string enclosed with single quotes.</span>
|
|
725
|
+
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
|
+
105: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
|
|
727
|
+
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
|
+
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>) ],
|
|
730
|
+
109:
|
|
731
|
+
110: <span class="ruby-comment cmt"># Scizzors marked string -8<- ... ->8-: The opening mark must be the</span>
|
|
732
|
+
111: <span class="ruby-comment cmt"># last thing in the line. The indentation of the first line after the</span>
|
|
733
|
+
112: <span class="ruby-comment cmt"># opening mark determines the indentation for all following lines. So,</span>
|
|
734
|
+
113: <span class="ruby-comment cmt"># we first switch the scanner to szrString1 mode.</span>
|
|
735
|
+
114: [ <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>) ],
|
|
736
|
+
115: <span class="ruby-comment cmt"># Since the first line can be the last line (empty string case), we</span>
|
|
737
|
+
116: <span class="ruby-comment cmt"># need to detect the end in szrString1 and szrString mode. The</span>
|
|
738
|
+
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*->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*->8-/</span>, <span class="ruby-value">:szrString</span>, <span class="ruby-identifier">method</span>(<span class="ruby-value str">'endStringSZR'</span>) ],
|
|
741
|
+
120: <span class="ruby-comment cmt"># This rule handles macros inside of sizzors strings.</span>
|
|
742
|
+
121: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-regexp re">/.*?\$\{\s*([a-zA-Z_]\w*)(\s*"(\\"|[^"])*")*/</span>,
|
|
743
|
+
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>) ],
|
|
744
|
+
123: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
|
|
745
|
+
124: [ <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>) ],
|
|
746
|
+
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
|
+
126:
|
|
748
|
+
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>) ],
|
|
750
|
+
129:
|
|
751
|
+
130: <span class="ruby-comment cmt"># Multi line macro definition: The pattern switches the scanner into</span>
|
|
752
|
+
131: <span class="ruby-comment cmt"># macroDef mode.</span>
|
|
753
|
+
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
|
+
133: <span class="ruby-comment cmt"># The end of the macro is marked by a ']' that is immediately followed</span>
|
|
755
|
+
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>) ],
|
|
757
|
+
136: <span class="ruby-comment cmt"># Any line not containing the start or end.</span>
|
|
758
|
+
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
|
+
138:
|
|
760
|
+
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">/<=?/</span> ],
|
|
762
|
+
141: [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-regexp re">/>=?/</span> ],
|
|
763
|
+
142: [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-regexp re">/!=?/</span> ],
|
|
764
|
+
143:
|
|
765
|
+
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> ]
|
|
767
|
+
146: ]
|
|
768
|
+
147:
|
|
769
|
+
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>)
|
|
770
|
+
149: <span class="ruby-keyword kw">end</span></pre>
|
|
774
771
|
</div>
|
|
775
772
|
|
|
776
773
|
</div>
|
|
@@ -807,10 +804,10 @@ to detect the tokens of the TJP syntax.
|
|
|
807
804
|
<div class="method-source-code"
|
|
808
805
|
id="chop-source">
|
|
809
806
|
<pre>
|
|
810
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
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>
|
|
814
811
|
</div>
|
|
815
812
|
|
|
816
813
|
</div>
|
|
@@ -841,11 +838,11 @@ to detect the tokens of the TJP syntax.
|
|
|
841
838
|
<div class="method-source-code"
|
|
842
839
|
id="chop--source">
|
|
843
840
|
<pre>
|
|
844
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
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>
|
|
849
846
|
</div>
|
|
850
847
|
|
|
851
848
|
</div>
|
|
@@ -876,11 +873,11 @@ to detect the tokens of the TJP syntax.
|
|
|
876
873
|
<div class="method-source-code"
|
|
877
874
|
id="chop-nl-source">
|
|
878
875
|
<pre>
|
|
879
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
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>
|
|
884
881
|
</div>
|
|
885
882
|
|
|
886
883
|
</div>
|
|
@@ -911,11 +908,11 @@ to detect the tokens of the TJP syntax.
|
|
|
911
908
|
<div class="method-source-code"
|
|
912
909
|
id="end-omment-source">
|
|
913
910
|
<pre>
|
|
914
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
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>
|
|
919
916
|
</div>
|
|
920
917
|
|
|
921
918
|
</div>
|
|
@@ -946,48 +943,48 @@ to detect the tokens of the TJP syntax.
|
|
|
946
943
|
<div class="method-source-code"
|
|
947
944
|
id="end-acro-all-source">
|
|
948
945
|
<pre>
|
|
949
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
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">></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>
|
|
953
959
|
323:
|
|
954
|
-
324: <span class="ruby-comment cmt">#
|
|
955
|
-
325: <span class="ruby-
|
|
956
|
-
326: <span class="ruby-
|
|
957
|
-
327:
|
|
958
|
-
328: <span class="ruby-
|
|
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> ])
|
|
959
965
|
329: <span class="ruby-keyword kw">else</span>
|
|
960
|
-
330: <span class="ruby-identifier">
|
|
961
|
-
331:
|
|
962
|
-
332:
|
|
963
|
-
333:
|
|
964
|
-
334:
|
|
965
|
-
335:
|
|
966
|
-
336:
|
|
967
|
-
337: <span class="ruby-
|
|
968
|
-
338:
|
|
969
|
-
339:
|
|
970
|
-
340: <span class="ruby-
|
|
971
|
-
341:
|
|
972
|
-
342: <span class="ruby-
|
|
973
|
-
343:
|
|
974
|
-
344: <span class="ruby-
|
|
975
|
-
345:
|
|
976
|
-
346: <span class="ruby-
|
|
977
|
-
347:
|
|
978
|
-
348:
|
|
979
|
-
349:
|
|
980
|
-
350:
|
|
981
|
-
351:
|
|
982
|
-
352: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Junk found at end of macro: #{argsStr[scanner.pos..-1]}"</span>
|
|
983
|
-
353: <span class="ruby-keyword kw">end</span>
|
|
984
|
-
354:
|
|
985
|
-
355: <span class="ruby-comment cmt"># Expand the macro and inject it into the scanner.</span>
|
|
986
|
-
356: <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>)
|
|
987
|
-
357: <span class="ruby-keyword kw">end</span>
|
|
988
|
-
358:
|
|
989
|
-
359: [ <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">''</span> ]
|
|
990
|
-
360: <span class="ruby-keyword kw">end</span></pre>
|
|
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*"/</span>))
|
|
974
|
+
338: <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>)
|
|
975
|
+
339: <span class="ruby-identifier">scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/"\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">"Junk found at end of macro: #{argsStr[scanner.pos..-1]}"</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>
|
|
991
988
|
</div>
|
|
992
989
|
|
|
993
990
|
</div>
|
|
@@ -1018,13 +1015,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1018
1015
|
<div class="method-source-code"
|
|
1019
1016
|
id="end-acro-ef-source">
|
|
1020
1017
|
<pre>
|
|
1021
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
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 "]\n"</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
1025
|
</div>
|
|
1029
1026
|
|
|
1030
1027
|
</div>
|
|
@@ -1055,13 +1052,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1055
1052
|
<div class="method-source-code"
|
|
1056
1053
|
id="end-tring--source">
|
|
1057
1054
|
<pre>
|
|
1058
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
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 " and remove the backslashes from escaped ".</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">/\\"/</span>, <span class="ruby-value str">'"'</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
1062
|
</div>
|
|
1066
1063
|
|
|
1067
1064
|
</div>
|
|
@@ -1092,13 +1089,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1092
1089
|
<div class="method-source-code"
|
|
1093
1090
|
id="end-tring--source">
|
|
1094
1091
|
<pre>
|
|
1095
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
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">"'"</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
1099
|
</div>
|
|
1103
1100
|
|
|
1104
1101
|
</div>
|
|
@@ -1129,11 +1126,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1129
1126
|
<div class="method-source-code"
|
|
1130
1127
|
id="end-tring--source">
|
|
1131
1128
|
<pre>
|
|
1132
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
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>
|
|
1137
1134
|
</div>
|
|
1138
1135
|
|
|
1139
1136
|
</div>
|
|
@@ -1164,13 +1161,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1164
1161
|
<div class="method-source-code"
|
|
1165
1162
|
id="first-tring--source">
|
|
1166
1163
|
<pre>
|
|
1167
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
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
1171
|
</div>
|
|
1175
1172
|
|
|
1176
1173
|
</div>
|
|
@@ -1201,11 +1198,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1201
1198
|
<div class="method-source-code"
|
|
1202
1199
|
id="mid-acro-all-source">
|
|
1203
1200
|
<pre>
|
|
1204
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
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>
|
|
1209
1206
|
</div>
|
|
1210
1207
|
|
|
1211
1208
|
</div>
|
|
@@ -1236,11 +1233,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1236
1233
|
<div class="method-source-code"
|
|
1237
1234
|
id="mid-acro-ef-source">
|
|
1238
1235
|
<pre>
|
|
1239
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
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>
|
|
1244
1241
|
</div>
|
|
1245
1242
|
|
|
1246
1243
|
</div>
|
|
@@ -1271,12 +1268,12 @@ to detect the tokens of the TJP syntax.
|
|
|
1271
1268
|
<div class="method-source-code"
|
|
1272
1269
|
id="mid-tring--source">
|
|
1273
1270
|
<pre>
|
|
1274
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
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 ".</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">/\\"/</span>, <span class="ruby-value str">'"'</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>
|
|
1280
1277
|
</div>
|
|
1281
1278
|
|
|
1282
1279
|
</div>
|
|
@@ -1307,12 +1304,12 @@ to detect the tokens of the TJP syntax.
|
|
|
1307
1304
|
<div class="method-source-code"
|
|
1308
1305
|
id="mid-tring--source">
|
|
1309
1306
|
<pre>
|
|
1310
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
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">"'"</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>
|
|
1316
1313
|
</div>
|
|
1317
1314
|
|
|
1318
1315
|
</div>
|
|
@@ -1343,17 +1340,17 @@ to detect the tokens of the TJP syntax.
|
|
|
1343
1340
|
<div class="method-source-code"
|
|
1344
1341
|
id="mid-tring--source">
|
|
1345
1342
|
<pre>
|
|
1346
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
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"><</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>]
|
|
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>
|
|
1357
1354
|
</div>
|
|
1358
1355
|
|
|
1359
1356
|
</div>
|
|
@@ -1384,11 +1381,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1384
1381
|
<div class="method-source-code"
|
|
1385
1382
|
id="new-os-source">
|
|
1386
1383
|
<pre>
|
|
1387
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
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>
|
|
1392
1389
|
</div>
|
|
1393
1390
|
|
|
1394
1391
|
</div>
|
|
@@ -1419,11 +1416,11 @@ to detect the tokens of the TJP syntax.
|
|
|
1419
1416
|
<div class="method-source-code"
|
|
1420
1417
|
id="start-omment-source">
|
|
1421
1418
|
<pre>
|
|
1422
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
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>
|
|
1427
1424
|
</div>
|
|
1428
1425
|
|
|
1429
1426
|
</div>
|
|
@@ -1454,13 +1451,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1454
1451
|
<div class="method-source-code"
|
|
1455
1452
|
id="start-acro-all-source">
|
|
1456
1453
|
<pre>
|
|
1457
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
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
1461
|
</div>
|
|
1465
1462
|
|
|
1466
1463
|
</div>
|
|
@@ -1491,13 +1488,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1491
1488
|
<div class="method-source-code"
|
|
1492
1489
|
id="start-acro-ef-source">
|
|
1493
1490
|
<pre>
|
|
1494
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
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
1498
|
</div>
|
|
1502
1499
|
|
|
1503
1500
|
</div>
|
|
@@ -1528,13 +1525,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1528
1525
|
<div class="method-source-code"
|
|
1529
1526
|
id="start-tring--source">
|
|
1530
1527
|
<pre>
|
|
1531
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
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 " and remove the backslashes from escaped ".</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">/\\"/</span>, <span class="ruby-value str">'"'</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
1535
|
</div>
|
|
1539
1536
|
|
|
1540
1537
|
</div>
|
|
@@ -1565,13 +1562,13 @@ to detect the tokens of the TJP syntax.
|
|
|
1565
1562
|
<div class="method-source-code"
|
|
1566
1563
|
id="start-tring--source">
|
|
1567
1564
|
<pre>
|
|
1568
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
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">"'"</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
1572
|
</div>
|
|
1576
1573
|
|
|
1577
1574
|
</div>
|
|
@@ -1602,21 +1599,21 @@ to detect the tokens of the TJP syntax.
|
|
|
1602
1599
|
<div class="method-source-code"
|
|
1603
1600
|
id="start-tring--source">
|
|
1604
1601
|
<pre>
|
|
1605
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
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">&&</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>
|
|
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<- 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>
|
|
1620
1617
|
</div>
|
|
1621
1618
|
|
|
1622
1619
|
</div>
|
|
@@ -1647,10 +1644,10 @@ to detect the tokens of the TJP syntax.
|
|
|
1647
1644
|
<div class="method-source-code"
|
|
1648
1645
|
id="to-date-source">
|
|
1649
1646
|
<pre>
|
|
1650
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
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>
|
|
1654
1651
|
</div>
|
|
1655
1652
|
|
|
1656
1653
|
</div>
|
|
@@ -1681,10 +1678,10 @@ to detect the tokens of the TJP syntax.
|
|
|
1681
1678
|
<div class="method-source-code"
|
|
1682
1679
|
id="to-f-source">
|
|
1683
1680
|
<pre>
|
|
1684
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1681
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 157</span>
|
|
1682
|
+
157: <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>)
|
|
1683
|
+
158: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>.<span class="ruby-identifier">to_f</span> ]
|
|
1684
|
+
159: <span class="ruby-keyword kw">end</span></pre>
|
|
1688
1685
|
</div>
|
|
1689
1686
|
|
|
1690
1687
|
</div>
|
|
@@ -1715,10 +1712,10 @@ to detect the tokens of the TJP syntax.
|
|
|
1715
1712
|
<div class="method-source-code"
|
|
1716
1713
|
id="to-i-source">
|
|
1717
1714
|
<pre>
|
|
1718
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1715
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 153</span>
|
|
1716
|
+
153: <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>)
|
|
1717
|
+
154: [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>.<span class="ruby-identifier">to_i</span> ]
|
|
1718
|
+
155: <span class="ruby-keyword kw">end</span></pre>
|
|
1722
1719
|
</div>
|
|
1723
1720
|
|
|
1724
1721
|
</div>
|
|
@@ -1749,14 +1746,14 @@ to detect the tokens of the TJP syntax.
|
|
|
1749
1746
|
<div class="method-source-code"
|
|
1750
1747
|
id="to-time-source">
|
|
1751
1748
|
<pre>
|
|
1752
|
-
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1749
|
+
<span class="ruby-comment cmt"># File lib/ProjectFileScanner.rb, line 161</span>
|
|
1750
|
+
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>)
|
|
1752
|
+
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>
|
|
1760
1757
|
</div>
|
|
1761
1758
|
|
|
1762
1759
|
</div>
|