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
|
@@ -133,6 +133,8 @@
|
|
|
133
133
|
|
|
134
134
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
135
135
|
|
|
136
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
137
|
+
|
|
136
138
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
137
139
|
|
|
138
140
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -211,6 +213,8 @@
|
|
|
211
213
|
|
|
212
214
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
213
215
|
|
|
216
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
217
|
+
|
|
214
218
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
215
219
|
|
|
216
220
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -243,6 +247,8 @@
|
|
|
243
247
|
|
|
244
248
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
245
249
|
|
|
250
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
251
|
+
|
|
246
252
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
247
253
|
|
|
248
254
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -523,6 +529,8 @@
|
|
|
523
529
|
|
|
524
530
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
525
531
|
|
|
532
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
533
|
+
|
|
526
534
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
527
535
|
|
|
528
536
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -549,8 +557,6 @@
|
|
|
549
557
|
|
|
550
558
|
<li><a href="../String.html">String</a></li>
|
|
551
559
|
|
|
552
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
553
|
-
|
|
554
560
|
</ul>
|
|
555
561
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
556
562
|
</div>
|
|
@@ -694,13 +700,13 @@ footer and a central text with margin elements left and right.
|
|
|
694
700
|
<div class="method-source-code"
|
|
695
701
|
id="new-source">
|
|
696
702
|
<pre>
|
|
697
|
-
<span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
703
|
+
<span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 25</span>
|
|
704
|
+
25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">report</span>)
|
|
705
|
+
26: <span class="ruby-keyword kw">super</span>
|
|
706
|
+
27:
|
|
707
|
+
28: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-ivar">@cWidth</span> = <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">0</span>
|
|
708
|
+
29: <span class="ruby-ivar">@lPadding</span> = <span class="ruby-ivar">@cPadding</span> = <span class="ruby-ivar">@rPadding</span> = <span class="ruby-value">0</span>
|
|
709
|
+
30: <span class="ruby-keyword kw">end</span></pre>
|
|
704
710
|
</div>
|
|
705
711
|
|
|
706
712
|
</div>
|
|
@@ -737,38 +743,38 @@ footer and a central text with margin elements left and right.
|
|
|
737
743
|
<div class="method-source-code"
|
|
738
744
|
id="generate-ntermediate-ormat-source">
|
|
739
745
|
<pre>
|
|
740
|
-
<span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line
|
|
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
|
-
|
|
746
|
+
<span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 32</span>
|
|
747
|
+
32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
|
|
748
|
+
33: <span class="ruby-keyword kw">super</span>
|
|
749
|
+
34:
|
|
750
|
+
35: <span class="ruby-comment cmt"># A width of 0 means, the columns flexible.</span>
|
|
751
|
+
36: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'center'</span>)
|
|
752
|
+
37: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
|
|
753
|
+
38: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">20</span>
|
|
754
|
+
39: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">60</span>
|
|
755
|
+
40: <span class="ruby-ivar">@lPadding</span> = <span class="ruby-ivar">@cPadding</span> = <span class="ruby-value">2</span>
|
|
756
|
+
41: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
|
|
757
|
+
42: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-value">25</span>
|
|
758
|
+
43: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">75</span>
|
|
759
|
+
44: <span class="ruby-ivar">@lPadding</span> = <span class="ruby-value">2</span>
|
|
760
|
+
45: <span class="ruby-keyword kw">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
|
|
761
|
+
46: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">75</span>
|
|
762
|
+
47: <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">25</span>
|
|
763
|
+
48: <span class="ruby-ivar">@cPadding</span> = <span class="ruby-value">2</span>
|
|
764
|
+
49: <span class="ruby-keyword kw">else</span>
|
|
765
|
+
50: <span class="ruby-ivar">@cWidth</span> = <span class="ruby-value">100</span>
|
|
766
|
+
51: <span class="ruby-keyword kw">end</span>
|
|
767
|
+
52: <span class="ruby-keyword kw">else</span>
|
|
768
|
+
53: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
|
|
769
|
+
54: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">50</span>
|
|
770
|
+
55: <span class="ruby-ivar">@lPadding</span> = <span class="ruby-value">2</span>
|
|
771
|
+
56: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
|
|
772
|
+
57: <span class="ruby-ivar">@lWidth</span> = <span class="ruby-value">100</span>
|
|
773
|
+
58: <span class="ruby-keyword kw">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
|
|
774
|
+
59: <span class="ruby-ivar">@rWidth</span> = <span class="ruby-value">100</span>
|
|
775
|
+
60: <span class="ruby-keyword kw">end</span>
|
|
776
|
+
61: <span class="ruby-keyword kw">end</span>
|
|
777
|
+
62: <span class="ruby-keyword kw">end</span></pre>
|
|
772
778
|
</div>
|
|
773
779
|
|
|
774
780
|
</div>
|
|
@@ -799,13 +805,13 @@ footer and a central text with margin elements left and right.
|
|
|
799
805
|
<div class="method-source-code"
|
|
800
806
|
id="to-csv-source">
|
|
801
807
|
<pre>
|
|
802
|
-
<span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
808
|
+
<span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 90</span>
|
|
809
|
+
90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
|
|
810
|
+
91: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-value str">'text_report_no_csv'</span>,
|
|
811
|
+
92: <span class="ruby-node">"textreport '#{@report.fullId}' cannot be converted "</span> <span class="ruby-operator">+</span>
|
|
812
|
+
93: <span class="ruby-value str">"into CSV format"</span>)
|
|
813
|
+
94: <span class="ruby-keyword kw">nil</span>
|
|
814
|
+
95: <span class="ruby-keyword kw">end</span></pre>
|
|
809
815
|
</div>
|
|
810
816
|
|
|
811
817
|
</div>
|
|
@@ -836,32 +842,32 @@ footer and a central text with margin elements left and right.
|
|
|
836
842
|
<div class="method-source-code"
|
|
837
843
|
id="to-html-source">
|
|
838
844
|
<pre>
|
|
839
|
-
<span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
845
|
+
<span class="ruby-comment cmt"># File lib/reports/TextReport.rb, line 64</span>
|
|
846
|
+
64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
|
|
847
|
+
65: <span class="ruby-identifier">html</span> = []
|
|
848
|
+
66: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'header'</span>)
|
|
849
|
+
67: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'left'</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'center'</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'right'</span>)
|
|
850
|
+
68: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'tj_text_page'</span>,
|
|
851
|
+
69: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'0'</span>))
|
|
852
|
+
70: <span class="ruby-identifier">table</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">row</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'tj_text_row'</span>))
|
|
853
|
+
71: <span class="ruby-node">%( left center right)</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
854
|
+
72: <span class="ruby-identifier">width</span> = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">i</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">chr</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'Width'</span>)
|
|
855
|
+
73: <span class="ruby-identifier">padding</span> = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">'@'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">i</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">chr</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'Padding'</span>)
|
|
856
|
+
74: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-identifier">i</span>)
|
|
857
|
+
75: <span class="ruby-identifier">row</span> <span class="ruby-operator"><<</span> (<span class="ruby-identifier">col</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-node">"tj_column_#{i}"</span>))
|
|
858
|
+
76: <span class="ruby-identifier">style</span> = <span class="ruby-value str">''</span>
|
|
859
|
+
77: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"width:#{width}%; "</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">width</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
860
|
+
78: <span class="ruby-identifier">style</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"padding-right:#{padding}%; "</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">padding</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
861
|
+
79: <span class="ruby-identifier">col</span>[<span class="ruby-value str">'style'</span>] = <span class="ruby-identifier">style</span>
|
|
862
|
+
80: <span class="ruby-identifier">col</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-identifier">i</span>)
|
|
863
|
+
81: <span class="ruby-keyword kw">end</span>
|
|
864
|
+
82: <span class="ruby-keyword kw">end</span>
|
|
865
|
+
83:
|
|
866
|
+
84: <span class="ruby-keyword kw">end</span>
|
|
867
|
+
85: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'footer'</span>)
|
|
868
|
+
86:
|
|
869
|
+
87: <span class="ruby-identifier">html</span>
|
|
870
|
+
88: <span class="ruby-keyword kw">end</span></pre>
|
|
865
871
|
</div>
|
|
866
872
|
|
|
867
873
|
</div>
|
|
@@ -172,6 +172,8 @@
|
|
|
172
172
|
|
|
173
173
|
<li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
174
174
|
|
|
175
|
+
<li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
176
|
+
|
|
175
177
|
<li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
176
178
|
|
|
177
179
|
<li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -250,6 +252,8 @@
|
|
|
250
252
|
|
|
251
253
|
<li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
252
254
|
|
|
255
|
+
<li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
256
|
+
|
|
253
257
|
<li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
254
258
|
|
|
255
259
|
<li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -282,6 +286,8 @@
|
|
|
282
286
|
|
|
283
287
|
<li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
284
288
|
|
|
289
|
+
<li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
290
|
+
|
|
285
291
|
<li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
286
292
|
|
|
287
293
|
<li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -562,6 +568,8 @@
|
|
|
562
568
|
|
|
563
569
|
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
564
570
|
|
|
571
|
+
<li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
572
|
+
|
|
565
573
|
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
566
574
|
|
|
567
575
|
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -588,8 +596,6 @@
|
|
|
588
596
|
|
|
589
597
|
<li><a href="../String.html">String</a></li>
|
|
590
598
|
|
|
591
|
-
<li><a href="../StringIO.html">StringIO</a></li>
|
|
592
|
-
|
|
593
599
|
</ul>
|
|
594
600
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
595
601
|
</div>
|
|
@@ -653,46 +659,46 @@ messages.
|
|
|
653
659
|
<div class="method-source-code"
|
|
654
660
|
id="new-source">
|
|
655
661
|
<pre>
|
|
656
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
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
|
-
|
|
662
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 189</span>
|
|
663
|
+
189: <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>, <span class="ruby-identifier">tokenPatterns</span>, <span class="ruby-identifier">defaultMode</span>)
|
|
664
|
+
190: <span class="ruby-ivar">@masterFile</span> = <span class="ruby-identifier">masterFile</span>
|
|
665
|
+
191: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-identifier">messageHandler</span>
|
|
666
|
+
192: <span class="ruby-comment cmt"># This table contains all macros that may be expanded when found in the</span>
|
|
667
|
+
193: <span class="ruby-comment cmt"># text.</span>
|
|
668
|
+
194: <span class="ruby-ivar">@macroTable</span> = <span class="ruby-constant">MacroTable</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">messageHandler</span>)
|
|
669
|
+
195: <span class="ruby-comment cmt"># The currently processed IO object.</span>
|
|
670
|
+
196: <span class="ruby-ivar">@cf</span> = <span class="ruby-keyword kw">nil</span>
|
|
671
|
+
197: <span class="ruby-comment cmt"># This Array stores the currently processed nested files. It's an Array</span>
|
|
672
|
+
198: <span class="ruby-comment cmt"># of Arrays. The nested Array consists of 2 elements, the IO object and</span>
|
|
673
|
+
199: <span class="ruby-comment cmt"># the @tokenBuffer.</span>
|
|
674
|
+
200: <span class="ruby-ivar">@fileStack</span> = []
|
|
675
|
+
201: <span class="ruby-comment cmt"># This flag is set if we have reached the end of a file. Since we will</span>
|
|
676
|
+
202: <span class="ruby-comment cmt"># only know when the next new token is requested that the file is really</span>
|
|
677
|
+
203: <span class="ruby-comment cmt"># done now, we have to use this flag.</span>
|
|
678
|
+
204: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">false</span>
|
|
679
|
+
205: <span class="ruby-comment cmt"># True if the scanner operates on a buffer.</span>
|
|
680
|
+
206: <span class="ruby-ivar">@fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>
|
|
681
|
+
207: <span class="ruby-comment cmt"># A SourceFileInfo of the start of the currently processed token.</span>
|
|
682
|
+
208: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-keyword kw">nil</span>
|
|
683
|
+
209: <span class="ruby-comment cmt"># Line number correction for error messages.</span>
|
|
684
|
+
210: <span class="ruby-ivar">@lineDelta</span> = <span class="ruby-value">0</span>
|
|
685
|
+
211: <span class="ruby-comment cmt"># Lists of regexps that describe the detectable tokens. The Arrays are</span>
|
|
686
|
+
212: <span class="ruby-comment cmt"># grouped by mode.</span>
|
|
687
|
+
213: <span class="ruby-ivar">@patternsByMode</span> = { }
|
|
688
|
+
214: <span class="ruby-comment cmt"># The currently active scanner mode.</span>
|
|
689
|
+
215: <span class="ruby-ivar">@scannerMode</span> = <span class="ruby-keyword kw">nil</span>
|
|
690
|
+
216: <span class="ruby-comment cmt"># Points to the currently active pattern set as defined by the mode.</span>
|
|
691
|
+
217: <span class="ruby-ivar">@activePatterns</span> = <span class="ruby-keyword kw">nil</span>
|
|
692
|
+
218:
|
|
693
|
+
219: <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>
|
|
694
|
+
220: <span class="ruby-identifier">type</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">0</span>]
|
|
695
|
+
221: <span class="ruby-identifier">regExp</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">1</span>]
|
|
696
|
+
222: <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>
|
|
697
|
+
223: <span class="ruby-identifier">postProc</span> = <span class="ruby-identifier">pat</span>[<span class="ruby-value">3</span>]
|
|
698
|
+
224: <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>)
|
|
699
|
+
225: <span class="ruby-keyword kw">end</span>
|
|
700
|
+
226: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mode</span> = <span class="ruby-identifier">defaultMode</span>
|
|
701
|
+
227: <span class="ruby-keyword kw">end</span></pre>
|
|
696
702
|
</div>
|
|
697
703
|
|
|
698
704
|
</div>
|
|
@@ -731,10 +737,10 @@ Add a <a href="Macro.html">Macro</a> to the macro translation table.
|
|
|
731
737
|
<div class="method-source-code"
|
|
732
738
|
id="add-acro-source">
|
|
733
739
|
<pre>
|
|
734
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
740
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 447</span>
|
|
741
|
+
447: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addMacro</span>(<span class="ruby-identifier">macro</span>)
|
|
742
|
+
448: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">macro</span>)
|
|
743
|
+
449: <span class="ruby-keyword kw">end</span></pre>
|
|
738
744
|
</div>
|
|
739
745
|
|
|
740
746
|
</div>
|
|
@@ -775,20 +781,20 @@ href="../String.html">String</a> and returns them again in an Array.
|
|
|
775
781
|
<div class="method-source-code"
|
|
776
782
|
id="add-attern-source">
|
|
777
783
|
<pre>
|
|
778
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
784
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 237</span>
|
|
785
|
+
237: <span class="ruby-keyword kw">def</span> <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> = <span class="ruby-keyword kw">nil</span>)
|
|
786
|
+
238: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">mode</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
|
|
787
|
+
239: <span class="ruby-identifier">mode</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span>
|
|
788
|
+
240: <span class="ruby-comment cmt"># The pattern is active in multiple modes</span>
|
|
789
|
+
241: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">m</span>] = [] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@patternsByMode</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">m</span>)
|
|
790
|
+
242: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">m</span>] <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">regExp</span>, <span class="ruby-identifier">postProc</span> ]
|
|
791
|
+
243: <span class="ruby-keyword kw">end</span>
|
|
792
|
+
244: <span class="ruby-keyword kw">else</span>
|
|
793
|
+
245: <span class="ruby-comment cmt"># The pattern is only active in one specific mode.</span>
|
|
794
|
+
246: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">mode</span>] = [] <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@patternsByMode</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">mode</span>)
|
|
795
|
+
247: <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">mode</span>] <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">regExp</span>, <span class="ruby-identifier">postProc</span> ]
|
|
796
|
+
248: <span class="ruby-keyword kw">end</span>
|
|
797
|
+
249: <span class="ruby-keyword kw">end</span></pre>
|
|
792
798
|
</div>
|
|
793
799
|
|
|
794
800
|
</div>
|
|
@@ -821,15 +827,15 @@ Finish processing and reset all data structures.
|
|
|
821
827
|
<div class="method-source-code"
|
|
822
828
|
id="close-source">
|
|
823
829
|
<pre>
|
|
824
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
830
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 279</span>
|
|
831
|
+
279: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
|
|
832
|
+
280: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@fileNameIsBuffer</span>
|
|
833
|
+
281: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Reading file #{@masterFile}"</span>)
|
|
834
|
+
282: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
|
835
|
+
283: <span class="ruby-keyword kw">end</span>
|
|
836
|
+
284: <span class="ruby-ivar">@fileStack</span> = []
|
|
837
|
+
285: <span class="ruby-ivar">@cf</span> = <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
838
|
+
286: <span class="ruby-keyword kw">end</span></pre>
|
|
833
839
|
</div>
|
|
834
840
|
|
|
835
841
|
</div>
|
|
@@ -862,10 +868,10 @@ Call this function to report any errors related to the parsed input.
|
|
|
862
868
|
<div class="method-source-code"
|
|
863
869
|
id="error-source">
|
|
864
870
|
<pre>
|
|
865
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
871
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 476</span>
|
|
872
|
+
476: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">data</span> = <span class="ruby-keyword kw">nil</span>)
|
|
873
|
+
477: <span class="ruby-identifier">message</span>(<span class="ruby-value">:error</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">data</span>)
|
|
874
|
+
478: <span class="ruby-keyword kw">end</span></pre>
|
|
869
875
|
</div>
|
|
870
876
|
|
|
871
877
|
</div>
|
|
@@ -901,21 +907,21 @@ is the macro name, the rest are the parameters.
|
|
|
901
907
|
<div class="method-source-code"
|
|
902
908
|
id="expand-acro-source">
|
|
903
909
|
<pre>
|
|
904
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
458: <span class="ruby-keyword kw">end</span>
|
|
911
|
-
459:
|
|
912
|
-
460: <span class="ruby-comment cmt"># If the expanded macro is empty, we can ignore it.</span>
|
|
913
|
-
461: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span>
|
|
914
|
-
462:
|
|
915
|
-
463: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">injectMacro</span>(<span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">text</span>)
|
|
916
|
-
464: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'macro_stack_overflow'</span>, <span class="ruby-value str">"Too many nested macro calls."</span>)
|
|
910
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 460</span>
|
|
911
|
+
460: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">prefix</span>, <span class="ruby-identifier">args</span>)
|
|
912
|
+
461: <span class="ruby-comment cmt"># Get the expanded macro from the @macroTable.</span>
|
|
913
|
+
462: <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">text</span> = <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">sourceFileInfo</span>)
|
|
914
|
+
463: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">macro</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">text</span>
|
|
915
|
+
464: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'undefined_macro'</span>, <span class="ruby-node">"Undefined macro '#{args[0]}' called"</span>)
|
|
917
916
|
465: <span class="ruby-keyword kw">end</span>
|
|
918
|
-
466:
|
|
917
|
+
466:
|
|
918
|
+
467: <span class="ruby-comment cmt"># If the expanded macro is empty, we can ignore it.</span>
|
|
919
|
+
468: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span>
|
|
920
|
+
469:
|
|
921
|
+
470: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">injectMacro</span>(<span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">prefix</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">text</span>)
|
|
922
|
+
471: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'macro_stack_overflow'</span>, <span class="ruby-value str">"Too many nested macro calls."</span>)
|
|
923
|
+
472: <span class="ruby-keyword kw">end</span>
|
|
924
|
+
473: <span class="ruby-keyword kw">end</span></pre>
|
|
919
925
|
</div>
|
|
920
926
|
|
|
921
927
|
</div>
|
|
@@ -949,10 +955,10 @@ text buffer, the text will be returned.
|
|
|
949
955
|
<div class="method-source-code"
|
|
950
956
|
id="file-ame-source">
|
|
951
957
|
<pre>
|
|
952
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
958
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 336</span>
|
|
959
|
+
336: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileName</span>
|
|
960
|
+
337: <span class="ruby-ivar">@cf</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">fileName</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@masterFile</span>
|
|
961
|
+
338: <span class="ruby-keyword kw">end</span></pre>
|
|
956
962
|
</div>
|
|
957
963
|
|
|
958
964
|
</div>
|
|
@@ -969,7 +975,7 @@ text buffer, the text will be returned.
|
|
|
969
975
|
<div class="method-heading">
|
|
970
976
|
|
|
971
977
|
<span class="method-name">include</span><span
|
|
972
|
-
class="method-args">(includeFileName, sfi)</span>
|
|
978
|
+
class="method-args">(includeFileName, sfi, &block)</span>
|
|
973
979
|
<span class="method-click-advice">click to toggle source</span>
|
|
974
980
|
|
|
975
981
|
</div>
|
|
@@ -988,41 +994,42 @@ qualified name of the included file.
|
|
|
988
994
|
<div class="method-source-code"
|
|
989
995
|
id="include-source">
|
|
990
996
|
<pre>
|
|
991
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
997
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 292</span>
|
|
998
|
+
292: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">include</span>(<span class="ruby-identifier">includeFileName</span>, <span class="ruby-identifier">sfi</span>, &<span class="ruby-identifier">block</span>)
|
|
999
|
+
293: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">includeFileName</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'/'</span>
|
|
1000
|
+
294: <span class="ruby-identifier">pathOfCallingFile</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">dirname</span>
|
|
1001
|
+
295: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">pathOfCallingFile</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-value str">''</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">pathOfCallingFile</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
|
|
1002
|
+
296: <span class="ruby-comment cmt"># If the included file is not an absolute name, we interpret the file</span>
|
|
1003
|
+
297: <span class="ruby-comment cmt"># name relative to the including file.</span>
|
|
1004
|
+
298: <span class="ruby-identifier">includeFileName</span> = <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">includeFileName</span>
|
|
1005
|
+
299: <span class="ruby-keyword kw">end</span>
|
|
1006
|
+
300:
|
|
1007
|
+
301: <span class="ruby-comment cmt"># Try to dectect recursive inclusions. This will not work if files are</span>
|
|
1008
|
+
302: <span class="ruby-comment cmt"># accessed via filesystem links.</span>
|
|
1009
|
+
303: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
|
|
1010
|
+
304: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">includeFileName</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">fileName</span>
|
|
1011
|
+
305: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'include_recursion'</span>,
|
|
1012
|
+
306: <span class="ruby-node">"Recursive inclusion of #{includeFileName} detected"</span>, <span class="ruby-identifier">sfi</span>)
|
|
1013
|
+
307: <span class="ruby-keyword kw">end</span>
|
|
1014
|
+
308: <span class="ruby-keyword kw">end</span>
|
|
1015
|
+
309:
|
|
1016
|
+
310: <span class="ruby-comment cmt"># Save @tokenBuffer in the record of the parent file.</span>
|
|
1017
|
+
311: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">1</span>] = <span class="ruby-ivar">@tokenBuffer</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">empty?</span>
|
|
1018
|
+
312: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1019
|
+
313: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">false</span>
|
|
1020
|
+
314:
|
|
1021
|
+
315: <span class="ruby-comment cmt"># Open the new file and push the handle on the @fileStack.</span>
|
|
1022
|
+
316: <span class="ruby-keyword kw">begin</span>
|
|
1023
|
+
317: <span class="ruby-ivar">@fileStack</span> <span class="ruby-operator"><<</span> [ (<span class="ruby-ivar">@cf</span> = <span class="ruby-constant">FileStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">includeFileName</span>)),
|
|
1024
|
+
318: <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">block</span> ]
|
|
1025
|
+
319: <span class="ruby-constant">Log</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"Parsing file #{includeFileName}"</span>
|
|
1026
|
+
320: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
|
|
1027
|
+
321: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'bad_include'</span>, <span class="ruby-node">"Cannot open include file #{includeFileName}"</span>, <span class="ruby-identifier">sfi</span>)
|
|
1028
|
+
322: <span class="ruby-keyword kw">end</span>
|
|
1029
|
+
323:
|
|
1030
|
+
324: <span class="ruby-comment cmt"># Return the name of the included file.</span>
|
|
1031
|
+
325: <span class="ruby-identifier">includeFileName</span>
|
|
1032
|
+
326: <span class="ruby-keyword kw">end</span></pre>
|
|
1026
1033
|
</div>
|
|
1027
1034
|
|
|
1028
1035
|
</div>
|
|
@@ -1056,10 +1063,10 @@ added already.
|
|
|
1056
1063
|
<div class="method-source-code"
|
|
1057
1064
|
id="macro-efined--source">
|
|
1058
1065
|
<pre>
|
|
1059
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1066
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 452</span>
|
|
1067
|
+
452: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">macroDefined?</span>(<span class="ruby-identifier">name</span>)
|
|
1068
|
+
453: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
|
|
1069
|
+
454: <span class="ruby-keyword kw">end</span></pre>
|
|
1063
1070
|
</div>
|
|
1064
1071
|
|
|
1065
1072
|
</div>
|
|
@@ -1093,13 +1100,13 @@ patterns of that <em>newMode</em>.
|
|
|
1093
1100
|
<div class="method-source-code"
|
|
1094
1101
|
id="mode--source">
|
|
1095
1102
|
<pre>
|
|
1096
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 253</span>
|
|
1104
|
+
253: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mode=</span>(<span class="ruby-identifier">newMode</span>)
|
|
1105
|
+
254: <span class="ruby-comment cmt">#puts "**** New mode: #{newMode}"</span>
|
|
1106
|
+
255: <span class="ruby-ivar">@activePatterns</span> = <span class="ruby-ivar">@patternsByMode</span>[<span class="ruby-identifier">newMode</span>]
|
|
1107
|
+
256: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Undefined mode #{newMode}"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@activePatterns</span>
|
|
1108
|
+
257: <span class="ruby-ivar">@scannerMode</span> = <span class="ruby-identifier">newMode</span>
|
|
1109
|
+
258: <span class="ruby-keyword kw">end</span></pre>
|
|
1103
1110
|
</div>
|
|
1104
1111
|
|
|
1105
1112
|
</div>
|
|
@@ -1135,81 +1142,86 @@ started.
|
|
|
1135
1142
|
<div class="method-source-code"
|
|
1136
1143
|
id="next-oken-source">
|
|
1137
1144
|
<pre>
|
|
1138
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
367: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cf</span>
|
|
1154
|
-
368: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">pop</span>
|
|
1145
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 355</span>
|
|
1146
|
+
355: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
|
|
1147
|
+
356: <span class="ruby-comment cmt"># If we have a pushed-back token, return that first.</span>
|
|
1148
|
+
357: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
|
|
1149
|
+
358: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@tokenBuffer</span>
|
|
1150
|
+
359: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1151
|
+
360: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
|
|
1152
|
+
361: <span class="ruby-keyword kw">end</span>
|
|
1153
|
+
362:
|
|
1154
|
+
363: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@finishLastFile</span>
|
|
1155
|
+
364: <span class="ruby-comment cmt"># The previously processed file has now really been processed to</span>
|
|
1156
|
+
365: <span class="ruby-comment cmt"># completion. Close it and remove the corresponding entry from the</span>
|
|
1157
|
+
366: <span class="ruby-comment cmt"># @fileStack.</span>
|
|
1158
|
+
367: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">false</span>
|
|
1159
|
+
368: <span class="ruby-comment cmt">#Log << "Completed file #{@cf.fileName}"</span>
|
|
1155
1160
|
369:
|
|
1156
|
-
370: <span class="ruby-
|
|
1157
|
-
371:
|
|
1158
|
-
372:
|
|
1159
|
-
373:
|
|
1160
|
-
374:
|
|
1161
|
-
375: <span class="ruby-
|
|
1162
|
-
376:
|
|
1163
|
-
377:
|
|
1164
|
-
378: <span class="ruby-
|
|
1165
|
-
379: <span class="ruby-
|
|
1166
|
-
380: <span class="ruby-
|
|
1167
|
-
381: <span class="ruby-keyword kw">
|
|
1168
|
-
382:
|
|
1169
|
-
383:
|
|
1170
|
-
384: <span class="ruby-
|
|
1171
|
-
385:
|
|
1172
|
-
386:
|
|
1173
|
-
387:
|
|
1174
|
-
388:
|
|
1175
|
-
389:
|
|
1176
|
-
390:
|
|
1177
|
-
391:
|
|
1178
|
-
392: <span class="ruby-keyword kw">
|
|
1179
|
-
393:
|
|
1180
|
-
394:
|
|
1181
|
-
395:
|
|
1182
|
-
396:
|
|
1183
|
-
397:
|
|
1184
|
-
398:
|
|
1185
|
-
399:
|
|
1186
|
-
400:
|
|
1187
|
-
401:
|
|
1188
|
-
402: <span class="ruby-
|
|
1189
|
-
403:
|
|
1190
|
-
404:
|
|
1191
|
-
405:
|
|
1192
|
-
406:
|
|
1193
|
-
407: <span class="ruby-keyword kw">
|
|
1161
|
+
370: <span class="ruby-comment cmt"># If we have a block to be executed on EOF, we call it now.</span>
|
|
1162
|
+
371: <span class="ruby-identifier">onEof</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">2</span>]
|
|
1163
|
+
372: <span class="ruby-identifier">onEof</span>.<span class="ruby-identifier">call</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">onEof</span>
|
|
1164
|
+
373:
|
|
1165
|
+
374: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cf</span>
|
|
1166
|
+
375: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">pop</span>
|
|
1167
|
+
376:
|
|
1168
|
+
377: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">empty?</span>
|
|
1169
|
+
378: <span class="ruby-comment cmt"># We are done with the top-level file now.</span>
|
|
1170
|
+
379: <span class="ruby-ivar">@cf</span> = <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1171
|
+
380: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">true</span>
|
|
1172
|
+
381: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value">:endOfText</span>, <span class="ruby-value str">'<EOT>'</span>, <span class="ruby-ivar">@startOfToken</span> ]
|
|
1173
|
+
382: <span class="ruby-keyword kw">else</span>
|
|
1174
|
+
383: <span class="ruby-comment cmt"># Continue parsing the file that included the current file.</span>
|
|
1175
|
+
384: <span class="ruby-ivar">@cf</span>, <span class="ruby-identifier">tokenBuffer</span> = <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>
|
|
1176
|
+
385: <span class="ruby-constant">Log</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"Parsing file #{@cf.fileName} ..."</span>
|
|
1177
|
+
386: <span class="ruby-comment cmt"># If we have a left over token from previously processing this file,</span>
|
|
1178
|
+
387: <span class="ruby-comment cmt"># return it now.</span>
|
|
1179
|
+
388: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tokenBuffer</span>
|
|
1180
|
+
389: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tokenBuffer</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">:eof</span>
|
|
1181
|
+
390: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">tokenBuffer</span>
|
|
1182
|
+
391: <span class="ruby-keyword kw">end</span>
|
|
1183
|
+
392: <span class="ruby-keyword kw">end</span>
|
|
1184
|
+
393: <span class="ruby-keyword kw">end</span>
|
|
1185
|
+
394:
|
|
1186
|
+
395: <span class="ruby-comment cmt"># Start processing characters from the input.</span>
|
|
1187
|
+
396: <span class="ruby-ivar">@startOfToken</span> = <span class="ruby-identifier">sourceFileInfo</span>
|
|
1188
|
+
397: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
|
1189
|
+
398: <span class="ruby-identifier">match</span> = <span class="ruby-keyword kw">nil</span>
|
|
1190
|
+
399: <span class="ruby-keyword kw">begin</span>
|
|
1191
|
+
400: <span class="ruby-ivar">@activePatterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span>, <span class="ruby-identifier">re</span>, <span class="ruby-identifier">postProc</span><span class="ruby-operator">|</span>
|
|
1192
|
+
401: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">match</span> = <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-identifier">re</span>))
|
|
1193
|
+
402: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span> <span class="ruby-operator">==</span> <span class="ruby-value">:scannerEOF</span>
|
|
1194
|
+
403: <span class="ruby-comment cmt"># We've found the end of an input file. Return a special token</span>
|
|
1195
|
+
404: <span class="ruby-comment cmt"># that describes the end of a file.</span>
|
|
1196
|
+
405: <span class="ruby-ivar">@finishLastFile</span> = <span class="ruby-keyword kw">true</span>
|
|
1197
|
+
406: <span class="ruby-keyword kw">return</span> [ <span class="ruby-value">:eof</span>, <span class="ruby-value str">'<END>'</span>, <span class="ruby-ivar">@startOfToken</span> ]
|
|
1198
|
+
407: <span class="ruby-keyword kw">end</span>
|
|
1194
1199
|
408:
|
|
1195
|
-
409: <span class="ruby-
|
|
1196
|
-
410:
|
|
1197
|
-
411:
|
|
1198
|
-
412:
|
|
1199
|
-
413:
|
|
1200
|
-
414:
|
|
1200
|
+
409: <span class="ruby-identifier">raise</span> <span class="ruby-node">"#{re} matches empty string"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">empty?</span>
|
|
1201
|
+
410: <span class="ruby-comment cmt"># If we have a post processing method, call it now. It may modify</span>
|
|
1202
|
+
411: <span class="ruby-comment cmt"># the type or the found token String.</span>
|
|
1203
|
+
412: <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span> = <span class="ruby-identifier">postProc</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">postProc</span>
|
|
1204
|
+
413:
|
|
1205
|
+
414: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-comment cmt"># Ignore certain tokens with nil type.</span>
|
|
1201
1206
|
415:
|
|
1202
|
-
416:
|
|
1203
|
-
417:
|
|
1204
|
-
418:
|
|
1205
|
-
419:
|
|
1206
|
-
420: <span class="ruby-
|
|
1207
|
-
421:
|
|
1208
|
-
422:
|
|
1209
|
-
423:
|
|
1210
|
-
424:
|
|
1211
|
-
425:
|
|
1212
|
-
426:
|
|
1207
|
+
416: <span class="ruby-keyword kw">return</span> [ <span class="ruby-identifier">type</span>, <span class="ruby-identifier">match</span>, <span class="ruby-ivar">@startOfToken</span> ]
|
|
1208
|
+
417: <span class="ruby-keyword kw">end</span>
|
|
1209
|
+
418: <span class="ruby-keyword kw">end</span>
|
|
1210
|
+
419: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ArgumentError</span>
|
|
1211
|
+
420: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'scan_encoding_error'</span>, <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">to_s</span>)
|
|
1212
|
+
421: <span class="ruby-keyword kw">end</span>
|
|
1213
|
+
422:
|
|
1214
|
+
423: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">nil?</span>
|
|
1215
|
+
424: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">eof?</span>
|
|
1216
|
+
425: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'unexpected_eof'</span>,
|
|
1217
|
+
426: <span class="ruby-value str">"Unexpected end of file found"</span>)
|
|
1218
|
+
427: <span class="ruby-keyword kw">else</span>
|
|
1219
|
+
428: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'no_token_match'</span>,
|
|
1220
|
+
429: <span class="ruby-node">"Unexpected characters found: '#{@cf.peek(10)}...'"</span>)
|
|
1221
|
+
430: <span class="ruby-keyword kw">end</span>
|
|
1222
|
+
431: <span class="ruby-keyword kw">end</span>
|
|
1223
|
+
432: <span class="ruby-keyword kw">end</span>
|
|
1224
|
+
433: <span class="ruby-keyword kw">end</span></pre>
|
|
1213
1225
|
</div>
|
|
1214
1226
|
|
|
1215
1227
|
</div>
|
|
@@ -1243,21 +1255,21 @@ Start the processing. if <em>fileNameIsBuffer</em> is true, we operate on a
|
|
|
1243
1255
|
<div class="method-source-code"
|
|
1244
1256
|
id="open-source">
|
|
1245
1257
|
<pre>
|
|
1246
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1258
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 263</span>
|
|
1259
|
+
263: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileNameIsBuffer</span> = <span class="ruby-keyword kw">false</span>)
|
|
1260
|
+
264: <span class="ruby-ivar">@fileNameIsBuffer</span> = <span class="ruby-identifier">fileNameIsBuffer</span>
|
|
1261
|
+
265: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileNameIsBuffer</span>
|
|
1262
|
+
266: <span class="ruby-ivar">@fileStack</span> = [ [ <span class="ruby-ivar">@cf</span> = <span class="ruby-constant">BufferStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>), <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ] ]
|
|
1263
|
+
267: <span class="ruby-keyword kw">else</span>
|
|
1264
|
+
268: <span class="ruby-keyword kw">begin</span>
|
|
1265
|
+
269: <span class="ruby-ivar">@fileStack</span> = [ [ <span class="ruby-ivar">@cf</span> = <span class="ruby-constant">FileStreamHandle</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>), <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ] ]
|
|
1266
|
+
270: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
|
|
1267
|
+
271: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'open_file'</span>, <span class="ruby-node">"Cannot open file #{@masterFile}"</span>)
|
|
1268
|
+
272: <span class="ruby-keyword kw">end</span>
|
|
1269
|
+
273: <span class="ruby-keyword kw">end</span>
|
|
1270
|
+
274: <span class="ruby-ivar">@masterPath</span> = <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">dirname</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
|
|
1271
|
+
275: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
|
1272
|
+
276: <span class="ruby-keyword kw">end</span></pre>
|
|
1261
1273
|
</div>
|
|
1262
1274
|
|
|
1263
1275
|
</div>
|
|
@@ -1291,15 +1303,15 @@ token can be returned before the next nextToken() call.
|
|
|
1291
1303
|
<div class="method-source-code"
|
|
1292
1304
|
id="return-oken-source">
|
|
1293
1305
|
<pre>
|
|
1294
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1306
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 437</span>
|
|
1307
|
+
437: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
|
|
1308
|
+
438: <span class="ruby-comment cmt">#Log << "-> Returning Token: [#{token[0]}][#{token[1]}]"</span>
|
|
1309
|
+
439: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
|
|
1310
|
+
440: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-ivar">@tokenBuffer</span>
|
|
1311
|
+
441: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Fatal Error: Cannot return more than 1 token in a row"</span>
|
|
1312
|
+
442: <span class="ruby-keyword kw">end</span>
|
|
1313
|
+
443: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-identifier">token</span>
|
|
1314
|
+
444: <span class="ruby-keyword kw">end</span></pre>
|
|
1303
1315
|
</div>
|
|
1304
1316
|
|
|
1305
1317
|
</div>
|
|
@@ -1333,11 +1345,11 @@ processing prosition.
|
|
|
1333
1345
|
<div class="method-source-code"
|
|
1334
1346
|
id="source-ile-nfo-source">
|
|
1335
1347
|
<pre>
|
|
1336
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1348
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 329</span>
|
|
1349
|
+
329: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sourceFileInfo</span>
|
|
1350
|
+
330: <span class="ruby-ivar">@cf</span> <span class="ruby-operator">?</span> <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@lineDelta</span>, <span class="ruby-value">0</span>) <span class="ruby-operator">:</span>
|
|
1351
|
+
331: <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@masterFile</span>, <span class="ruby-value">0</span>, <span class="ruby-value">0</span>)
|
|
1352
|
+
332: <span class="ruby-keyword kw">end</span></pre>
|
|
1341
1353
|
</div>
|
|
1342
1354
|
|
|
1343
1355
|
</div>
|
|
@@ -1368,10 +1380,10 @@ processing prosition.
|
|
|
1368
1380
|
<div class="method-source-code"
|
|
1369
1381
|
id="warning-source">
|
|
1370
1382
|
<pre>
|
|
1371
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1383
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 480</span>
|
|
1384
|
+
480: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">data</span> = <span class="ruby-keyword kw">nil</span>)
|
|
1385
|
+
481: <span class="ruby-identifier">message</span>(<span class="ruby-value">:warning</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">data</span>)
|
|
1386
|
+
482: <span class="ruby-keyword kw">end</span></pre>
|
|
1375
1387
|
</div>
|
|
1376
1388
|
|
|
1377
1389
|
</div>
|
|
@@ -1408,35 +1420,35 @@ processing prosition.
|
|
|
1408
1420
|
<div class="method-source-code"
|
|
1409
1421
|
id="message-source">
|
|
1410
1422
|
<pre>
|
|
1411
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1423
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 486</span>
|
|
1424
|
+
486: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">message</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">data</span>)
|
|
1425
|
+
487: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
|
|
1426
|
+
488: <span class="ruby-identifier">line</span> = <span class="ruby-ivar">@cf</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">line</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
|
|
1427
|
+
489: <span class="ruby-identifier">sfi</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">sourceFileInfo</span>
|
|
1428
|
+
490:
|
|
1429
|
+
491: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@cf</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">macroStack</span>.<span class="ruby-identifier">empty?</span>
|
|
1430
|
+
492: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">'macro_stack'</span>, <span class="ruby-value str">'Macro call history:'</span>, <span class="ruby-keyword kw">nil</span>)
|
|
1431
|
+
493:
|
|
1432
|
+
494: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">macroStack</span>.<span class="ruby-identifier">reverse_each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
|
|
1433
|
+
495: <span class="ruby-identifier">macro</span> = <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">macro</span>
|
|
1434
|
+
496: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">entry</span>.<span class="ruby-identifier">args</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
|
|
1435
|
+
497: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-value str">'"'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'"'</span> }
|
|
1436
|
+
498: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">'macro_stack'</span>,
|
|
1437
|
+
499: <span class="ruby-node">" ${#{macro.name} #{args.join(' ')}}"</span>,
|
|
1438
|
+
500: <span class="ruby-identifier">macro</span>.<span class="ruby-identifier">sourceFileInfo</span>)
|
|
1439
|
+
501: <span class="ruby-keyword kw">end</span>
|
|
1440
|
+
502: <span class="ruby-keyword kw">end</span>
|
|
1441
|
+
503:
|
|
1442
|
+
504: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">type</span>
|
|
1443
|
+
505: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:error</span>
|
|
1444
|
+
506: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">line</span>, <span class="ruby-identifier">data</span>)
|
|
1445
|
+
507: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:warning</span>
|
|
1446
|
+
508: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">warning</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sfi</span>, <span class="ruby-identifier">line</span>, <span class="ruby-identifier">data</span>)
|
|
1447
|
+
509: <span class="ruby-keyword kw">else</span>
|
|
1448
|
+
510: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown message type #{type}"</span>
|
|
1449
|
+
511: <span class="ruby-keyword kw">end</span>
|
|
1450
|
+
512: <span class="ruby-keyword kw">end</span>
|
|
1451
|
+
513: <span class="ruby-keyword kw">end</span></pre>
|
|
1440
1452
|
</div>
|
|
1441
1453
|
|
|
1442
1454
|
</div>
|