taskjuggler 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -0
- data/benchmarks/depends.tjp +2 -1
- data/benchmarks/htmltaskreport.tjp +2 -1
- data/doc/classes/AppConfig.html +124 -120
- data/doc/classes/Arguments.html +10 -6
- data/doc/classes/Object.html +229 -0
- data/doc/classes/String.html +35 -31
- data/doc/classes/TaskJuggler/Account.html +18 -18
- data/doc/classes/TaskJuggler/AccountAttribute.html +261 -0
- data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
- data/doc/classes/TaskJuggler/Allocation.html +34 -30
- data/doc/classes/TaskJuggler/AllocationAttribute.html +70 -70
- data/doc/classes/TaskJuggler/AttributeBase.html +131 -147
- data/doc/classes/TaskJuggler/AttributeDefinition.html +38 -21
- data/doc/classes/TaskJuggler/BatchProcessor.html +313 -0
- data/doc/classes/TaskJuggler/Booking.html +22 -18
- data/doc/classes/TaskJuggler/BookingListAttribute.html +42 -42
- data/doc/classes/TaskJuggler/BooleanAttribute.html +40 -40
- data/doc/classes/TaskJuggler/CSVFile.html +28 -24
- data/doc/classes/TaskJuggler/Charge.html +22 -18
- data/doc/classes/TaskJuggler/ChargeListAttribute.html +30 -30
- data/doc/classes/TaskJuggler/ChargeSet.html +41 -37
- data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/ColumnListAttribute.html +231 -0
- data/doc/classes/TaskJuggler/ColumnTable.html +23 -21
- data/doc/classes/TaskJuggler/DateAttribute.html +20 -20
- data/doc/classes/TaskJuggler/DefinitionListAttribute.html +162 -0
- data/doc/classes/TaskJuggler/DependencyListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
- data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
- data/doc/classes/TaskJuggler/FlagListAttribute.html +42 -42
- data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
- data/doc/classes/TaskJuggler/FormatListAttribute.html +197 -0
- data/doc/classes/TaskJuggler/GanttChart.html +236 -207
- data/doc/classes/TaskJuggler/GanttContainer.html +46 -42
- data/doc/classes/TaskJuggler/GanttHeader.html +16 -12
- data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +16 -12
- data/doc/classes/TaskJuggler/GanttLine.html +28 -24
- data/doc/classes/TaskJuggler/GanttLoadStack.html +22 -18
- data/doc/classes/TaskJuggler/GanttMilestone.html +46 -42
- data/doc/classes/TaskJuggler/GanttRouter.html +104 -98
- data/doc/classes/TaskJuggler/GanttTaskBar.html +46 -42
- data/doc/classes/TaskJuggler/HTMLDocument.html +12 -12
- data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
- data/doc/classes/TaskJuggler/Interval.html +126 -120
- data/doc/classes/TaskJuggler/IntervalListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/JobInfo.html +284 -0
- data/doc/classes/TaskJuggler/Journal.html +197 -0
- data/doc/classes/TaskJuggler/JournalEntry.html +218 -0
- data/doc/classes/TaskJuggler/KeywordArray.html +179 -0
- data/doc/classes/TaskJuggler/KeywordDocumentation.html +445 -396
- data/doc/classes/TaskJuggler/Limits/Limit.html +34 -30
- data/doc/classes/TaskJuggler/Limits.html +68 -62
- data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
- data/doc/classes/TaskJuggler/ListAttributeBase.html +207 -0
- data/doc/classes/TaskJuggler/Log.html +72 -68
- data/doc/classes/TaskJuggler/LogicalAttribute.html +38 -34
- data/doc/classes/TaskJuggler/LogicalExpression.html +16 -12
- data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +194 -0
- data/doc/classes/TaskJuggler/LogicalFlag.html +32 -32
- data/doc/classes/TaskJuggler/LogicalFunction.html +28 -24
- data/doc/classes/TaskJuggler/LogicalOperation.html +17 -13
- data/doc/classes/TaskJuggler/Macro.html +10 -6
- data/doc/classes/TaskJuggler/MacroParser.html +36 -36
- data/doc/classes/TaskJuggler/MacroTable.html +40 -36
- data/doc/classes/TaskJuggler/Message.html +16 -12
- data/doc/classes/TaskJuggler/MessageHandler.html +16 -12
- data/doc/classes/TaskJuggler/Navigator.html +249 -0
- data/doc/classes/TaskJuggler/OnShiftCache.html +316 -0
- data/doc/classes/TaskJuggler/Project.html +1064 -678
- data/doc/classes/TaskJuggler/ProjectFileParser.html +90 -85
- data/doc/classes/TaskJuggler/PropertyAttribute.html +194 -0
- data/doc/classes/TaskJuggler/PropertyList.html +114 -113
- data/doc/classes/TaskJuggler/PropertySet.html +355 -312
- data/doc/classes/TaskJuggler/PropertyTreeNode.html +527 -474
- data/doc/classes/TaskJuggler/Query.html +90 -85
- data/doc/classes/TaskJuggler/RTPNavigator.html +292 -0
- data/doc/classes/TaskJuggler/RTPReport.html +301 -0
- data/doc/classes/TaskJuggler/RealFormat.html +114 -57
- data/doc/classes/TaskJuggler/RealFormatAttribute.html +162 -0
- data/doc/classes/TaskJuggler/ReferenceAttribute.html +87 -20
- data/doc/classes/TaskJuggler/Report.html +82 -291
- data/doc/classes/TaskJuggler/ReportBase.html +448 -0
- data/doc/classes/TaskJuggler/ReportContext.html +243 -0
- data/doc/classes/TaskJuggler/ReportTable.html +158 -129
- data/doc/classes/TaskJuggler/ReportTableCell.html +30 -26
- data/doc/classes/TaskJuggler/ReportTableColumn.html +29 -25
- data/doc/classes/TaskJuggler/ReportTableLegend.html +28 -24
- data/doc/classes/TaskJuggler/ReportTableLine.html +34 -30
- data/doc/classes/TaskJuggler/Resource.html +12 -12
- data/doc/classes/TaskJuggler/ResourceListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/ResourceListRE.html +49 -57
- data/doc/classes/TaskJuggler/ResourceScenario.html +126 -126
- data/doc/classes/TaskJuggler/RichText.html +52 -48
- data/doc/classes/TaskJuggler/RichTextAttribute.html +30 -30
- data/doc/classes/TaskJuggler/RichTextDocument.html +41 -37
- data/doc/classes/TaskJuggler/RichTextElement.html +274 -264
- data/doc/classes/TaskJuggler/RichTextException.html +13 -13
- data/doc/classes/TaskJuggler/RichTextParser.html +48 -47
- data/doc/classes/TaskJuggler/RichTextProtocolExample.html +52 -55
- data/doc/classes/TaskJuggler/RichTextProtocolHandler.html +55 -10
- data/doc/classes/TaskJuggler/RichTextScanner.html +106 -245
- data/doc/classes/TaskJuggler/RichTextSnip.html +28 -24
- data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +381 -301
- data/doc/classes/TaskJuggler/Scenario.html +6 -6
- data/doc/classes/TaskJuggler/ScenarioData.html +40 -36
- data/doc/classes/TaskJuggler/ScenarioListAttribute.html +229 -0
- data/doc/classes/TaskJuggler/Scoreboard.html +70 -66
- data/doc/classes/TaskJuggler/Shift.html +18 -18
- data/doc/classes/TaskJuggler/ShiftAssignment.html +58 -54
- data/doc/classes/TaskJuggler/ShiftAssignments.html +82 -78
- data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
- data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
- data/doc/classes/TaskJuggler/SortListAttribute.html +196 -0
- data/doc/classes/TaskJuggler/SourceFileInfo.html +16 -12
- data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
- data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
- data/doc/classes/TaskJuggler/SyntaxReference.html +46 -42
- data/doc/classes/TaskJuggler/TOCEntry.html +16 -12
- data/doc/classes/TaskJuggler/TableColumnDefinition.html +48 -33
- data/doc/classes/TaskJuggler/TableOfContents.html +22 -18
- data/doc/classes/TaskJuggler/TableReport.html +1036 -0
- data/doc/classes/TaskJuggler/Task.html +12 -12
- data/doc/classes/TaskJuggler/TaskDependency.html +16 -12
- data/doc/classes/TaskJuggler/TaskListAttribute.html +46 -46
- data/doc/classes/TaskJuggler/TaskListRE.html +49 -58
- data/doc/classes/TaskJuggler/TaskScenario.html +1270 -1180
- data/doc/classes/TaskJuggler/TextParser/Pattern.html +100 -96
- data/doc/classes/TaskJuggler/TextParser/Rule.html +88 -84
- data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -12
- data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
- data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +10 -6
- data/doc/classes/TaskJuggler/TextParser.html +203 -140
- data/doc/classes/TaskJuggler/TextReport.html +364 -0
- data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
- data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +50 -42
- data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +16 -12
- data/doc/classes/TaskJuggler/TextScanner.html +334 -240
- data/doc/classes/TaskJuggler/TjException.html +6 -6
- data/doc/classes/TaskJuggler/TjTime.html +547 -497
- data/doc/classes/TaskJuggler/TjpExample.html +29 -25
- data/doc/classes/TaskJuggler/TjpExportRE.html +77 -97
- data/doc/classes/TaskJuggler/TjpSyntaxRules.html +3911 -3886
- data/doc/classes/TaskJuggler/UserManual.html +54 -54
- data/doc/classes/TaskJuggler/WorkingHours.html +53 -49
- data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -85
- data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
- data/doc/classes/TaskJuggler/XMLComment.html +21 -21
- data/doc/classes/TaskJuggler/XMLDocument.html +28 -24
- data/doc/classes/TaskJuggler/XMLElement.html +70 -58
- data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
- data/doc/classes/TaskJuggler/XMLText.html +36 -36
- data/doc/classes/TaskJuggler.html +266 -183
- data/doc/files/COPYING.html +1 -1
- data/doc/files/README.html +1 -1
- data/doc/files/lib/AccountScenario_rb.html +1 -1
- data/doc/files/lib/Account_rb.html +1 -1
- data/doc/files/lib/Allocation_rb.html +1 -1
- data/doc/files/lib/AppConfig_rb.html +1 -1
- data/doc/files/lib/AttributeBase_rb.html +11 -1
- data/doc/files/lib/AttributeDefinition_rb.html +1 -1
- data/doc/files/lib/Attributes_rb.html +1 -1
- data/doc/files/lib/{LogicalFlag_rb.html → BatchProcessor_rb.html} +8 -6
- data/doc/files/lib/Booking_rb.html +1 -1
- data/doc/files/lib/ChargeSet_rb.html +1 -1
- data/doc/files/lib/Charge_rb.html +1 -1
- data/doc/files/lib/HTMLDocument_rb.html +1 -1
- data/doc/files/lib/Interval_rb.html +1 -1
- data/doc/files/lib/Journal_rb.html +106 -0
- data/doc/files/lib/KeywordArray_rb.html +106 -0
- data/doc/files/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/files/lib/Limits_rb.html +1 -1
- data/doc/files/lib/Log_rb.html +1 -1
- data/doc/files/lib/LogicalExpression_rb.html +1 -3
- data/doc/files/lib/LogicalFunction_rb.html +1 -1
- data/doc/files/lib/LogicalOperation_rb.html +1 -1
- data/doc/files/lib/MacroParser_rb.html +1 -1
- data/doc/files/lib/MacroTable_rb.html +1 -1
- data/doc/files/lib/MessageHandler_rb.html +1 -1
- data/doc/files/lib/Message_rb.html +1 -1
- data/doc/files/lib/ProjectFileParser_rb.html +5 -1
- data/doc/files/lib/Project_rb.html +5 -1
- data/doc/files/lib/PropertyList_rb.html +1 -1
- data/doc/files/lib/PropertySet_rb.html +1 -1
- data/doc/files/lib/PropertyTreeNode_rb.html +1 -1
- data/doc/files/lib/Query_rb.html +1 -1
- data/doc/files/lib/RTPNavigator_rb.html +120 -0
- data/doc/files/lib/RTPReport_rb.html +118 -0
- data/doc/files/lib/RealFormat_rb.html +1 -1
- data/doc/files/lib/ResourceScenario_rb.html +1 -1
- data/doc/files/lib/Resource_rb.html +1 -1
- data/doc/files/lib/RichTextDocument_rb.html +1 -1
- data/doc/files/lib/RichTextElement_rb.html +1 -1
- data/doc/files/lib/RichTextParser_rb.html +1 -1
- data/doc/files/lib/RichTextProtocolExample_rb.html +1 -1
- data/doc/files/lib/RichTextProtocolHandler_rb.html +1 -1
- data/doc/files/lib/RichTextScanner_rb.html +1 -1
- data/doc/files/lib/RichTextSnip_rb.html +1 -1
- data/doc/files/lib/RichTextSyntaxRules_rb.html +1 -1
- data/doc/files/lib/RichText_rb.html +1 -1
- data/doc/files/lib/ScenarioData_rb.html +1 -1
- data/doc/files/lib/Scenario_rb.html +1 -1
- data/doc/files/lib/Scoreboard_rb.html +1 -1
- data/doc/files/lib/ShiftAssignments_rb.html +1 -1
- data/doc/files/lib/ShiftScenario_rb.html +1 -1
- data/doc/files/lib/Shift_rb.html +1 -1
- data/doc/files/lib/SourceFileInfo_rb.html +1 -1
- data/doc/files/lib/SyntaxReference_rb.html +1 -1
- data/doc/files/lib/TOCEntry_rb.html +1 -1
- data/doc/files/lib/TableColumnDefinition_rb.html +1 -1
- data/doc/files/lib/TableOfContents_rb.html +1 -1
- data/doc/files/lib/TaskDependency_rb.html +1 -1
- data/doc/files/lib/TaskJuggler_rb.html +1 -1
- data/doc/files/lib/TaskScenario_rb.html +1 -1
- data/doc/files/lib/Task_rb.html +1 -1
- data/doc/files/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/files/lib/TextParser/Rule_rb.html +1 -1
- data/doc/files/lib/TextParser/StackElement_rb.html +1 -1
- data/doc/files/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/files/lib/TextParser_rb.html +1 -1
- data/doc/files/lib/TextScanner_rb.html +1 -1
- data/doc/files/lib/Tj3Config_rb.html +1 -1
- data/doc/files/lib/TjException_rb.html +1 -1
- data/doc/files/lib/TjTime_rb.html +1 -1
- data/doc/files/lib/TjpExample_rb.html +1 -1
- data/doc/files/lib/TjpSyntaxRules_rb.html +1 -1
- data/doc/files/lib/UTF8String_rb.html +1 -1
- data/doc/files/lib/UserManual_rb.html +1 -1
- data/doc/files/lib/WorkingHours_rb.html +1 -1
- data/doc/files/lib/XMLDocument_rb.html +1 -1
- data/doc/files/lib/XMLElement_rb.html +1 -1
- data/doc/files/lib/deep_copy_rb.html +106 -0
- data/doc/files/lib/ms_test_rb.html +90 -0
- data/doc/files/lib/reports/CSVFile_rb.html +1 -1
- data/doc/files/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/files/lib/reports/GanttChart_rb.html +1 -1
- data/doc/files/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/files/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/files/lib/reports/GanttLine_rb.html +1 -1
- data/doc/files/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/files/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/files/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/files/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/files/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/files/lib/reports/{ReportElement_rb.html → Navigator_rb.html} +6 -8
- data/doc/files/lib/reports/ReportBase_rb.html +106 -0
- data/doc/files/lib/reports/ReportContext_rb.html +106 -0
- data/doc/files/lib/reports/ReportTableCell_rb.html +1 -1
- data/doc/files/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/files/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/files/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/files/lib/reports/ReportTable_rb.html +1 -1
- data/doc/files/lib/reports/Report_rb.html +8 -2
- data/doc/files/lib/reports/ResourceListRE_rb.html +2 -2
- data/doc/files/lib/reports/{ReportTableElement_rb.html → TableReport_rb.html} +7 -5
- data/doc/files/lib/reports/TaskListRE_rb.html +2 -2
- data/doc/files/lib/reports/TextReport_rb.html +116 -0
- data/doc/files/lib/reports/TjpExportRE_rb.html +2 -2
- data/doc/files/lib/taskjuggler3_rb.html +61 -56
- data/doc/files/lib/tj3man_rb.html +1 -1
- data/doc/fr_class_index.html +41 -3
- data/doc/fr_file_index.html +21 -5
- data/doc/fr_method_index.html +1069 -959
- data/examples/ContactList.html +1467 -0
- data/examples/Deliveries.html +485 -0
- data/examples/Development.html +2525 -0
- data/examples/Overview.html +747 -0
- data/examples/Resource Graph.html +616 -0
- data/examples/tutorial.tjp +63 -67
- data/lib/AttributeBase.rb +27 -31
- data/lib/AttributeDefinition.rb +12 -7
- data/lib/Attributes.rb +134 -34
- data/lib/Interval.rb +2 -0
- data/lib/Journal.rb +44 -0
- data/lib/{LogicalFlag.rb → KeywordArray.rb} +5 -13
- data/lib/KeywordDocumentation.rb +84 -47
- data/lib/Limits.rb +7 -5
- data/lib/LogicalExpression.rb +1 -1
- data/lib/LogicalOperation.rb +33 -0
- data/lib/Project.rb +313 -99
- data/lib/ProjectFileParser.rb +88 -11
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +13 -4
- data/lib/PropertyTreeNode.rb +34 -15
- data/lib/Query.rb +2 -1
- data/lib/RTPNavigator.rb +53 -0
- data/lib/RTPReport.rb +62 -0
- data/lib/RealFormat.rb +28 -10
- data/lib/RichTextElement.rb +18 -12
- data/lib/RichTextParser.rb +1 -0
- data/lib/RichTextProtocolExample.rb +8 -11
- data/lib/RichTextProtocolHandler.rb +11 -1
- data/lib/RichTextScanner.rb +308 -164
- data/lib/RichTextSyntaxRules.rb +24 -0
- data/lib/TableColumnDefinition.rb +5 -1
- data/lib/TaskJuggler.rb +3 -2
- data/lib/TaskScenario.rb +123 -31
- data/lib/TextParser.rb +14 -3
- data/lib/TextScanner.rb +210 -34
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +15 -0
- data/lib/TjpExample.rb +1 -1
- data/lib/TjpSyntaxRules.rb +674 -473
- data/lib/WorkingHours.rb +1 -1
- data/lib/XMLElement.rb +11 -3
- data/lib/deep_copy.rb +72 -0
- data/lib/ms_test.rb +27 -0
- data/lib/reports/ColumnTable.rb +7 -5
- data/lib/reports/GanttChart.rb +60 -34
- data/lib/reports/GanttHeader.rb +1 -1
- data/lib/reports/GanttRouter.rb +7 -5
- data/lib/reports/Navigator.rb +72 -0
- data/lib/reports/Report.rb +58 -73
- data/lib/reports/ReportBase.rb +241 -0
- data/lib/reports/ReportContext.rb +41 -0
- data/lib/reports/ReportTable.rb +7 -2
- data/lib/reports/ReportTableCell.rb +3 -3
- data/lib/reports/ResourceListRE.rb +19 -26
- data/lib/reports/{ReportTableElement.rb → TableReport.rb} +297 -97
- data/lib/reports/TaskListRE.rb +16 -24
- data/lib/reports/TextReport.rb +87 -0
- data/lib/reports/TjpExportRE.rb +55 -50
- data/lib/taskjuggler3.rb +6 -1
- data/manual/Getting_Started +57 -6
- data/manual/How_To_Contribute +2 -4
- data/manual/Intro +2 -2
- data/manual/Reporting_Bugs +9 -2
- data/manual/Rich_Text_Attributes +41 -0
- data/manual/Tutorial +219 -173
- data/tasks/test.rake +3 -0
- data/test/TestSuite/CSV-Reports/celltext.tjp +2 -1
- data/test/TestSuite/CSV-Reports/resourcereport.tjp +2 -1
- data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +2 -1
- data/test/TestSuite/CSV-Reports/sortByTree.tjp +2 -1
- data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +2 -1
- data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +2 -1
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +2 -1
- data/test/TestSuite/CSV-Reports/taskreport.tjp +2 -1
- data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +2 -1
- data/test/TestSuite/HTML-Reports/depArrows.tjp +72 -0
- data/test/TestSuite/HTML-Reports/reference-export.html +187 -0
- data/test/TestSuite/HTML-Reports/reference.tjp +21 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -1
- data/test/TestSuite/Scheduler/Correct/AutomaticMilestones.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/Container-2.tjp +37 -0
- data/test/TestSuite/Scheduler/Correct/Container.tjp +40 -0
- data/test/TestSuite/Scheduler/Correct/Depends.tjp +9 -14
- data/test/TestSuite/Scheduler/Correct/Duration.tjp +2 -1
- data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +20 -29
- data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -13
- data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +6 -5
- data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +10 -6
- data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +9 -6
- data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +9 -6
- data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +13 -10
- data/test/TestSuite/Scheduler/Correct/Precedes.tjp +9 -14
- data/test/TestSuite/Scheduler/Correct/Shift.tjp +9 -8
- data/test/TestSuite/Scheduler/Correct/checks.tji +4 -0
- data/test/TestSuite/Scheduler/Errors/weak_end_dep.tjp +16 -0
- data/test/TestSuite/Scheduler/Errors/weak_start_dep.tjp +16 -0
- data/test/TestSuite/Syntax/Correct/Account.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/AutoID.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/AutoMacros.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/Caption.tjp +7 -6
- data/test/TestSuite/Syntax/Correct/Celltext.tjp +7 -4
- data/test/TestSuite/Syntax/Correct/Comments.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/CompletedWork.tji +11 -19
- data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +4 -3
- data/test/TestSuite/Syntax/Correct/Export.tjp +3 -1
- data/test/TestSuite/Syntax/Correct/Flags.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/HtmlTaskReport.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/Journal.tjp +18 -0
- data/test/TestSuite/Syntax/Correct/LoadUnits.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +16 -0
- data/test/TestSuite/Syntax/Correct/Period.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/RawHTML.tjp +4 -2
- data/test/TestSuite/Syntax/Correct/Reports.tjp +4 -2
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.tji +2 -0
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.tjp +23 -0
- data/test/TestSuite/Syntax/Correct/Responsible.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Simple.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/String.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +2 -1
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +92 -70
- data/test/TestSuite/Syntax/Errors/bad_comment.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/bad_include.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/bad_time_zone.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/bad_timing_res.tjp +5 -0
- data/test/TestSuite/Syntax/Errors/chargeset_master.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/container_attribute.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/cost_acct_no_top.tjp +3 -2
- data/test/TestSuite/Syntax/Errors/cost_rev_same.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/eof_in_istring1.tjp +5 -0
- data/test/TestSuite/Syntax/Errors/eof_in_istring2.tjp +5 -0
- data/test/TestSuite/Syntax/Errors/eof_in_istring3.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/eof_in_istring4.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/eof_in_istring5.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/include_recursion.tji +1 -0
- data/test/TestSuite/Syntax/Errors/include_recursion.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/junk_after_cut.tjp +6 -0
- data/test/TestSuite/Syntax/Errors/navigator_exists.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/operand_unkn_flag.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/report_end.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/report_exists.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/report_start.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/rev_acct_no_top.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sort_direction.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sort_unknown_scen.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sorting_crit_exptd1.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sorting_crit_exptd2.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/too_large_timing_res.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/unknown_scenario_idx.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/unknown_task.tjp +1 -1
- data/test/all.rb +1 -16
- data/test/test_CSV-Reports.rb +8 -5
- data/test/test_Query.rb +2 -2
- data/test/test_RichText.rb +95 -0
- data/test/test_Scheduler.rb +8 -4
- data/test/test_Syntax.rb +8 -4
- data/test/test_deep_copy.rb +83 -0
- metadata +549 -487
- data/benchmarks/UTF-8-Strings.rb +0 -58
- data/doc/classes/TaskJuggler/ReportElement.html +0 -1070
- data/doc/classes/TaskJuggler/ReportTableElement.html +0 -644
- data/lib/reports/ReportElement.rb +0 -427
- data/test/TestSuite/Syntax/Correct/csvtest +0 -16
- data/test/TestSuite/Syntax/Errors/no_csv_suffix.tjp +0 -10
- data/test/TestSuite/Syntax/Errors/no_html_suffix.tjp +0 -10
- data/test/TestSuite/Syntax/Errors/report_redifinition.tjp +0 -10
@@ -70,8 +70,12 @@
|
|
70
70
|
<td><strong>Parent:</strong></td>
|
71
71
|
<td>
|
72
72
|
|
73
|
+
<a href="../Object.html">
|
74
|
+
|
73
75
|
Object
|
74
76
|
|
77
|
+
</a>
|
78
|
+
|
75
79
|
</td>
|
76
80
|
</tr>
|
77
81
|
|
@@ -100,29 +104,33 @@ file can include an other file.
|
|
100
104
|
|
101
105
|
<div class="name-list">
|
102
106
|
|
103
|
-
<a href="#
|
107
|
+
<a href="#M000734">addMacro</a>
|
108
|
+
|
109
|
+
<a href="#M000728">close</a>
|
104
110
|
|
105
|
-
<a href="#
|
111
|
+
<a href="#M000737">error</a>
|
106
112
|
|
107
|
-
<a href="#
|
113
|
+
<a href="#M000736">expandMacro</a>
|
108
114
|
|
109
|
-
<a href="#
|
115
|
+
<a href="#M000731">fileName</a>
|
110
116
|
|
111
|
-
<a href="#
|
117
|
+
<a href="#M000729">include</a>
|
112
118
|
|
113
|
-
<a href="#
|
119
|
+
<a href="#M000735">macroDefined?</a>
|
114
120
|
|
115
|
-
<a href="#
|
121
|
+
<a href="#M000739">message</a>
|
116
122
|
|
117
|
-
<a href="#
|
123
|
+
<a href="#M000726">new</a>
|
118
124
|
|
119
|
-
<a href="#
|
125
|
+
<a href="#M000732">nextToken</a>
|
120
126
|
|
121
|
-
<a href="#
|
127
|
+
<a href="#M000727">open</a>
|
122
128
|
|
123
|
-
<a href="#
|
129
|
+
<a href="#M000733">returnToken</a>
|
124
130
|
|
125
|
-
<a href="#
|
131
|
+
<a href="#M000730">sourceFileInfo</a>
|
132
|
+
|
133
|
+
<a href="#M000738">warning</a>
|
126
134
|
|
127
135
|
</div>
|
128
136
|
</div>
|
@@ -152,12 +160,12 @@ Class <a href="TextScanner/StreamHandle.html" class="link">TaskJuggler::TextScan
|
|
152
160
|
<h3 class="section-bar">Public Class methods</h3>
|
153
161
|
|
154
162
|
|
155
|
-
<div id="method-
|
156
|
-
<a name="
|
163
|
+
<div id="method-M000726" class="method-detail">
|
164
|
+
<a name="M000726"></a>
|
157
165
|
|
158
166
|
<div class="method-heading">
|
159
167
|
|
160
|
-
<a href="#
|
168
|
+
<a href="#M000726" class="method-signature">
|
161
169
|
|
162
170
|
<span class="method-name">new</span><span class="method-args">(masterFile, messageHandler)</span>
|
163
171
|
|
@@ -177,26 +185,26 @@ messages.
|
|
177
185
|
</p>
|
178
186
|
|
179
187
|
<p><a class="source-toggle" href="#"
|
180
|
-
onclick="toggleCode('
|
181
|
-
<div class="method-source-code" id="
|
188
|
+
onclick="toggleCode('M000726-source');return false;">[Source]</a></p>
|
189
|
+
<div class="method-source-code" id="M000726-source">
|
182
190
|
<pre>
|
183
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
191
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 146</span>
|
192
|
+
146: <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>)
|
193
|
+
147: <span class="ruby-ivar">@masterFile</span> = <span class="ruby-identifier">masterFile</span>
|
194
|
+
148: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-identifier">messageHandler</span>
|
195
|
+
149: <span class="ruby-comment cmt"># This table contains all macros that may be expanded when found in the</span>
|
196
|
+
150: <span class="ruby-comment cmt"># text.</span>
|
197
|
+
151: <span class="ruby-ivar">@macroTable</span> = <span class="ruby-constant">MacroTable</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">messageHandler</span>)
|
198
|
+
152: <span class="ruby-comment cmt"># This Array stores the currently processed nested files. It's an Array</span>
|
199
|
+
153: <span class="ruby-comment cmt"># of Arrays. The nested Array consists of 3 elements, the @cf,</span>
|
200
|
+
154: <span class="ruby-comment cmt"># @tokenBuffer and the @pos of the file.</span>
|
201
|
+
155: <span class="ruby-ivar">@fileStack</span> = []
|
202
|
+
156: <span class="ruby-comment cmt"># This Array stores the currently processed nested macros.</span>
|
203
|
+
157: <span class="ruby-ivar">@macroStack</span> = []
|
204
|
+
158: <span class="ruby-comment cmt"># In certain situation we want to ignore Macro replacement and this flag</span>
|
205
|
+
159: <span class="ruby-comment cmt"># is set to true.</span>
|
206
|
+
160: <span class="ruby-ivar">@ignoreMacros</span> = <span class="ruby-keyword kw">false</span>
|
207
|
+
161: <span class="ruby-keyword kw">end</span>
|
200
208
|
</pre>
|
201
209
|
</div>
|
202
210
|
|
@@ -207,12 +215,12 @@ messages.
|
|
207
215
|
<h3 class="section-bar">Public Instance methods</h3>
|
208
216
|
|
209
217
|
|
210
|
-
<div id="method-
|
211
|
-
<a name="
|
218
|
+
<div id="method-M000734" class="method-detail">
|
219
|
+
<a name="M000734"></a>
|
212
220
|
|
213
221
|
<div class="method-heading">
|
214
222
|
|
215
|
-
<a href="#
|
223
|
+
<a href="#M000734" class="method-signature">
|
216
224
|
|
217
225
|
<span class="method-name">addMacro</span><span class="method-args">(macro)</span>
|
218
226
|
|
@@ -227,13 +235,13 @@ Add a <a href="Macro.html">Macro</a> to the macro translation table.
|
|
227
235
|
</p>
|
228
236
|
|
229
237
|
<p><a class="source-toggle" href="#"
|
230
|
-
onclick="toggleCode('
|
231
|
-
<div class="method-source-code" id="
|
238
|
+
onclick="toggleCode('M000734-source');return false;">[Source]</a></p>
|
239
|
+
<div class="method-source-code" id="M000734-source">
|
232
240
|
<pre>
|
233
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
234
|
-
|
235
|
-
|
236
|
-
|
241
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 325</span>
|
242
|
+
325: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addMacro</span>(<span class="ruby-identifier">macro</span>)
|
243
|
+
326: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">add</span>(<span class="ruby-identifier">macro</span>)
|
244
|
+
327: <span class="ruby-keyword kw">end</span>
|
237
245
|
</pre>
|
238
246
|
</div>
|
239
247
|
|
@@ -241,12 +249,12 @@ Add a <a href="Macro.html">Macro</a> to the macro translation table.
|
|
241
249
|
</div>
|
242
250
|
|
243
251
|
|
244
|
-
<div id="method-
|
245
|
-
<a name="
|
252
|
+
<div id="method-M000728" class="method-detail">
|
253
|
+
<a name="M000728"></a>
|
246
254
|
|
247
255
|
<div class="method-heading">
|
248
256
|
|
249
|
-
<a href="#
|
257
|
+
<a href="#M000728" class="method-signature">
|
250
258
|
|
251
259
|
<span class="method-name">close</span><span class="method-args">()</span>
|
252
260
|
|
@@ -261,16 +269,16 @@ Finish processing and reset all data structures.
|
|
261
269
|
</p>
|
262
270
|
|
263
271
|
<p><a class="source-toggle" href="#"
|
264
|
-
onclick="toggleCode('
|
265
|
-
<div class="method-source-code" id="
|
272
|
+
onclick="toggleCode('M000728-source');return false;">[Source]</a></p>
|
273
|
+
<div class="method-source-code" id="M000728-source">
|
266
274
|
<pre>
|
267
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
275
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 180</span>
|
276
|
+
180: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
|
277
|
+
181: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">startProgressMeter</span>(<span class="ruby-node">"Reading file #{@masterFile}"</span>)
|
278
|
+
182: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">stopProgressMeter</span>
|
279
|
+
183: <span class="ruby-ivar">@fileStack</span> = []
|
280
|
+
184: <span class="ruby-ivar">@cf</span> = <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
281
|
+
185: <span class="ruby-keyword kw">end</span>
|
274
282
|
</pre>
|
275
283
|
</div>
|
276
284
|
|
@@ -278,12 +286,12 @@ Finish processing and reset all data structures.
|
|
278
286
|
</div>
|
279
287
|
|
280
288
|
|
281
|
-
<div id="method-
|
282
|
-
<a name="
|
289
|
+
<div id="method-M000737" class="method-detail">
|
290
|
+
<a name="M000737"></a>
|
283
291
|
|
284
292
|
<div class="method-heading">
|
285
293
|
|
286
|
-
<a href="#
|
294
|
+
<a href="#M000737" class="method-signature">
|
287
295
|
|
288
296
|
<span class="method-name">error</span><span class="method-args">(id, text, property = nil)</span>
|
289
297
|
|
@@ -298,26 +306,13 @@ Call this function to report any errors related to the parsed input.
|
|
298
306
|
</p>
|
299
307
|
|
300
308
|
<p><a class="source-toggle" href="#"
|
301
|
-
onclick="toggleCode('
|
302
|
-
<div class="method-source-code" id="
|
309
|
+
onclick="toggleCode('M000737-source');return false;">[Source]</a></p>
|
310
|
+
<div class="method-source-code" id="M000737-source">
|
303
311
|
<pre>
|
304
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
320: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
|
309
|
-
321:
|
310
|
-
322: <span class="ruby-keyword kw">until</span> <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">empty?</span>
|
311
|
-
323: <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span> = <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">pop</span>
|
312
|
-
324: <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> }
|
313
|
-
325: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'macro_stack'</span>, <span class="ruby-value str">'info'</span>,
|
314
|
-
326: <span class="ruby-node">" #{macro.name} #{args.join(' ')}"</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
|
315
|
-
327: <span class="ruby-identifier">macro</span>.<span class="ruby-identifier">sourceFileInfo</span>)
|
316
|
-
328: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
|
317
|
-
329: <span class="ruby-keyword kw">end</span>
|
318
|
-
330:
|
319
|
-
331: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">'Syntax error during parse'</span>
|
320
|
-
332: <span class="ruby-keyword kw">end</span>
|
312
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 348</span>
|
313
|
+
348: <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">property</span> = <span class="ruby-keyword kw">nil</span>)
|
314
|
+
349: <span class="ruby-identifier">message</span>(<span class="ruby-value str">'error'</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span>)
|
315
|
+
350: <span class="ruby-keyword kw">end</span>
|
321
316
|
</pre>
|
322
317
|
</div>
|
323
318
|
|
@@ -325,12 +320,12 @@ Call this function to report any errors related to the parsed input.
|
|
325
320
|
</div>
|
326
321
|
|
327
322
|
|
328
|
-
<div id="method-
|
329
|
-
<a name="
|
323
|
+
<div id="method-M000736" class="method-detail">
|
324
|
+
<a name="M000736"></a>
|
330
325
|
|
331
326
|
<div class="method-heading">
|
332
327
|
|
333
|
-
<a href="#
|
328
|
+
<a href="#M000736" class="method-signature">
|
334
329
|
|
335
330
|
<span class="method-name">expandMacro</span><span class="method-args">(args)</span>
|
336
331
|
|
@@ -341,22 +336,22 @@ Call this function to report any errors related to the parsed input.
|
|
341
336
|
<div class="method-description">
|
342
337
|
|
343
338
|
<p><a class="source-toggle" href="#"
|
344
|
-
onclick="toggleCode('
|
345
|
-
<div class="method-source-code" id="
|
339
|
+
onclick="toggleCode('M000736-source');return false;">[Source]</a></p>
|
340
|
+
<div class="method-source-code" id="M000736-source">
|
346
341
|
<pre>
|
347
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
342
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 334</span>
|
343
|
+
334: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expandMacro</span>(<span class="ruby-identifier">args</span>)
|
344
|
+
335: <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>)
|
345
|
+
336: <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>
|
346
|
+
337:
|
347
|
+
338: <span class="ruby-ivar">@macroStack</span> <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span> ]
|
348
|
+
339: <span class="ruby-comment cmt"># Mark end of macro with a 0 element</span>
|
349
|
+
340: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">charBuffer</span> <span class="ruby-operator"><<</span> <span class="ruby-value">0</span>
|
350
|
+
341: <span class="ruby-identifier">text</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">each_utf8_char</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
|
351
|
+
342: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">charBuffer</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">c</span>
|
352
|
+
343: <span class="ruby-keyword kw">end</span>
|
353
|
+
344: <span class="ruby-ivar">@cf</span>.<span class="ruby-identifier">line</span> = <span class="ruby-value str">''</span>
|
354
|
+
345: <span class="ruby-keyword kw">end</span>
|
360
355
|
</pre>
|
361
356
|
</div>
|
362
357
|
|
@@ -364,12 +359,12 @@ Call this function to report any errors related to the parsed input.
|
|
364
359
|
</div>
|
365
360
|
|
366
361
|
|
367
|
-
<div id="method-
|
368
|
-
<a name="
|
362
|
+
<div id="method-M000731" class="method-detail">
|
363
|
+
<a name="M000731"></a>
|
369
364
|
|
370
365
|
<div class="method-heading">
|
371
366
|
|
372
|
-
<a href="#
|
367
|
+
<a href="#M000731" class="method-signature">
|
373
368
|
|
374
369
|
<span class="method-name">fileName</span><span class="method-args">()</span>
|
375
370
|
|
@@ -385,13 +380,13 @@ text buffer, the text will be returned.
|
|
385
380
|
</p>
|
386
381
|
|
387
382
|
<p><a class="source-toggle" href="#"
|
388
|
-
onclick="toggleCode('
|
389
|
-
<div class="method-source-code" id="
|
383
|
+
onclick="toggleCode('M000731-source');return false;">[Source]</a></p>
|
384
|
+
<div class="method-source-code" id="M000731-source">
|
390
385
|
<pre>
|
391
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
392
|
-
|
393
|
-
|
394
|
-
|
386
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 230</span>
|
387
|
+
230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileName</span>
|
388
|
+
231: <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>
|
389
|
+
232: <span class="ruby-keyword kw">end</span>
|
395
390
|
</pre>
|
396
391
|
</div>
|
397
392
|
|
@@ -399,12 +394,12 @@ text buffer, the text will be returned.
|
|
399
394
|
</div>
|
400
395
|
|
401
396
|
|
402
|
-
<div id="method-
|
403
|
-
<a name="
|
397
|
+
<div id="method-M000729" class="method-detail">
|
398
|
+
<a name="M000729"></a>
|
404
399
|
|
405
400
|
<div class="method-heading">
|
406
401
|
|
407
|
-
<a href="#
|
402
|
+
<a href="#M000729" class="method-signature">
|
408
403
|
|
409
404
|
<span class="method-name">include</span><span class="method-args">(fileName)</span>
|
410
405
|
|
@@ -421,30 +416,42 @@ where we started with the new file.
|
|
421
416
|
</p>
|
422
417
|
|
423
418
|
<p><a class="source-toggle" href="#"
|
424
|
-
onclick="toggleCode('
|
425
|
-
<div class="method-source-code" id="
|
419
|
+
onclick="toggleCode('M000729-source');return false;">[Source]</a></p>
|
420
|
+
<div class="method-source-code" id="M000729-source">
|
426
421
|
<pre>
|
427
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
422
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 190</span>
|
423
|
+
190: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">include</span>(<span class="ruby-identifier">fileName</span>)
|
424
|
+
191: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">empty?</span>
|
425
|
+
192: <span class="ruby-identifier">path</span> = <span class="ruby-ivar">@masterPath</span>
|
426
|
+
193: <span class="ruby-keyword kw">else</span>
|
427
|
+
194: <span class="ruby-identifier">path</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> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
|
428
|
+
195: <span class="ruby-ivar">@fileStack</span>.<span class="ruby-identifier">last</span>[<span class="ruby-value">1</span>, <span class="ruby-value">2</span>] = [ <span class="ruby-ivar">@tokenBuffer</span>, <span class="ruby-ivar">@pos</span> ]
|
429
|
+
196: <span class="ruby-keyword kw">end</span>
|
430
|
+
197: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileName</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'/'</span>
|
431
|
+
198: <span class="ruby-comment cmt"># If the included file is not an absolute name, we interpret the file</span>
|
432
|
+
199: <span class="ruby-comment cmt"># name relative to the including file.</span>
|
433
|
+
200: <span class="ruby-identifier">fileName</span> = <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span>
|
434
|
+
201: <span class="ruby-keyword kw">end</span>
|
435
|
+
202:
|
436
|
+
203: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
437
|
+
204:
|
438
|
+
205: <span class="ruby-comment cmt"># Check the current file stack to find recusions.</span>
|
439
|
+
206: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pos</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">fileName</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@pos</span>.<span class="ruby-identifier">fileName</span>
|
440
|
+
207: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'include_recursion'</span>, <span class="ruby-node">"Recursive inclusion of #{fileName} detected"</span>)
|
441
|
+
208: <span class="ruby-keyword kw">else</span>
|
442
|
+
209: <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>
|
443
|
+
210: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileName</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">fileName</span>
|
444
|
+
211: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'include_recursion'</span>, <span class="ruby-node">"Recursive inclusion of #{fileName} "</span> <span class="ruby-operator">+</span>
|
445
|
+
212: <span class="ruby-value str">"detected"</span>)
|
446
|
+
213: <span class="ruby-keyword kw">end</span>
|
447
|
+
214: <span class="ruby-keyword kw">end</span>
|
448
|
+
215: <span class="ruby-keyword kw">end</span>
|
449
|
+
216: <span class="ruby-keyword kw">begin</span>
|
450
|
+
217: <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">fileName</span>)), <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span> ]
|
451
|
+
218: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
|
452
|
+
219: <span class="ruby-identifier">error</span>(<span class="ruby-value str">'bad_include'</span>, <span class="ruby-node">"Cannot open include file #{fileName}"</span>)
|
453
|
+
220: <span class="ruby-keyword kw">end</span>
|
454
|
+
221: <span class="ruby-keyword kw">end</span>
|
448
455
|
</pre>
|
449
456
|
</div>
|
450
457
|
|
@@ -452,12 +459,12 @@ where we started with the new file.
|
|
452
459
|
</div>
|
453
460
|
|
454
461
|
|
455
|
-
<div id="method-
|
456
|
-
<a name="
|
462
|
+
<div id="method-M000735" class="method-detail">
|
463
|
+
<a name="M000735"></a>
|
457
464
|
|
458
465
|
<div class="method-heading">
|
459
466
|
|
460
|
-
<a href="#
|
467
|
+
<a href="#M000735" class="method-signature">
|
461
468
|
|
462
469
|
<span class="method-name">macroDefined?</span><span class="method-args">(name)</span>
|
463
470
|
|
@@ -473,13 +480,59 @@ added already.
|
|
473
480
|
</p>
|
474
481
|
|
475
482
|
<p><a class="source-toggle" href="#"
|
476
|
-
onclick="toggleCode('
|
477
|
-
<div class="method-source-code" id="
|
483
|
+
onclick="toggleCode('M000735-source');return false;">[Source]</a></p>
|
484
|
+
<div class="method-source-code" id="M000735-source">
|
485
|
+
<pre>
|
486
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 330</span>
|
487
|
+
330: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">macroDefined?</span>(<span class="ruby-identifier">name</span>)
|
488
|
+
331: <span class="ruby-ivar">@macroTable</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
|
489
|
+
332: <span class="ruby-keyword kw">end</span>
|
490
|
+
</pre>
|
491
|
+
</div>
|
492
|
+
|
493
|
+
</div>
|
494
|
+
</div>
|
495
|
+
|
496
|
+
|
497
|
+
<div id="method-M000739" class="method-detail">
|
498
|
+
<a name="M000739"></a>
|
499
|
+
|
500
|
+
<div class="method-heading">
|
501
|
+
|
502
|
+
<a href="#M000739" class="method-signature">
|
503
|
+
|
504
|
+
<span class="method-name">message</span><span class="method-args">(type, id, text, property)</span>
|
505
|
+
|
506
|
+
</a>
|
507
|
+
|
508
|
+
</div>
|
509
|
+
|
510
|
+
<div class="method-description">
|
511
|
+
|
512
|
+
<p><a class="source-toggle" href="#"
|
513
|
+
onclick="toggleCode('M000739-source');return false;">[Source]</a></p>
|
514
|
+
<div class="method-source-code" id="M000739-source">
|
478
515
|
<pre>
|
479
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
480
|
-
|
481
|
-
|
482
|
-
|
516
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 356</span>
|
517
|
+
356: <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">property</span>)
|
518
|
+
357: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">empty?</span>
|
519
|
+
358: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">text</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">to_s</span>,
|
520
|
+
359: <span class="ruby-identifier">property</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">sourceFileInfo</span>)
|
521
|
+
360: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
|
522
|
+
361:
|
523
|
+
362: <span class="ruby-keyword kw">until</span> <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">empty?</span>
|
524
|
+
363: <span class="ruby-identifier">macro</span>, <span class="ruby-identifier">args</span> = <span class="ruby-ivar">@macroStack</span>.<span class="ruby-identifier">pop</span>
|
525
|
+
364: <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> }
|
526
|
+
365: <span class="ruby-identifier">message</span> = <span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'macro_stack'</span>, <span class="ruby-value str">'info'</span>,
|
527
|
+
366: <span class="ruby-node">" #{macro.name} #{args.join(' ')}"</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
|
528
|
+
367: <span class="ruby-identifier">macro</span>.<span class="ruby-identifier">sourceFileInfo</span>)
|
529
|
+
368: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
|
530
|
+
369: <span class="ruby-keyword kw">end</span>
|
531
|
+
370: <span class="ruby-keyword kw">end</span>
|
532
|
+
371:
|
533
|
+
372: <span class="ruby-comment cmt"># An empty strings signals an already reported error</span>
|
534
|
+
373: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'error'</span>
|
535
|
+
374: <span class="ruby-keyword kw">end</span>
|
483
536
|
</pre>
|
484
537
|
</div>
|
485
538
|
|
@@ -487,12 +540,12 @@ added already.
|
|
487
540
|
</div>
|
488
541
|
|
489
542
|
|
490
|
-
<div id="method-
|
491
|
-
<a name="
|
543
|
+
<div id="method-M000732" class="method-detail">
|
544
|
+
<a name="M000732"></a>
|
492
545
|
|
493
546
|
<div class="method-heading">
|
494
547
|
|
495
|
-
<a href="#
|
548
|
+
<a href="#M000732" class="method-signature">
|
496
549
|
|
497
550
|
<span class="method-name">nextToken</span><span class="method-args">()</span>
|
498
551
|
|
@@ -508,63 +561,73 @@ be an Array of the form [ TokenType, TokenValue ].
|
|
508
561
|
</p>
|
509
562
|
|
510
563
|
<p><a class="source-toggle" href="#"
|
511
|
-
onclick="toggleCode('
|
512
|
-
<div class="method-source-code" id="
|
564
|
+
onclick="toggleCode('M000732-source');return false;">[Source]</a></p>
|
565
|
+
<div class="method-source-code" id="M000732-source">
|
513
566
|
<pre>
|
514
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
567
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 248</span>
|
568
|
+
248: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nextToken</span>
|
569
|
+
249: <span class="ruby-comment cmt"># If we have a pushed-back token, return that first.</span>
|
570
|
+
250: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
|
571
|
+
251: <span class="ruby-identifier">res</span> = <span class="ruby-ivar">@tokenBuffer</span>
|
572
|
+
252: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-keyword kw">nil</span>
|
573
|
+
253: <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@tokenBufferPos</span>
|
574
|
+
254: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
|
575
|
+
255: <span class="ruby-keyword kw">end</span>
|
576
|
+
256:
|
577
|
+
257: <span class="ruby-comment cmt"># Start processing characters from the input.</span>
|
578
|
+
258: <span class="ruby-identifier">startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
|
579
|
+
259: <span class="ruby-identifier">token</span> = [ <span class="ruby-value str">'.'</span>, <span class="ruby-value str">'<END>'</span> ]
|
580
|
+
260: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">c</span> = <span class="ruby-identifier">nextChar</span>
|
581
|
+
261: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">c</span>
|
582
|
+
262: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">' '</span>, <span class="ruby-value str">"\n"</span>, <span class="ruby-value str">"\t"</span>
|
583
|
+
263: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">tok</span> = <span class="ruby-identifier">readBlanks</span>(<span class="ruby-identifier">c</span>))
|
584
|
+
264: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">tok</span>
|
585
|
+
265: <span class="ruby-keyword kw">break</span>
|
586
|
+
266: <span class="ruby-keyword kw">end</span>
|
587
|
+
267: <span class="ruby-identifier">startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
|
588
|
+
268: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'#'</span>
|
589
|
+
269: <span class="ruby-identifier">skipComment</span>
|
590
|
+
270: <span class="ruby-identifier">startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
|
591
|
+
271: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'/'</span>
|
592
|
+
272: <span class="ruby-identifier">skipCPlusPlusComments</span>
|
593
|
+
273: <span class="ruby-identifier">startOfToken</span> = <span class="ruby-constant">SourceFileInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fileName</span>, <span class="ruby-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
|
594
|
+
274: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'0'</span><span class="ruby-operator">..</span><span class="ruby-value str">'9'</span>
|
595
|
+
275: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readNumber</span>(<span class="ruby-identifier">c</span>)
|
596
|
+
276: <span class="ruby-keyword kw">break</span>
|
597
|
+
277: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"'"</span>
|
598
|
+
278: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readString</span>(<span class="ruby-identifier">c</span>)
|
599
|
+
279: <span class="ruby-keyword kw">break</span>
|
600
|
+
280: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'"'</span>
|
601
|
+
281: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readString</span>(<span class="ruby-identifier">c</span>)
|
602
|
+
282: <span class="ruby-keyword kw">break</span>
|
603
|
+
283: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'-'</span>
|
604
|
+
284: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">handleDash</span>
|
605
|
+
285: <span class="ruby-keyword kw">break</span>
|
606
|
+
286: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'!'</span>
|
607
|
+
287: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readRelativeId</span>(<span class="ruby-identifier">c</span>)
|
608
|
+
288: <span class="ruby-keyword kw">break</span>
|
609
|
+
289: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'a'</span><span class="ruby-operator">..</span><span class="ruby-value str">'z'</span>, <span class="ruby-value str">'A'</span><span class="ruby-operator">..</span><span class="ruby-value str">'Z'</span>, <span class="ruby-value str">'_'</span>
|
610
|
+
290: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readId</span>(<span class="ruby-identifier">c</span>)
|
611
|
+
291: <span class="ruby-keyword kw">break</span>
|
612
|
+
292: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'<'</span>, <span class="ruby-value str">'>'</span>, <span class="ruby-value str">'='</span>
|
613
|
+
293: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readOperator</span>(<span class="ruby-identifier">c</span>)
|
614
|
+
294: <span class="ruby-keyword kw">break</span>
|
615
|
+
295: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'['</span>
|
616
|
+
296: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">readMacro</span>
|
617
|
+
297: <span class="ruby-keyword kw">break</span>
|
618
|
+
298: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>
|
619
|
+
299: <span class="ruby-comment cmt"># We've reached an end of file or buffer</span>
|
620
|
+
300: <span class="ruby-keyword kw">break</span>
|
621
|
+
301: <span class="ruby-keyword kw">else</span>
|
622
|
+
302: <span class="ruby-identifier">str</span> = <span class="ruby-value str">""</span>
|
623
|
+
303: <span class="ruby-identifier">str</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">c</span>
|
624
|
+
304: <span class="ruby-identifier">token</span> = [ <span class="ruby-value str">'LITERAL'</span>, <span class="ruby-identifier">str</span> ]
|
625
|
+
305: <span class="ruby-keyword kw">break</span>
|
626
|
+
306: <span class="ruby-keyword kw">end</span>
|
627
|
+
307: <span class="ruby-keyword kw">end</span>
|
628
|
+
308: <span class="ruby-ivar">@pos</span> = <span class="ruby-identifier">startOfToken</span>
|
629
|
+
309: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">token</span>
|
630
|
+
310: <span class="ruby-keyword kw">end</span>
|
568
631
|
</pre>
|
569
632
|
</div>
|
570
633
|
|
@@ -572,12 +635,12 @@ be an Array of the form [ TokenType, TokenValue ].
|
|
572
635
|
</div>
|
573
636
|
|
574
637
|
|
575
|
-
<div id="method-
|
576
|
-
<a name="
|
638
|
+
<div id="method-M000727" class="method-detail">
|
639
|
+
<a name="M000727"></a>
|
577
640
|
|
578
641
|
<div class="method-heading">
|
579
642
|
|
580
|
-
<a href="#
|
643
|
+
<a href="#M000727" class="method-signature">
|
581
644
|
|
582
645
|
<span class="method-name">open</span><span class="method-args">(fileNameIsBuffer = false)</span>
|
583
646
|
|
@@ -593,23 +656,23 @@ Start the processing. if <em>fileNameIsBuffer</em> is true, we operate on a
|
|
593
656
|
</p>
|
594
657
|
|
595
658
|
<p><a class="source-toggle" href="#"
|
596
|
-
onclick="toggleCode('
|
597
|
-
<div class="method-source-code" id="
|
659
|
+
onclick="toggleCode('M000727-source');return false;">[Source]</a></p>
|
660
|
+
<div class="method-source-code" id="M000727-source">
|
598
661
|
<pre>
|
599
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
662
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 165</span>
|
663
|
+
165: <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>)
|
664
|
+
166: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fileNameIsBuffer</span>
|
665
|
+
167: <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> ] ]
|
666
|
+
168: <span class="ruby-keyword kw">else</span>
|
667
|
+
169: <span class="ruby-keyword kw">begin</span>
|
668
|
+
170: <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> ] ]
|
669
|
+
171: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span>
|
670
|
+
172: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">"Cannot open file #{@masterFile}"</span>
|
671
|
+
173: <span class="ruby-keyword kw">end</span>
|
672
|
+
174: <span class="ruby-keyword kw">end</span>
|
673
|
+
175: <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>
|
674
|
+
176: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@lastPos</span> = <span class="ruby-keyword kw">nil</span>
|
675
|
+
177: <span class="ruby-keyword kw">end</span>
|
613
676
|
</pre>
|
614
677
|
</div>
|
615
678
|
|
@@ -617,12 +680,12 @@ Start the processing. if <em>fileNameIsBuffer</em> is true, we operate on a
|
|
617
680
|
</div>
|
618
681
|
|
619
682
|
|
620
|
-
<div id="method-
|
621
|
-
<a name="
|
683
|
+
<div id="method-M000733" class="method-detail">
|
684
|
+
<a name="M000733"></a>
|
622
685
|
|
623
686
|
<div class="method-heading">
|
624
687
|
|
625
|
-
<a href="#
|
688
|
+
<a href="#M000733" class="method-signature">
|
626
689
|
|
627
690
|
<span class="method-name">returnToken</span><span class="method-args">(token)</span>
|
628
691
|
|
@@ -638,18 +701,19 @@ token can be returned before the next nextToken() call.
|
|
638
701
|
</p>
|
639
702
|
|
640
703
|
<p><a class="source-toggle" href="#"
|
641
|
-
onclick="toggleCode('
|
642
|
-
<div class="method-source-code" id="
|
704
|
+
onclick="toggleCode('M000733-source');return false;">[Source]</a></p>
|
705
|
+
<div class="method-source-code" id="M000733-source">
|
643
706
|
<pre>
|
644
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
707
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 314</span>
|
708
|
+
314: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">returnToken</span>(<span class="ruby-identifier">token</span>)
|
709
|
+
315: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@tokenBuffer</span>.<span class="ruby-identifier">nil?</span>
|
710
|
+
316: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-ivar">@tokenBuffer</span>
|
711
|
+
317: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Fatal Error: Cannot return more than 1 token in a row"</span>
|
712
|
+
318: <span class="ruby-keyword kw">end</span>
|
713
|
+
319: <span class="ruby-ivar">@tokenBuffer</span> = <span class="ruby-identifier">token</span>
|
714
|
+
320: <span class="ruby-ivar">@tokenBufferPos</span> = <span class="ruby-ivar">@pos</span>
|
715
|
+
321: <span class="ruby-ivar">@pos</span> = <span class="ruby-ivar">@lastPos</span>
|
716
|
+
322: <span class="ruby-keyword kw">end</span>
|
653
717
|
</pre>
|
654
718
|
</div>
|
655
719
|
|
@@ -657,12 +721,12 @@ token can be returned before the next nextToken() call.
|
|
657
721
|
</div>
|
658
722
|
|
659
723
|
|
660
|
-
<div id="method-
|
661
|
-
<a name="
|
724
|
+
<div id="method-M000730" class="method-detail">
|
725
|
+
<a name="M000730"></a>
|
662
726
|
|
663
727
|
<div class="method-heading">
|
664
728
|
|
665
|
-
<a href="#
|
729
|
+
<a href="#M000730" class="method-signature">
|
666
730
|
|
667
731
|
<span class="method-name">sourceFileInfo</span><span class="method-args">()</span>
|
668
732
|
|
@@ -678,13 +742,43 @@ processing prosition.
|
|
678
742
|
</p>
|
679
743
|
|
680
744
|
<p><a class="source-toggle" href="#"
|
681
|
-
onclick="toggleCode('
|
682
|
-
<div class="method-source-code" id="
|
745
|
+
onclick="toggleCode('M000730-source');return false;">[Source]</a></p>
|
746
|
+
<div class="method-source-code" id="M000730-source">
|
747
|
+
<pre>
|
748
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 224</span>
|
749
|
+
224: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sourceFileInfo</span>
|
750
|
+
225: <span class="ruby-ivar">@pos</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@pos</span>.<span class="ruby-identifier">clone</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-identifier">lineNo</span>, <span class="ruby-identifier">columnNo</span>)
|
751
|
+
226: <span class="ruby-keyword kw">end</span>
|
752
|
+
</pre>
|
753
|
+
</div>
|
754
|
+
|
755
|
+
</div>
|
756
|
+
</div>
|
757
|
+
|
758
|
+
|
759
|
+
<div id="method-M000738" class="method-detail">
|
760
|
+
<a name="M000738"></a>
|
761
|
+
|
762
|
+
<div class="method-heading">
|
763
|
+
|
764
|
+
<a href="#M000738" class="method-signature">
|
765
|
+
|
766
|
+
<span class="method-name">warning</span><span class="method-args">(id, text, property = nil)</span>
|
767
|
+
|
768
|
+
</a>
|
769
|
+
|
770
|
+
</div>
|
771
|
+
|
772
|
+
<div class="method-description">
|
773
|
+
|
774
|
+
<p><a class="source-toggle" href="#"
|
775
|
+
onclick="toggleCode('M000738-source');return false;">[Source]</a></p>
|
776
|
+
<div class="method-source-code" id="M000738-source">
|
683
777
|
<pre>
|
684
|
-
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line
|
685
|
-
|
686
|
-
|
687
|
-
|
778
|
+
<span class="ruby-comment cmt"># File lib/TextScanner.rb, line 352</span>
|
779
|
+
352: <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">property</span> = <span class="ruby-keyword kw">nil</span>)
|
780
|
+
353: <span class="ruby-identifier">message</span>(<span class="ruby-value str">'warning'</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span>)
|
781
|
+
354: <span class="ruby-keyword kw">end</span>
|
688
782
|
</pre>
|
689
783
|
</div>
|
690
784
|
|