taskjuggler 0.0.5 → 0.0.6
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 +2086 -0
- data/benchmarks/666tasks.tjp +3183 -0
- data/benchmarks/booking.tjp +14 -10
- data/doc/AppConfig.html +95 -73
- data/doc/Arguments.html +22 -2
- data/doc/CHANGELOG.html +2587 -0
- data/doc/COPYING.html +21 -1
- data/doc/Object.html +161 -122
- data/doc/README.html +21 -1
- data/doc/RuntimeConfig.html +26 -6
- data/doc/String.html +38 -18
- data/doc/StringIO.html +579 -0
- data/doc/TaskJuggler.html +251 -143
- data/doc/TaskJuggler/Account.html +26 -6
- data/doc/TaskJuggler/AccountAttribute.html +28 -8
- data/doc/TaskJuggler/AccountScenario.html +24 -4
- data/doc/TaskJuggler/Allocation.html +30 -10
- data/doc/TaskJuggler/AllocationAttribute.html +28 -8
- data/doc/TaskJuggler/AttributeBase.html +46 -26
- data/doc/TaskJuggler/AttributeDefinition.html +22 -2
- data/doc/TaskJuggler/BatchProcessor.html +40 -20
- data/doc/TaskJuggler/Booking.html +26 -6
- data/doc/TaskJuggler/BookingListAttribute.html +28 -8
- data/doc/TaskJuggler/BooleanAttribute.html +28 -8
- data/doc/TaskJuggler/CSVFile.html +308 -146
- data/doc/TaskJuggler/CellSettingPattern.html +22 -2
- data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
- data/doc/TaskJuggler/Charge.html +26 -6
- data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
- data/doc/TaskJuggler/ChargeSet.html +33 -13
- data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
- data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
- data/doc/TaskJuggler/ColumnTable.html +24 -4
- data/doc/TaskJuggler/Daemon.html +26 -6
- data/doc/TaskJuggler/DateAttribute.html +26 -6
- data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
- data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
- data/doc/TaskJuggler/DurationAttribute.html +28 -8
- data/doc/TaskJuggler/FixnumAttribute.html +24 -4
- data/doc/TaskJuggler/FlagListAttribute.html +28 -8
- data/doc/TaskJuggler/FloatAttribute.html +26 -6
- data/doc/TaskJuggler/FormatListAttribute.html +24 -4
- data/doc/TaskJuggler/GanttChart.html +147 -126
- data/doc/TaskJuggler/GanttContainer.html +34 -14
- data/doc/TaskJuggler/GanttHeader.html +28 -8
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
- data/doc/TaskJuggler/GanttLine.html +38 -18
- data/doc/TaskJuggler/GanttLoadStack.html +26 -6
- data/doc/TaskJuggler/GanttMilestone.html +34 -14
- data/doc/TaskJuggler/GanttRouter.html +50 -30
- data/doc/TaskJuggler/GanttTaskBar.html +34 -14
- data/doc/TaskJuggler/HTMLDocument.html +26 -6
- data/doc/TaskJuggler/HTMLGraphics.html +30 -10
- data/doc/TaskJuggler/Interval.html +40 -22
- data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
- data/doc/TaskJuggler/JobInfo.html +24 -4
- data/doc/TaskJuggler/Journal.html +226 -147
- data/doc/TaskJuggler/JournalEntry.html +22 -2
- data/doc/TaskJuggler/JournalEntryList.html +129 -112
- data/doc/TaskJuggler/KeywordArray.html +26 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
- data/doc/TaskJuggler/Limits.html +152 -123
- data/doc/TaskJuggler/Limits/Limit.html +149 -70
- data/doc/TaskJuggler/LimitsAttribute.html +36 -51
- data/doc/TaskJuggler/ListAttributeBase.html +24 -4
- data/doc/TaskJuggler/Log.html +50 -32
- data/doc/TaskJuggler/LogFile.html +37 -17
- data/doc/TaskJuggler/LogicalAttribute.html +53 -33
- data/doc/TaskJuggler/LogicalExpression.html +26 -6
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
- data/doc/TaskJuggler/LogicalFlag.html +42 -22
- data/doc/TaskJuggler/LogicalFunction.html +204 -140
- data/doc/TaskJuggler/LogicalOperation.html +135 -111
- data/doc/TaskJuggler/Macro.html +22 -2
- data/doc/TaskJuggler/MacroParser.html +32 -12
- data/doc/TaskJuggler/MacroTable.html +32 -12
- data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
- data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
- data/doc/TaskJuggler/Message.html +24 -4
- data/doc/TaskJuggler/MessageHandler.html +24 -4
- data/doc/TaskJuggler/Navigator.html +104 -71
- data/doc/TaskJuggler/NavigatorElement.html +32 -12
- data/doc/TaskJuggler/NikuProject.html +22 -2
- data/doc/TaskJuggler/NikuReport.html +310 -228
- data/doc/TaskJuggler/NikuResource.html +22 -2
- data/doc/TaskJuggler/NodeListAttribute.html +615 -0
- data/doc/TaskJuggler/OnShiftCache.html +32 -12
- data/doc/TaskJuggler/ProcessIntercom.html +205 -78
- data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
- data/doc/TaskJuggler/Project.html +708 -660
- data/doc/TaskJuggler/ProjectBroker.html +506 -304
- data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
- data/doc/TaskJuggler/ProjectFileParser.html +429 -373
- data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
- data/doc/TaskJuggler/ProjectRecord.html +80 -60
- data/doc/TaskJuggler/ProjectServer.html +312 -237
- data/doc/TaskJuggler/ProjectServerIface.html +101 -43
- data/doc/TaskJuggler/PropertyAttribute.html +32 -12
- data/doc/TaskJuggler/PropertyList.html +166 -145
- data/doc/TaskJuggler/PropertySet.html +254 -224
- data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
- data/doc/TaskJuggler/Query.html +169 -148
- data/doc/TaskJuggler/RTFHandlers.html +622 -0
- data/doc/TaskJuggler/RTFNavigator.html +28 -8
- data/doc/TaskJuggler/RTFQuery.html +40 -20
- data/doc/TaskJuggler/RTFReport.html +62 -25
- data/doc/TaskJuggler/RTFReportLink.html +765 -0
- data/doc/TaskJuggler/RealFormat.html +26 -6
- data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
- data/doc/TaskJuggler/Report.html +402 -251
- data/doc/TaskJuggler/ReportBase.html +162 -137
- data/doc/TaskJuggler/ReportContext.html +112 -29
- data/doc/TaskJuggler/ReportServer.html +89 -64
- data/doc/TaskJuggler/ReportServerIface.html +75 -55
- data/doc/TaskJuggler/ReportServerRecord.html +54 -31
- data/doc/TaskJuggler/ReportServlet.html +980 -0
- data/doc/TaskJuggler/ReportTable.html +41 -21
- data/doc/TaskJuggler/ReportTableCell.html +214 -170
- data/doc/TaskJuggler/ReportTableColumn.html +30 -10
- data/doc/TaskJuggler/ReportTableLegend.html +36 -16
- data/doc/TaskJuggler/ReportTableLine.html +32 -12
- data/doc/TaskJuggler/Resource.html +99 -87
- data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
- data/doc/TaskJuggler/ResourceListRE.html +47 -26
- data/doc/TaskJuggler/ResourceScenario.html +403 -437
- data/doc/TaskJuggler/RichText.html +26 -6
- data/doc/TaskJuggler/RichTextAttribute.html +50 -30
- data/doc/TaskJuggler/RichTextDocument.html +37 -17
- data/doc/TaskJuggler/RichTextElement.html +475 -413
- data/doc/TaskJuggler/RichTextException.html +22 -2
- data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
- data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
- data/doc/TaskJuggler/RichTextImage.html +22 -2
- data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
- data/doc/TaskJuggler/RichTextParser.html +56 -34
- data/doc/TaskJuggler/RichTextScanner.html +82 -61
- data/doc/TaskJuggler/RichTextSnip.html +34 -14
- data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
- data/doc/TaskJuggler/Scenario.html +22 -2
- data/doc/TaskJuggler/ScenarioData.html +30 -46
- data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
- data/doc/TaskJuggler/Scoreboard.html +42 -22
- data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
- data/doc/TaskJuggler/SheetReceiver.html +333 -295
- data/doc/TaskJuggler/SheetSender.html +253 -230
- data/doc/TaskJuggler/Shift.html +26 -6
- data/doc/TaskJuggler/ShiftAssignment.html +89 -73
- data/doc/TaskJuggler/ShiftAssignments.html +226 -234
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
- data/doc/TaskJuggler/ShiftScenario.html +28 -8
- data/doc/TaskJuggler/SortListAttribute.html +34 -14
- data/doc/TaskJuggler/SourceFileInfo.html +24 -4
- data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
- data/doc/TaskJuggler/StatusSheetReport.html +168 -153
- data/doc/TaskJuggler/StatusSheetSender.html +24 -3
- data/doc/TaskJuggler/StringAttribute.html +38 -18
- data/doc/TaskJuggler/SymbolAttribute.html +32 -12
- data/doc/TaskJuggler/SyntaxReference.html +40 -20
- data/doc/TaskJuggler/TOCEntry.html +26 -6
- data/doc/TaskJuggler/TSResourceRecord.html +22 -2
- data/doc/TaskJuggler/TSTaskRecord.html +22 -2
- data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
- data/doc/TaskJuggler/TableOfContents.html +26 -6
- data/doc/TaskJuggler/TableReport.html +937 -904
- data/doc/TaskJuggler/Task.html +55 -36
- data/doc/TaskJuggler/TaskDependency.html +24 -4
- data/doc/TaskJuggler/TaskListAttribute.html +50 -30
- data/doc/TaskJuggler/TaskListRE.html +27 -7
- data/doc/TaskJuggler/TaskScenario.html +1273 -1153
- data/doc/TaskJuggler/TextFormatter.html +28 -8
- data/doc/TaskJuggler/TextParser.html +585 -338
- data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
- data/doc/TaskJuggler/TextParser/Rule.html +95 -73
- data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
- data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
- data/doc/TaskJuggler/TextReport.html +28 -8
- data/doc/TaskJuggler/TextScanner.html +400 -1404
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
- data/doc/TaskJuggler/TimeSheet.html +48 -28
- data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
- data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
- data/doc/TaskJuggler/TimeSheetReport.html +154 -133
- data/doc/TaskJuggler/TimeSheetSender.html +24 -3
- data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
- data/doc/TaskJuggler/TimeSheets.html +26 -6
- data/doc/TaskJuggler/Tj3AppBase.html +85 -58
- data/doc/TaskJuggler/Tj3Client.html +292 -238
- data/doc/TaskJuggler/Tj3Daemon.html +159 -74
- data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
- data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
- data/doc/TaskJuggler/Tj3SsSender.html +53 -26
- data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
- data/doc/TaskJuggler/Tj3TsSender.html +26 -6
- data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
- data/doc/TaskJuggler/TjException.html +22 -2
- data/doc/TaskJuggler/TjTime.html +216 -160
- data/doc/TaskJuggler/TjpExample.html +34 -14
- data/doc/TaskJuggler/TjpExportRE.html +403 -407
- data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
- data/doc/TaskJuggler/URLParameter.html +649 -0
- data/doc/TaskJuggler/UserManual.html +42 -22
- data/doc/TaskJuggler/WebServer.html +702 -0
- data/doc/TaskJuggler/WorkingHours.html +38 -18
- data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
- data/doc/TaskJuggler/XMLBlob.html +24 -4
- data/doc/TaskJuggler/XMLComment.html +24 -4
- data/doc/TaskJuggler/XMLDocument.html +30 -10
- data/doc/TaskJuggler/XMLElement.html +34 -14
- data/doc/TaskJuggler/XMLNamedText.html +22 -2
- data/doc/TaskJuggler/XMLText.html +24 -4
- data/doc/index.html +1841 -1666
- data/doc/lib/AccountScenario_rb.html +1 -1
- data/doc/lib/Account_rb.html +1 -1
- data/doc/lib/Allocation_rb.html +1 -1
- data/doc/lib/AppConfig_rb.html +2 -2
- data/doc/lib/AttributeBase_rb.html +1 -1
- data/doc/lib/AttributeDefinition_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +2 -2
- data/doc/lib/BatchProcessor_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/ChargeSet_rb.html +1 -1
- data/doc/lib/Charge_rb.html +1 -1
- data/doc/lib/HTMLDocument_rb.html +1 -1
- data/doc/lib/Interval_rb.html +1 -1
- data/doc/lib/Journal_rb.html +2 -2
- data/doc/lib/KeywordArray_rb.html +1 -1
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/Limits_rb.html +2 -2
- data/doc/lib/LogFile_rb.html +2 -2
- data/doc/lib/Log_rb.html +1 -1
- data/doc/lib/LogicalExpression_rb.html +1 -1
- data/doc/lib/LogicalFunction_rb.html +2 -2
- data/doc/lib/LogicalOperation_rb.html +2 -2
- data/doc/lib/MacroParser_rb.html +1 -1
- data/doc/lib/MacroTable_rb.html +1 -1
- data/doc/lib/MessageHandler_rb.html +1 -1
- data/doc/lib/Message_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +4 -8
- data/doc/lib/ProjectFileScanner_rb.html +67 -0
- data/doc/lib/Project_rb.html +2 -2
- data/doc/lib/PropertyList_rb.html +2 -2
- data/doc/lib/PropertySet_rb.html +2 -2
- data/doc/lib/PropertyTreeNode_rb.html +2 -2
- data/doc/lib/Query_rb.html +2 -2
- data/doc/lib/RTFHandlers_rb.html +73 -0
- data/doc/lib/RTFNavigator_rb.html +1 -1
- data/doc/lib/RTFQuery_rb.html +1 -1
- data/doc/lib/RTFReportLink_rb.html +71 -0
- data/doc/lib/RTFReport_rb.html +2 -2
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +2 -2
- data/doc/lib/Resource_rb.html +2 -2
- data/doc/lib/RichTextDocument_rb.html +1 -1
- data/doc/lib/RichTextElement_rb.html +2 -2
- data/doc/lib/RichTextFunctionExample_rb.html +1 -1
- data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +2 -2
- data/doc/lib/RichTextScanner_rb.html +2 -2
- data/doc/lib/RichTextSnip_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
- data/doc/lib/RichText_rb.html +1 -1
- data/doc/lib/RuntimeConfig_rb.html +1 -1
- data/doc/lib/ScenarioData_rb.html +2 -2
- data/doc/lib/Scenario_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/SheetHandlerBase_rb.html +1 -1
- data/doc/lib/SheetReceiver_rb.html +2 -2
- data/doc/lib/SheetSender_rb.html +4 -2
- data/doc/lib/ShiftAssignments_rb.html +4 -2
- data/doc/lib/ShiftScenario_rb.html +1 -1
- data/doc/lib/Shift_rb.html +1 -1
- data/doc/lib/SourceFileInfo_rb.html +1 -1
- data/doc/lib/StatusSheetReceiver_rb.html +2 -2
- data/doc/lib/StatusSheetSender_rb.html +2 -2
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TOCEntry_rb.html +1 -1
- data/doc/lib/TableColumnDefinition_rb.html +2 -2
- data/doc/lib/TableOfContents_rb.html +1 -1
- data/doc/lib/TaskDependency_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +2 -2
- data/doc/lib/TaskScenario_rb.html +2 -2
- data/doc/lib/Task_rb.html +2 -2
- data/doc/lib/TextFormatter_rb.html +1 -1
- data/doc/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/TextParser/Rule_rb.html +2 -2
- data/doc/lib/TextParser/StackElement_rb.html +2 -2
- data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/TextParser_rb.html +2 -2
- data/doc/lib/TextScanner_rb.html +6 -2
- data/doc/lib/TimeSheetReceiver_rb.html +2 -2
- data/doc/lib/TimeSheetSender_rb.html +2 -2
- data/doc/lib/TimeSheetSummary_rb.html +2 -2
- data/doc/lib/TimeSheets_rb.html +2 -2
- data/doc/lib/Tj3AppBase_rb.html +2 -2
- data/doc/lib/Tj3Config_rb.html +2 -2
- data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
- data/doc/lib/TjException_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +2 -2
- data/doc/lib/TjpExample_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +2 -2
- data/doc/lib/URLParameter_rb.html +67 -0
- data/doc/lib/UTF8String_rb.html +1 -1
- data/doc/lib/UserManual_rb.html +1 -1
- data/doc/lib/WorkingHours_rb.html +1 -1
- data/doc/lib/XMLDocument_rb.html +2 -2
- data/doc/lib/XMLElement_rb.html +1 -1
- data/doc/lib/daemon/Daemon_rb.html +1 -1
- data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
- data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
- data/doc/lib/daemon/ProjectServer_rb.html +2 -2
- data/doc/lib/daemon/ReportServer_rb.html +2 -2
- data/doc/lib/daemon/WebServer_rb.html +75 -0
- data/doc/lib/deep_copy_rb.html +2 -2
- data/doc/lib/reports/CSVFile_rb.html +2 -2
- data/doc/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/reports/GanttChart_rb.html +2 -2
- data/doc/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/reports/GanttLine_rb.html +1 -1
- data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/reports/Navigator_rb.html +2 -2
- data/doc/lib/reports/NikuReport_rb.html +2 -2
- data/doc/lib/reports/ReportBase_rb.html +2 -2
- data/doc/lib/reports/ReportContext_rb.html +2 -2
- data/doc/lib/reports/ReportTableCell_rb.html +2 -2
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +2 -2
- data/doc/lib/reports/Report_rb.html +2 -2
- data/doc/lib/reports/ResourceListRE_rb.html +2 -2
- data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
- data/doc/lib/reports/TableReport_rb.html +2 -2
- data/doc/lib/reports/TaskListRE_rb.html +2 -2
- data/doc/lib/reports/TextReport_rb.html +1 -1
- data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
- data/doc/lib/reports/TjpExportRE_rb.html +2 -2
- data/doc/lib/ruby-signal-bug_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +2 -2
- data/doc/lib/tj3client_rb.html +2 -2
- data/doc/lib/tj3d_rb.html +2 -2
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +2 -2
- data/doc/lib/tj3ts_receiver_rb.html +2 -2
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/doc/rdoc.css +9 -4
- data/examples/tutorial.tjp +17 -15
- data/gem_spec.rb +3 -0
- data/lib/AppConfig.rb +3 -1
- data/lib/Attributes.rb +10 -8
- data/lib/Journal.rb +55 -20
- data/lib/Limits.rb +72 -46
- data/lib/LogFile.rb +3 -3
- data/lib/LogicalFunction.rb +19 -6
- data/lib/LogicalOperation.rb +5 -1
- data/lib/Project.rb +37 -9
- data/lib/ProjectFileParser.rb +25 -22
- data/lib/ProjectFileScanner.rb +365 -0
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +14 -4
- data/lib/PropertyTreeNode.rb +42 -29
- data/lib/Query.rb +3 -1
- data/lib/RTFHandlers.rb +35 -0
- data/lib/RTFReport.rb +23 -6
- data/lib/RTFReportLink.rb +72 -0
- data/lib/Resource.rb +8 -16
- data/lib/ResourceScenario.rb +1 -22
- data/lib/RichTextElement.rb +42 -0
- data/lib/RichTextParser.rb +6 -4
- data/lib/RichTextScanner.rb +5 -5
- data/lib/RichTextSyntaxRules.rb +48 -10
- data/lib/ScenarioData.rb +5 -3
- data/lib/SheetReceiver.rb +24 -6
- data/lib/SheetSender.rb +17 -13
- data/lib/ShiftAssignments.rb +56 -52
- data/lib/StatusSheetReceiver.rb +1 -0
- data/lib/StatusSheetSender.rb +1 -0
- data/lib/TableColumnDefinition.rb +4 -2
- data/lib/Task.rb +8 -9
- data/lib/TaskJuggler.rb +21 -11
- data/lib/TaskScenario.rb +61 -26
- data/lib/TextParser.rb +268 -106
- data/lib/TextParser/Rule.rb +4 -2
- data/lib/TextParser/StackElement.rb +6 -4
- data/lib/TextScanner.rb +283 -700
- data/lib/TimeSheetReceiver.rb +1 -0
- data/lib/TimeSheetSender.rb +1 -0
- data/lib/TimeSheetSummary.rb +51 -26
- data/lib/TimeSheets.rb +1 -1
- data/lib/Tj3AppBase.rb +8 -1
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +5 -0
- data/lib/TjpSyntaxRules.rb +360 -144
- data/lib/URLParameter.rb +30 -0
- data/lib/XMLDocument.rb +2 -2
- data/lib/daemon/ProcessIntercom.rb +50 -9
- data/lib/daemon/ProjectBroker.rb +63 -10
- data/lib/daemon/ProjectServer.rb +47 -16
- data/lib/daemon/ReportServer.rb +9 -4
- data/lib/daemon/WebServer.rb +204 -0
- data/lib/deep_copy.rb +4 -1
- data/lib/reports/CSVFile.rb +150 -66
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/Navigator.rb +18 -5
- data/lib/reports/NikuReport.rb +32 -2
- data/lib/reports/Report.rb +65 -37
- data/lib/reports/ReportBase.rb +14 -9
- data/lib/reports/ReportContext.rb +19 -4
- data/lib/reports/ReportTable.rb +2 -2
- data/lib/reports/ReportTableCell.rb +54 -30
- data/lib/reports/ResourceListRE.rb +4 -3
- data/lib/reports/StatusSheetReport.rb +8 -13
- data/lib/reports/TableReport.rb +47 -32
- data/lib/reports/TaskListRE.rb +3 -3
- data/lib/reports/TimeSheetReport.rb +14 -5
- data/lib/reports/TjpExportRE.rb +14 -19
- data/lib/taskjuggler3.rb +15 -0
- data/lib/tj3client.rb +9 -7
- data/lib/tj3d.rb +38 -10
- data/lib/tj3ss_sender.rb +7 -0
- data/lib/tj3ts_receiver.rb +1 -0
- data/manual/Day_To_Day_Juggling +1 -1
- data/manual/Rich_Text_Attributes +8 -0
- data/manual/TaskJuggler_2x_Migration +7 -0
- data/manual/The_TaskJuggler_Syntax +20 -6
- data/prj_cfg.rb +3 -2
- data/tasks/changelog.rake +36 -0
- data/tasks/csts.rake +2 -3
- data/tasks/gem.rake +10 -0
- data/tasks/missing.rake +0 -17
- data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
- data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
- data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
- data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
- data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
- data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
- data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
- data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
- data/test/TestSuite/StatusSheets/run +3 -2
- data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
- data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
- data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
- data/test/TestSuite/TimeSheets/run +5 -5
- data/test/test_CSVFile.rb +75 -0
- data/test/test_Limits.rb +63 -5
- data/test/test_ProjectFileScanner.rb +163 -0
- data/test/test_ReportGenerator.rb +81 -0
- data/test/test_RichText.rb +21 -3
- data/test/test_Scheduler.rb +1 -1
- data/test/test_ShiftAssignments.rb +4 -4
- data/test/test_Syntax.rb +1 -1
- data/test/test_URLParameter.rb +30 -0
- metadata +126 -32
- data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
- data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
- data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
- data/test/TestSuite/TimeSheets/receiver.log +0 -102
- data/test/TestSuite/TimeSheets/sender.log +0 -794
- data/test/TestSuite/TimeSheets/summary.log +0 -884
- data/test/TestSuite/TimeSheets/timesheets.log +0 -45
- data/test/TestSuite/TimeSheets/tj3d.log +0 -292
- data/test/test_TextScanner.rb +0 -95
|
@@ -69,9 +69,23 @@
|
|
|
69
69
|
<h3 class="section-header">Methods</h3>
|
|
70
70
|
<ul class="link-list">
|
|
71
71
|
|
|
72
|
-
<li><a href="#
|
|
72
|
+
<li><a href="#method-c-new">::new</a></li>
|
|
73
73
|
|
|
74
|
-
<li><a href="#
|
|
74
|
+
<li><a href="#method-i-close">#close</a></li>
|
|
75
|
+
|
|
76
|
+
<li><a href="#method-i-dirname">#dirname</a></li>
|
|
77
|
+
|
|
78
|
+
<li><a href="#method-i-eof%3F">#eof?</a></li>
|
|
79
|
+
|
|
80
|
+
<li><a href="#method-i-injectMacro">#injectMacro</a></li>
|
|
81
|
+
|
|
82
|
+
<li><a href="#method-i-line">#line</a></li>
|
|
83
|
+
|
|
84
|
+
<li><a href="#method-i-lineNo">#lineNo</a></li>
|
|
85
|
+
|
|
86
|
+
<li><a href="#method-i-peek">#peek</a></li>
|
|
87
|
+
|
|
88
|
+
<li><a href="#method-i-scan">#scan</a></li>
|
|
75
89
|
|
|
76
90
|
</ul>
|
|
77
91
|
</div>
|
|
@@ -88,6 +102,8 @@
|
|
|
88
102
|
<h3 class="section-header">Files</h3>
|
|
89
103
|
<ul>
|
|
90
104
|
|
|
105
|
+
<li class="file"><a href="../../CHANGELOG.html">CHANGELOG</a></li>
|
|
106
|
+
|
|
91
107
|
<li class="file"><a href="../../COPYING.html">COPYING</a></li>
|
|
92
108
|
|
|
93
109
|
<li class="file"><a href="../../README.html">README</a></li>
|
|
@@ -257,6 +273,8 @@
|
|
|
257
273
|
|
|
258
274
|
<li><a href="../../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li>
|
|
259
275
|
|
|
276
|
+
<li><a href="../../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
|
|
277
|
+
|
|
260
278
|
<li><a href="../../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
|
|
261
279
|
|
|
262
280
|
<li><a href="../../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
|
|
@@ -271,6 +289,8 @@
|
|
|
271
289
|
|
|
272
290
|
<li><a href="../../TaskJuggler/ProjectFileParser.html">TaskJuggler::ProjectFileParser</a></li>
|
|
273
291
|
|
|
292
|
+
<li><a href="../../TaskJuggler/ProjectFileScanner.html">TaskJuggler::ProjectFileScanner</a></li>
|
|
293
|
+
|
|
274
294
|
<li><a href="../../TaskJuggler/ProjectRecord.html">TaskJuggler::ProjectRecord</a></li>
|
|
275
295
|
|
|
276
296
|
<li><a href="../../TaskJuggler/ProjectServer.html">TaskJuggler::ProjectServer</a></li>
|
|
@@ -287,12 +307,16 @@
|
|
|
287
307
|
|
|
288
308
|
<li><a href="../../TaskJuggler/Query.html">TaskJuggler::Query</a></li>
|
|
289
309
|
|
|
310
|
+
<li><a href="../../TaskJuggler/RTFHandlers.html">TaskJuggler::RTFHandlers</a></li>
|
|
311
|
+
|
|
290
312
|
<li><a href="../../TaskJuggler/RTFNavigator.html">TaskJuggler::RTFNavigator</a></li>
|
|
291
313
|
|
|
292
314
|
<li><a href="../../TaskJuggler/RTFQuery.html">TaskJuggler::RTFQuery</a></li>
|
|
293
315
|
|
|
294
316
|
<li><a href="../../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
|
|
295
317
|
|
|
318
|
+
<li><a href="../../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
|
|
319
|
+
|
|
296
320
|
<li><a href="../../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
|
|
297
321
|
|
|
298
322
|
<li><a href="../../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
|
|
@@ -311,6 +335,8 @@
|
|
|
311
335
|
|
|
312
336
|
<li><a href="../../TaskJuggler/ReportServerRecord.html">TaskJuggler::ReportServerRecord</a></li>
|
|
313
337
|
|
|
338
|
+
<li><a href="../../TaskJuggler/ReportServlet.html">TaskJuggler::ReportServlet</a></li>
|
|
339
|
+
|
|
314
340
|
<li><a href="../../TaskJuggler/ReportTable.html">TaskJuggler::ReportTable</a></li>
|
|
315
341
|
|
|
316
342
|
<li><a href="../../TaskJuggler/ReportTableCell.html">TaskJuggler::ReportTableCell</a></li>
|
|
@@ -439,6 +465,8 @@
|
|
|
439
465
|
|
|
440
466
|
<li><a href="../../TaskJuggler/TextScanner/FileStreamHandle.html">TaskJuggler::TextScanner::FileStreamHandle</a></li>
|
|
441
467
|
|
|
468
|
+
<li><a href="../../TaskJuggler/TextScanner/MacroStackEntry.html">TaskJuggler::TextScanner::MacroStackEntry</a></li>
|
|
469
|
+
|
|
442
470
|
<li><a href="../../TaskJuggler/TextScanner/StreamHandle.html">TaskJuggler::TextScanner::StreamHandle</a></li>
|
|
443
471
|
|
|
444
472
|
<li><a href="../../TaskJuggler/TimeSheet.html">TaskJuggler::TimeSheet</a></li>
|
|
@@ -483,8 +511,12 @@
|
|
|
483
511
|
|
|
484
512
|
<li><a href="../../TaskJuggler/TjpSyntaxRules.html">TaskJuggler::TjpSyntaxRules</a></li>
|
|
485
513
|
|
|
514
|
+
<li><a href="../../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
|
|
515
|
+
|
|
486
516
|
<li><a href="../../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
|
|
487
517
|
|
|
518
|
+
<li><a href="../../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
519
|
+
|
|
488
520
|
<li><a href="../../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
489
521
|
|
|
490
522
|
<li><a href="../../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -511,6 +543,8 @@
|
|
|
511
543
|
|
|
512
544
|
<li><a href="../../String.html">String</a></li>
|
|
513
545
|
|
|
546
|
+
<li><a href="../../StringIO.html">StringIO</a></li>
|
|
547
|
+
|
|
514
548
|
</ul>
|
|
515
549
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
516
550
|
</div>
|
|
@@ -544,14 +578,12 @@ completely processed.
|
|
|
544
578
|
<h3 class="section-header">Attributes</h3>
|
|
545
579
|
|
|
546
580
|
|
|
547
|
-
<div id="
|
|
548
|
-
<a name="
|
|
549
|
-
|
|
550
|
-
<a name="lineNo="></a>
|
|
581
|
+
<div id="file-ame-attribute-method" class="method-detail">
|
|
582
|
+
<a name="fileName"></a>
|
|
551
583
|
|
|
552
584
|
<div class="method-heading attribute-method-heading">
|
|
553
|
-
<span class="method-name">
|
|
554
|
-
class="attribute-access-type">[
|
|
585
|
+
<span class="method-name">fileName</span><span
|
|
586
|
+
class="attribute-access-type">[R]</span>
|
|
555
587
|
</div>
|
|
556
588
|
|
|
557
589
|
<div class="method-description">
|
|
@@ -561,14 +593,12 @@ completely processed.
|
|
|
561
593
|
</div>
|
|
562
594
|
</div>
|
|
563
595
|
|
|
564
|
-
<div id="
|
|
565
|
-
<a name="
|
|
566
|
-
|
|
567
|
-
<a name="columnNo="></a>
|
|
596
|
+
<div id="macro-tack-attribute-method" class="method-detail">
|
|
597
|
+
<a name="macroStack"></a>
|
|
568
598
|
|
|
569
599
|
<div class="method-heading attribute-method-heading">
|
|
570
|
-
<span class="method-name">
|
|
571
|
-
class="attribute-access-type">[
|
|
600
|
+
<span class="method-name">macroStack</span><span
|
|
601
|
+
class="attribute-access-type">[R]</span>
|
|
572
602
|
</div>
|
|
573
603
|
|
|
574
604
|
<div class="method-description">
|
|
@@ -578,70 +608,252 @@ completely processed.
|
|
|
578
608
|
</div>
|
|
579
609
|
</div>
|
|
580
610
|
|
|
581
|
-
|
|
582
|
-
|
|
611
|
+
</div>
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
<!-- Methods -->
|
|
615
|
+
|
|
616
|
+
<div id="public-class-method-details" class="method-section section">
|
|
617
|
+
<h3 class="section-header">Public Class Methods</h3>
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
<div id="new-method" class="method-detail ">
|
|
621
|
+
<a name="method-c-new"></a>
|
|
622
|
+
|
|
623
|
+
<div class="method-heading">
|
|
583
624
|
|
|
584
|
-
|
|
625
|
+
<span class="method-name">new</span><span
|
|
626
|
+
class="method-args">()</span>
|
|
627
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
585
628
|
|
|
586
|
-
<div class="method-heading attribute-method-heading">
|
|
587
|
-
<span class="method-name">line</span><span
|
|
588
|
-
class="attribute-access-type">[RW]</span>
|
|
589
629
|
</div>
|
|
590
630
|
|
|
591
631
|
<div class="method-description">
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
<div class="method-source-code"
|
|
638
|
+
id="new-source">
|
|
639
|
+
<pre>
|
|
640
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 57</span>
|
|
641
|
+
57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
642
|
+
58: <span class="ruby-ivar">@fileName</span> = <span class="ruby-keyword kw">nil</span>
|
|
643
|
+
59: <span class="ruby-ivar">@stream</span> = <span class="ruby-keyword kw">nil</span>
|
|
644
|
+
60: <span class="ruby-ivar">@line</span> = <span class="ruby-keyword kw">nil</span>
|
|
645
|
+
61: <span class="ruby-ivar">@pos</span> = <span class="ruby-value">0</span>
|
|
646
|
+
62: <span class="ruby-ivar">@endPos</span> = <span class="ruby-value">1</span>
|
|
647
|
+
63: <span class="ruby-ivar">@scanner</span> = <span class="ruby-keyword kw">nil</span>
|
|
648
|
+
64: <span class="ruby-ivar">@wrapped</span> = <span class="ruby-keyword kw">false</span>
|
|
649
|
+
65: <span class="ruby-ivar">@macroStack</span> = []
|
|
650
|
+
66: <span class="ruby-ivar">@nextMacroEnd</span> = <span class="ruby-keyword kw">nil</span>
|
|
651
|
+
67: <span class="ruby-keyword kw">end</span></pre>
|
|
652
|
+
</div>
|
|
653
|
+
|
|
654
|
+
</div>
|
|
655
|
+
|
|
592
656
|
|
|
657
|
+
|
|
593
658
|
|
|
594
|
-
|
|
595
|
-
</div>
|
|
596
659
|
</div>
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
660
|
+
|
|
661
|
+
|
|
662
|
+
</div>
|
|
663
|
+
|
|
664
|
+
<div id="public-instance-method-details" class="method-section section">
|
|
665
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
<div id="close-method" class="method-detail ">
|
|
669
|
+
<a name="method-i-close"></a>
|
|
670
|
+
|
|
671
|
+
<div class="method-heading">
|
|
600
672
|
|
|
601
|
-
|
|
673
|
+
<span class="method-name">close</span><span
|
|
674
|
+
class="method-args">()</span>
|
|
675
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
602
676
|
|
|
603
|
-
<div class="method-heading attribute-method-heading">
|
|
604
|
-
<span class="method-name">charBuffer</span><span
|
|
605
|
-
class="attribute-access-type">[RW]</span>
|
|
606
677
|
</div>
|
|
607
678
|
|
|
608
679
|
<div class="method-description">
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
<div class="method-source-code"
|
|
686
|
+
id="close-source">
|
|
687
|
+
<pre>
|
|
688
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 69</span>
|
|
689
|
+
69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
|
|
690
|
+
70: <span class="ruby-ivar">@stream</span> = <span class="ruby-keyword kw">nil</span>
|
|
691
|
+
71: <span class="ruby-keyword kw">end</span></pre>
|
|
692
|
+
</div>
|
|
693
|
+
|
|
694
|
+
</div>
|
|
695
|
+
|
|
609
696
|
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
</div>
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
<div id="dirname-method" class="method-detail ">
|
|
703
|
+
<a name="method-i-dirname"></a>
|
|
704
|
+
|
|
705
|
+
<div class="method-heading">
|
|
610
706
|
|
|
707
|
+
<span class="method-name">dirname</span><span
|
|
708
|
+
class="method-args">()</span>
|
|
709
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
611
710
|
|
|
612
711
|
</div>
|
|
712
|
+
|
|
713
|
+
<div class="method-description">
|
|
714
|
+
|
|
715
|
+
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
<div class="method-source-code"
|
|
720
|
+
id="dirname-source">
|
|
721
|
+
<pre>
|
|
722
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 130</span>
|
|
723
|
+
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dirname</span>
|
|
724
|
+
131: <span class="ruby-ivar">@fileName</span> <span class="ruby-operator">?</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-ivar">@fileName</span>) <span class="ruby-operator">:</span> <span class="ruby-value str">''</span>
|
|
725
|
+
132: <span class="ruby-keyword kw">end</span></pre>
|
|
726
|
+
</div>
|
|
727
|
+
|
|
728
|
+
</div>
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
|
|
613
733
|
</div>
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
734
|
+
|
|
735
|
+
|
|
736
|
+
<div id="eof--method" class="method-detail ">
|
|
737
|
+
<a name="method-i-eof%3F"></a>
|
|
738
|
+
|
|
739
|
+
<div class="method-heading">
|
|
740
|
+
|
|
741
|
+
<span class="method-name">eof?</span><span
|
|
742
|
+
class="method-args">()</span>
|
|
743
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
617
744
|
|
|
618
|
-
<div class="method-heading attribute-method-heading">
|
|
619
|
-
<span class="method-name">fileName</span><span
|
|
620
|
-
class="attribute-access-type">[R]</span>
|
|
621
745
|
</div>
|
|
622
746
|
|
|
623
747
|
<div class="method-description">
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
<div class="method-source-code"
|
|
754
|
+
id="eof--source">
|
|
755
|
+
<pre>
|
|
756
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 126</span>
|
|
757
|
+
126: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eof?</span>
|
|
758
|
+
127: <span class="ruby-ivar">@stream</span>.<span class="ruby-identifier">eof?</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">eos?</span>
|
|
759
|
+
128: <span class="ruby-keyword kw">end</span></pre>
|
|
760
|
+
</div>
|
|
761
|
+
|
|
762
|
+
</div>
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
|
|
624
766
|
|
|
767
|
+
</div>
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
<div id="inject-acro-method" class="method-detail ">
|
|
771
|
+
<a name="method-i-injectMacro"></a>
|
|
772
|
+
|
|
773
|
+
<div class="method-heading">
|
|
625
774
|
|
|
775
|
+
<span class="method-name">injectMacro</span><span
|
|
776
|
+
class="method-args">(macro, args, text)</span>
|
|
777
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
626
778
|
|
|
627
779
|
</div>
|
|
780
|
+
|
|
781
|
+
<div class="method-description">
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
<div class="method-source-code"
|
|
788
|
+
id="inject-acro-source">
|
|
789
|
+
<pre>
|
|
790
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 73</span>
|
|
791
|
+
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">injectMacro</span>(<span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>)
|
|
792
|
+
74: <span class="ruby-ivar">@nextMacroEnd</span> = <span class="ruby-ivar">@pos</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">length</span>
|
|
793
|
+
75: <span class="ruby-ivar">@line</span> = <span class="ruby-ivar">@line</span>[<span class="ruby-value">0</span>, <span class="ruby-ivar">@pos</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@line</span>[<span class="ruby-ivar">@pos</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>]
|
|
794
|
+
76: <span class="ruby-ivar">@scanner</span> = <span class="ruby-constant">StringScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@line</span>)
|
|
795
|
+
77: <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">pos</span> = <span class="ruby-ivar">@pos</span>
|
|
796
|
+
78:
|
|
797
|
+
79: <span class="ruby-comment cmt"># Simple detection for recursive macro calls.</span>
|
|
798
|
+
80: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">></span> <span class="ruby-value">20</span>
|
|
799
|
+
81:
|
|
800
|
+
82: <span class="ruby-ivar">@macroStack</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">MacroStackEntry</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-ivar">@nextMacroEnd</span>)
|
|
801
|
+
83: <span class="ruby-keyword kw">true</span>
|
|
802
|
+
84: <span class="ruby-keyword kw">end</span></pre>
|
|
803
|
+
</div>
|
|
804
|
+
|
|
805
|
+
</div>
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
|
|
628
810
|
</div>
|
|
629
|
-
|
|
630
|
-
</div>
|
|
631
|
-
|
|
632
811
|
|
|
633
|
-
<!-- Methods -->
|
|
634
812
|
|
|
635
|
-
|
|
636
|
-
|
|
813
|
+
<div id="line-method" class="method-detail ">
|
|
814
|
+
<a name="method-i-line"></a>
|
|
815
|
+
|
|
816
|
+
<div class="method-heading">
|
|
817
|
+
|
|
818
|
+
<span class="method-name">line</span><span
|
|
819
|
+
class="method-args">()</span>
|
|
820
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
821
|
+
|
|
822
|
+
</div>
|
|
823
|
+
|
|
824
|
+
<div class="method-description">
|
|
825
|
+
|
|
826
|
+
<p>
|
|
827
|
+
Return the already processed part of the current line.
|
|
828
|
+
</p>
|
|
829
|
+
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
<div class="method-source-code"
|
|
833
|
+
id="line-source">
|
|
834
|
+
<pre>
|
|
835
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 145</span>
|
|
836
|
+
145: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">line</span>
|
|
837
|
+
146: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@line</span>
|
|
838
|
+
147:
|
|
839
|
+
148: <span class="ruby-ivar">@line</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span>(<span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">pos</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)]
|
|
840
|
+
149: <span class="ruby-keyword kw">end</span></pre>
|
|
841
|
+
</div>
|
|
842
|
+
|
|
843
|
+
</div>
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
|
|
848
|
+
</div>
|
|
637
849
|
|
|
638
850
|
|
|
639
|
-
<div id="
|
|
640
|
-
<a name="
|
|
851
|
+
<div id="line-o-method" class="method-detail ">
|
|
852
|
+
<a name="method-i-lineNo"></a>
|
|
641
853
|
|
|
642
854
|
<div class="method-heading">
|
|
643
855
|
|
|
644
|
-
<span class="method-name">
|
|
856
|
+
<span class="method-name">lineNo</span><span
|
|
645
857
|
class="method-args">()</span>
|
|
646
858
|
<span class="method-click-advice">click to toggle source</span>
|
|
647
859
|
|
|
@@ -649,21 +861,24 @@ completely processed.
|
|
|
649
861
|
|
|
650
862
|
<div class="method-description">
|
|
651
863
|
|
|
652
|
-
|
|
864
|
+
<p>
|
|
865
|
+
Return the number of the currently processed line.
|
|
866
|
+
</p>
|
|
653
867
|
|
|
654
868
|
|
|
655
869
|
|
|
656
870
|
<div class="method-source-code"
|
|
657
|
-
id="
|
|
871
|
+
id="line-o-source">
|
|
658
872
|
<pre>
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
873
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 135</span>
|
|
874
|
+
135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lineNo</span>
|
|
875
|
+
136: <span class="ruby-comment cmt"># The IO object counts the lines for us by counting the gets() calls.</span>
|
|
876
|
+
137: <span class="ruby-identifier">currentLine</span> = <span class="ruby-ivar">@stream</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@scanner</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@stream</span>.<span class="ruby-identifier">lineno</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>
|
|
877
|
+
138: <span class="ruby-comment cmt"># If we've just read the LF, we have to add 1. The LF can only be the</span>
|
|
878
|
+
139: <span class="ruby-comment cmt"># last character of the line.</span>
|
|
879
|
+
140: <span class="ruby-identifier">currentLine</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@wrapped</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@line</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@scanner</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">eos?</span>
|
|
880
|
+
141: <span class="ruby-identifier">currentLine</span>
|
|
881
|
+
142: <span class="ruby-keyword kw">end</span></pre>
|
|
667
882
|
</div>
|
|
668
883
|
|
|
669
884
|
</div>
|
|
@@ -674,19 +889,47 @@ completely processed.
|
|
|
674
889
|
</div>
|
|
675
890
|
|
|
676
891
|
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
892
|
+
<div id="peek-method" class="method-detail ">
|
|
893
|
+
<a name="method-i-peek"></a>
|
|
894
|
+
|
|
895
|
+
<div class="method-heading">
|
|
896
|
+
|
|
897
|
+
<span class="method-name">peek</span><span
|
|
898
|
+
class="method-args">(n)</span>
|
|
899
|
+
<span class="method-click-advice">click to toggle source</span>
|
|
900
|
+
|
|
901
|
+
</div>
|
|
902
|
+
|
|
903
|
+
<div class="method-description">
|
|
904
|
+
|
|
905
|
+
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
<div class="method-source-code"
|
|
910
|
+
id="peek-source">
|
|
911
|
+
<pre>
|
|
912
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 122</span>
|
|
913
|
+
122: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">peek</span>(<span class="ruby-identifier">n</span>)
|
|
914
|
+
123: <span class="ruby-ivar">@scanner</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">peek</span>(<span class="ruby-identifier">n</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
|
|
915
|
+
124: <span class="ruby-keyword kw">end</span></pre>
|
|
916
|
+
</div>
|
|
917
|
+
|
|
918
|
+
</div>
|
|
919
|
+
|
|
920
|
+
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
</div>
|
|
681
924
|
|
|
682
925
|
|
|
683
|
-
<div id="
|
|
684
|
-
<a name="
|
|
926
|
+
<div id="scan-method" class="method-detail ">
|
|
927
|
+
<a name="method-i-scan"></a>
|
|
685
928
|
|
|
686
929
|
<div class="method-heading">
|
|
687
930
|
|
|
688
|
-
<span class="method-name">
|
|
689
|
-
class="method-args">()</span>
|
|
931
|
+
<span class="method-name">scan</span><span
|
|
932
|
+
class="method-args">(re)</span>
|
|
690
933
|
<span class="method-click-advice">click to toggle source</span>
|
|
691
934
|
|
|
692
935
|
</div>
|
|
@@ -698,12 +941,44 @@ completely processed.
|
|
|
698
941
|
|
|
699
942
|
|
|
700
943
|
<div class="method-source-code"
|
|
701
|
-
id="
|
|
944
|
+
id="scan-source">
|
|
702
945
|
<pre>
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
946
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 86</span>
|
|
947
|
+
86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scan</span>(<span class="ruby-identifier">re</span>)
|
|
948
|
+
87: <span class="ruby-comment cmt"># We read the file line by line with gets(). If we don't have a line</span>
|
|
949
|
+
88: <span class="ruby-comment cmt"># yet or we've reached the end of a line, we get the next one.</span>
|
|
950
|
+
89: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">eos?</span>
|
|
951
|
+
90: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@line</span> = <span class="ruby-ivar">@stream</span>.<span class="ruby-identifier">gets</span>)
|
|
952
|
+
91: <span class="ruby-comment cmt"># Update activity meter about every 1024 lines.</span>
|
|
953
|
+
92: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">activity</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@stream</span>.<span class="ruby-identifier">lineno</span> & <span class="ruby-value">0x3FF</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
|
954
|
+
93: <span class="ruby-comment cmt"># Check for DOS or Mac end of line signatures.</span>
|
|
955
|
+
94: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@line</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">\r\</span>
|
|
956
|
+
95: <span class="ruby-comment cmt"># Mac: Convert CR into LF</span>
|
|
957
|
+
96: <span class="ruby-ivar">@line</span>[<span class="ruby-value">1</span>] = <span class="ruby-value">\n\</span>
|
|
958
|
+
97: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@line</span>[<span class="ruby-value">2</span>] <span class="ruby-operator">==</span> <span class="ruby-value">\r\</span>
|
|
959
|
+
98: <span class="ruby-comment cmt"># DOS: Convert CR+LF into LF</span>
|
|
960
|
+
99: <span class="ruby-ivar">@line</span> = <span class="ruby-ivar">@line</span>.<span class="ruby-identifier">chomp</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"\n"</span>
|
|
961
|
+
100: <span class="ruby-keyword kw">end</span>
|
|
962
|
+
101: <span class="ruby-keyword kw">else</span>
|
|
963
|
+
102: <span class="ruby-comment cmt"># We've reached the end of the current file.</span>
|
|
964
|
+
103: <span class="ruby-ivar">@scanner</span> = <span class="ruby-keyword kw">nil</span>
|
|
965
|
+
104: <span class="ruby-comment cmt"># Return special EOF symbol.</span>
|
|
966
|
+
105: <span class="ruby-keyword kw">return</span> <span class="ruby-value">:scannerEOF</span>
|
|
967
|
+
106: <span class="ruby-keyword kw">end</span>
|
|
968
|
+
107: <span class="ruby-ivar">@scanner</span> = <span class="ruby-constant">StringScanner</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@line</span>)
|
|
969
|
+
108: <span class="ruby-ivar">@wrapped</span> = <span class="ruby-ivar">@line</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">\n\</span>
|
|
970
|
+
109: <span class="ruby-keyword kw">end</span>
|
|
971
|
+
110: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">token</span> = <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-identifier">re</span>)).<span class="ruby-identifier">nil?</span>
|
|
972
|
+
111: <span class="ruby-comment cmt">#puts "#{re.to_s[0..20]}: [#{token}]"</span>
|
|
973
|
+
112:
|
|
974
|
+
113: <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@scanner</span>.<span class="ruby-identifier">pos</span>
|
|
975
|
+
114: <span class="ruby-keyword kw">while</span> <span class="ruby-ivar">@nextMacroEnd</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@nextMacroEnd</span> <span class="ruby-operator"><</span> <span class="ruby-ivar">@pos</span>
|
|
976
|
+
115: <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">pop</span>
|
|
977
|
+
116: <span class="ruby-ivar">@nextMacroEnd</span> = <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">endPos</span>
|
|
978
|
+
117: <span class="ruby-keyword kw">end</span>
|
|
979
|
+
118:
|
|
980
|
+
119: <span class="ruby-identifier">token</span>
|
|
981
|
+
120: <span class="ruby-keyword kw">end</span></pre>
|
|
707
982
|
</div>
|
|
708
983
|
|
|
709
984
|
</div>
|