taskjuggler 0.0.2 → 0.0.3
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/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
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
<td>
|
|
54
54
|
|
|
55
55
|
|
|
56
|
-
<a href="../../files/lib/
|
|
56
|
+
<a href="../../files/lib/TextParser/StackElement_rb.html">
|
|
57
57
|
|
|
58
|
-
lib/TextParser.rb
|
|
58
|
+
lib/TextParser/StackElement.rb
|
|
59
59
|
|
|
60
60
|
</a>
|
|
61
61
|
|
|
@@ -63,9 +63,9 @@
|
|
|
63
63
|
<br />
|
|
64
64
|
|
|
65
65
|
|
|
66
|
-
<a href="../../files/lib/TextParser/
|
|
66
|
+
<a href="../../files/lib/TextParser/TokenDoc_rb.html">
|
|
67
67
|
|
|
68
|
-
lib/TextParser/
|
|
68
|
+
lib/TextParser/TokenDoc.rb
|
|
69
69
|
|
|
70
70
|
</a>
|
|
71
71
|
|
|
@@ -83,9 +83,9 @@
|
|
|
83
83
|
<br />
|
|
84
84
|
|
|
85
85
|
|
|
86
|
-
<a href="../../files/lib/TextParser/
|
|
86
|
+
<a href="../../files/lib/TextParser/Pattern_rb.html">
|
|
87
87
|
|
|
88
|
-
lib/TextParser/
|
|
88
|
+
lib/TextParser/Pattern.rb
|
|
89
89
|
|
|
90
90
|
</a>
|
|
91
91
|
|
|
@@ -93,9 +93,9 @@
|
|
|
93
93
|
<br />
|
|
94
94
|
|
|
95
95
|
|
|
96
|
-
<a href="../../files/lib/
|
|
96
|
+
<a href="../../files/lib/TextParser_rb.html">
|
|
97
97
|
|
|
98
|
-
lib/TextParser
|
|
98
|
+
lib/TextParser.rb
|
|
99
99
|
|
|
100
100
|
</a>
|
|
101
101
|
|
|
@@ -110,8 +110,12 @@
|
|
|
110
110
|
<td><strong>Parent:</strong></td>
|
|
111
111
|
<td>
|
|
112
112
|
|
|
113
|
+
<a href="../Object.html">
|
|
114
|
+
|
|
113
115
|
Object
|
|
114
116
|
|
|
117
|
+
</a>
|
|
118
|
+
|
|
115
119
|
</td>
|
|
116
120
|
</tr>
|
|
117
121
|
|
|
@@ -125,16 +129,36 @@
|
|
|
125
129
|
|
|
126
130
|
<div id="description">
|
|
127
131
|
<p>
|
|
128
|
-
|
|
132
|
+
The <a href="TextParser.html">TextParser</a> implements a regular LALR
|
|
133
|
+
parser. But it uses a recursive rule traversor instead of the more commonly
|
|
134
|
+
found state machine generated by yacc-like tools. Since stack depths is not
|
|
135
|
+
really an issue with a Ruby implementation this approach has one big
|
|
136
|
+
advantage. The syntax of the parser can be modified during parsing. This
|
|
137
|
+
allows support for languages that can extend themself. The <a
|
|
138
|
+
href="../TaskJuggler.html">TaskJuggler</a> syntax is such an beast.
|
|
139
|
+
Traditional yacc generated parsers would fail with such a syntax.
|
|
129
140
|
</p>
|
|
130
|
-
<h1>TextParser/StackElement.rb — The <a href="../TaskJuggler.html">TaskJuggler</a> III <a href="Project.html">Project</a> Management Software</h1>
|
|
131
141
|
<p>
|
|
132
|
-
|
|
142
|
+
This class is just a base class. A complete parser would derive from this
|
|
143
|
+
class and implement the rule set and the functions _nextToken()_ and
|
|
144
|
+
_returnToken()_. It also needs to set the array <em>variables</em> to
|
|
145
|
+
declare all variables ($SOMENAME) that the scanner may deliver.
|
|
133
146
|
</p>
|
|
134
147
|
<p>
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
148
|
+
To describe the syntax the functions <a
|
|
149
|
+
href="TextParser.html#M000241">TextParser#pattern</a>, <a
|
|
150
|
+
href="TextParser.html#M000242">TextParser#optional</a> and <a
|
|
151
|
+
href="TextParser.html#M000243">TextParser#repeatable</a> can be used. When
|
|
152
|
+
the rule set is changed during parsing, <a
|
|
153
|
+
href="TextParser.html#M000244">TextParser#updateParserTables</a> must be
|
|
154
|
+
called to make the changes effective. The parser can also document the
|
|
155
|
+
syntax automatically. To document a pattern, the functions TextParser#doc,
|
|
156
|
+
TextParser#descr, TextParser#also and TextParser#arg can be used.
|
|
157
|
+
</p>
|
|
158
|
+
<p>
|
|
159
|
+
To start parsing the input the function <a
|
|
160
|
+
href="TextParser.html#M000245">TextParser#parse</a> needs to be called with
|
|
161
|
+
the name of the start rule.
|
|
138
162
|
</p>
|
|
139
163
|
|
|
140
164
|
</div>
|
|
@@ -147,27 +171,29 @@ by the Free Software Foundation.
|
|
|
147
171
|
|
|
148
172
|
<div class="name-list">
|
|
149
173
|
|
|
150
|
-
<a href="#
|
|
174
|
+
<a href="#M000248">error</a>
|
|
175
|
+
|
|
176
|
+
<a href="#M000239">initRules</a>
|
|
151
177
|
|
|
152
|
-
<a href="#
|
|
178
|
+
<a href="#M000247">matchingRules</a>
|
|
153
179
|
|
|
154
|
-
<a href="#
|
|
180
|
+
<a href="#M000238">new</a>
|
|
155
181
|
|
|
156
|
-
<a href="#
|
|
182
|
+
<a href="#M000240">newRule</a>
|
|
157
183
|
|
|
158
|
-
<a href="#
|
|
184
|
+
<a href="#M000242">optional</a>
|
|
159
185
|
|
|
160
|
-
<a href="#
|
|
186
|
+
<a href="#M000245">parse</a>
|
|
161
187
|
|
|
162
|
-
<a href="#
|
|
188
|
+
<a href="#M000241">pattern</a>
|
|
163
189
|
|
|
164
|
-
<a href="#
|
|
190
|
+
<a href="#M000243">repeatable</a>
|
|
165
191
|
|
|
166
|
-
<a href="#
|
|
192
|
+
<a href="#M000246">sourceFileInfo</a>
|
|
167
193
|
|
|
168
|
-
<a href="#
|
|
194
|
+
<a href="#M000244">updateParserTables</a>
|
|
169
195
|
|
|
170
|
-
<a href="#
|
|
196
|
+
<a href="#M000249">warning</a>
|
|
171
197
|
|
|
172
198
|
</div>
|
|
173
199
|
</div>
|
|
@@ -217,12 +243,12 @@ Class <a href="TextParser/TokenDoc.html" class="link">TaskJuggler::TextParser::T
|
|
|
217
243
|
<h3 class="section-bar">Public Class methods</h3>
|
|
218
244
|
|
|
219
245
|
|
|
220
|
-
<div id="method-
|
|
221
|
-
<a name="
|
|
246
|
+
<div id="method-M000238" class="method-detail">
|
|
247
|
+
<a name="M000238"></a>
|
|
222
248
|
|
|
223
249
|
<div class="method-heading">
|
|
224
250
|
|
|
225
|
-
<a href="#
|
|
251
|
+
<a href="#M000238" class="method-signature">
|
|
226
252
|
|
|
227
253
|
<span class="method-name">new</span><span class="method-args">()</span>
|
|
228
254
|
|
|
@@ -237,8 +263,8 @@ Create a new <a href="TextParser.html">TextParser</a> object.
|
|
|
237
263
|
</p>
|
|
238
264
|
|
|
239
265
|
<p><a class="source-toggle" href="#"
|
|
240
|
-
onclick="toggleCode('
|
|
241
|
-
<div class="method-source-code" id="
|
|
266
|
+
onclick="toggleCode('M000238-source');return false;">[Source]</a></p>
|
|
267
|
+
<div class="method-source-code" id="M000238-source">
|
|
242
268
|
<pre>
|
|
243
269
|
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 70</span>
|
|
244
270
|
70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
|
@@ -260,12 +286,12 @@ Create a new <a href="TextParser.html">TextParser</a> object.
|
|
|
260
286
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
261
287
|
|
|
262
288
|
|
|
263
|
-
<div id="method-
|
|
264
|
-
<a name="
|
|
289
|
+
<div id="method-M000248" class="method-detail">
|
|
290
|
+
<a name="M000248"></a>
|
|
265
291
|
|
|
266
292
|
<div class="method-heading">
|
|
267
293
|
|
|
268
|
-
<a href="#
|
|
294
|
+
<a href="#M000248" class="method-signature">
|
|
269
295
|
|
|
270
296
|
<span class="method-name">error</span><span class="method-args">(id, text, property = nil)</span>
|
|
271
297
|
|
|
@@ -276,13 +302,13 @@ Create a new <a href="TextParser.html">TextParser</a> object.
|
|
|
276
302
|
<div class="method-description">
|
|
277
303
|
|
|
278
304
|
<p><a class="source-toggle" href="#"
|
|
279
|
-
onclick="toggleCode('
|
|
280
|
-
<div class="method-source-code" id="
|
|
305
|
+
onclick="toggleCode('M000248-source');return false;">[Source]</a></p>
|
|
306
|
+
<div class="method-source-code" id="M000248-source">
|
|
281
307
|
<pre>
|
|
282
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
308
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 181</span>
|
|
309
|
+
181: <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>)
|
|
310
|
+
182: <span class="ruby-ivar">@scanner</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>)
|
|
311
|
+
183: <span class="ruby-keyword kw">end</span>
|
|
286
312
|
</pre>
|
|
287
313
|
</div>
|
|
288
314
|
|
|
@@ -290,12 +316,12 @@ Create a new <a href="TextParser.html">TextParser</a> object.
|
|
|
290
316
|
</div>
|
|
291
317
|
|
|
292
318
|
|
|
293
|
-
<div id="method-
|
|
294
|
-
<a name="
|
|
319
|
+
<div id="method-M000239" class="method-detail">
|
|
320
|
+
<a name="M000239"></a>
|
|
295
321
|
|
|
296
322
|
<div class="method-heading">
|
|
297
323
|
|
|
298
|
-
<a href="#
|
|
324
|
+
<a href="#M000239" class="method-signature">
|
|
299
325
|
|
|
300
326
|
<span class="method-name">initRules</span><span class="method-args">()</span>
|
|
301
327
|
|
|
@@ -311,8 +337,8 @@ rules.
|
|
|
311
337
|
</p>
|
|
312
338
|
|
|
313
339
|
<p><a class="source-toggle" href="#"
|
|
314
|
-
onclick="toggleCode('
|
|
315
|
-
<div class="method-source-code" id="
|
|
340
|
+
onclick="toggleCode('M000239-source');return false;">[Source]</a></p>
|
|
341
|
+
<div class="method-source-code" id="M000239-source">
|
|
316
342
|
<pre>
|
|
317
343
|
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 81</span>
|
|
318
344
|
81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initRules</span>
|
|
@@ -332,12 +358,12 @@ rules.
|
|
|
332
358
|
</div>
|
|
333
359
|
|
|
334
360
|
|
|
335
|
-
<div id="method-
|
|
336
|
-
<a name="
|
|
361
|
+
<div id="method-M000247" class="method-detail">
|
|
362
|
+
<a name="M000247"></a>
|
|
337
363
|
|
|
338
364
|
<div class="method-heading">
|
|
339
365
|
|
|
340
|
-
<a href="#
|
|
366
|
+
<a href="#M000247" class="method-signature">
|
|
341
367
|
|
|
342
368
|
<span class="method-name">matchingRules</span><span class="method-args">(keyword)</span>
|
|
343
369
|
|
|
@@ -348,18 +374,18 @@ rules.
|
|
|
348
374
|
<div class="method-description">
|
|
349
375
|
|
|
350
376
|
<p><a class="source-toggle" href="#"
|
|
351
|
-
onclick="toggleCode('
|
|
352
|
-
<div class="method-source-code" id="
|
|
377
|
+
onclick="toggleCode('M000247-source');return false;">[Source]</a></p>
|
|
378
|
+
<div class="method-source-code" id="M000247-source">
|
|
353
379
|
<pre>
|
|
354
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
380
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 172</span>
|
|
381
|
+
172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">matchingRules</span>(<span class="ruby-identifier">keyword</span>)
|
|
382
|
+
173: <span class="ruby-identifier">matches</span> = []
|
|
383
|
+
174: <span class="ruby-ivar">@rules</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">rule</span><span class="ruby-operator">|</span>
|
|
384
|
+
175: <span class="ruby-identifier">patIdx</span> = <span class="ruby-identifier">rule</span>.<span class="ruby-identifier">matchingPatternIndex</span>(<span class="ruby-value str">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">keyword</span>)
|
|
385
|
+
176: <span class="ruby-identifier">matches</span> <span class="ruby-operator"><<</span> [ <span class="ruby-identifier">rule</span>, <span class="ruby-identifier">patIdx</span> ] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">patIdx</span>
|
|
386
|
+
177: <span class="ruby-keyword kw">end</span>
|
|
387
|
+
178: <span class="ruby-identifier">matches</span>
|
|
388
|
+
179: <span class="ruby-keyword kw">end</span>
|
|
363
389
|
</pre>
|
|
364
390
|
</div>
|
|
365
391
|
|
|
@@ -367,14 +393,14 @@ rules.
|
|
|
367
393
|
</div>
|
|
368
394
|
|
|
369
395
|
|
|
370
|
-
<div id="method-
|
|
371
|
-
<a name="
|
|
396
|
+
<div id="method-M000240" class="method-detail">
|
|
397
|
+
<a name="M000240"></a>
|
|
372
398
|
|
|
373
399
|
<div class="method-heading">
|
|
374
400
|
|
|
375
|
-
<a href="#
|
|
401
|
+
<a href="#M000240" class="method-signature">
|
|
376
402
|
|
|
377
|
-
<span class="method-name">newRule</span><span class="method-args">(name)</span>
|
|
403
|
+
<span class="method-name">newRule</span><span class="method-args">(name) {|| ...}</span>
|
|
378
404
|
|
|
379
405
|
</a>
|
|
380
406
|
|
|
@@ -385,22 +411,29 @@ rules.
|
|
|
385
411
|
<p>
|
|
386
412
|
Add a new rule to the rule set. <em>name</em> must be a unique identifier.
|
|
387
413
|
The function also sets the class variable @cr to the new rule. Subsequent
|
|
388
|
-
calls to <a href="TextParser.html#
|
|
389
|
-
href="TextParser.html#
|
|
390
|
-
href="TextParser.html#
|
|
414
|
+
calls to <a href="TextParser.html#M000241">TextParser#pattern</a>, <a
|
|
415
|
+
href="TextParser.html#M000242">TextParser#optional</a> or <a
|
|
416
|
+
href="TextParser.html#M000243">TextParser#repeatable</a> will then
|
|
391
417
|
implicitely operate on the most recently added rule.
|
|
392
418
|
</p>
|
|
393
419
|
|
|
394
420
|
<p><a class="source-toggle" href="#"
|
|
395
|
-
onclick="toggleCode('
|
|
396
|
-
<div class="method-source-code" id="
|
|
421
|
+
onclick="toggleCode('M000240-source');return false;">[Source]</a></p>
|
|
422
|
+
<div class="method-source-code" id="M000240-source">
|
|
397
423
|
<pre>
|
|
398
424
|
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 97</span>
|
|
399
425
|
97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRule</span>(<span class="ruby-identifier">name</span>)
|
|
400
426
|
98: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Fatal Error: Rule #{name} already exists"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rules</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">name</span>)
|
|
401
427
|
99:
|
|
402
|
-
100: <span class="ruby-
|
|
403
|
-
101:
|
|
428
|
+
100: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
|
429
|
+
101: <span class="ruby-identifier">saveCr</span> = <span class="ruby-ivar">@cr</span>
|
|
430
|
+
102: <span class="ruby-ivar">@rules</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-ivar">@cr</span> = <span class="ruby-constant">TextParser</span><span class="ruby-operator">::</span><span class="ruby-constant">Rule</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>)
|
|
431
|
+
103: <span class="ruby-keyword kw">yield</span>
|
|
432
|
+
104: <span class="ruby-ivar">@cr</span> = <span class="ruby-identifier">saveCr</span>
|
|
433
|
+
105: <span class="ruby-keyword kw">else</span>
|
|
434
|
+
106: <span class="ruby-ivar">@rules</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-ivar">@cr</span> = <span class="ruby-constant">TextParser</span><span class="ruby-operator">::</span><span class="ruby-constant">Rule</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>)
|
|
435
|
+
107: <span class="ruby-keyword kw">end</span>
|
|
436
|
+
108: <span class="ruby-keyword kw">end</span>
|
|
404
437
|
</pre>
|
|
405
438
|
</div>
|
|
406
439
|
|
|
@@ -408,12 +441,12 @@ implicitely operate on the most recently added rule.
|
|
|
408
441
|
</div>
|
|
409
442
|
|
|
410
443
|
|
|
411
|
-
<div id="method-
|
|
412
|
-
<a name="
|
|
444
|
+
<div id="method-M000242" class="method-detail">
|
|
445
|
+
<a name="M000242"></a>
|
|
413
446
|
|
|
414
447
|
<div class="method-heading">
|
|
415
448
|
|
|
416
|
-
<a href="#
|
|
449
|
+
<a href="#M000242" class="method-signature">
|
|
417
450
|
|
|
418
451
|
<span class="method-name">optional</span><span class="method-args">()</span>
|
|
419
452
|
|
|
@@ -429,13 +462,13 @@ elements.
|
|
|
429
462
|
</p>
|
|
430
463
|
|
|
431
464
|
<p><a class="source-toggle" href="#"
|
|
432
|
-
onclick="toggleCode('
|
|
433
|
-
<div class="method-source-code" id="
|
|
465
|
+
onclick="toggleCode('M000242-source');return false;">[Source]</a></p>
|
|
466
|
+
<div class="method-source-code" id="M000242-source">
|
|
434
467
|
<pre>
|
|
435
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
468
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 127</span>
|
|
469
|
+
127: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">optional</span>
|
|
470
|
+
128: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setOptional</span>
|
|
471
|
+
129: <span class="ruby-keyword kw">end</span>
|
|
439
472
|
</pre>
|
|
440
473
|
</div>
|
|
441
474
|
|
|
@@ -443,14 +476,14 @@ elements.
|
|
|
443
476
|
</div>
|
|
444
477
|
|
|
445
478
|
|
|
446
|
-
<div id="method-
|
|
447
|
-
<a name="
|
|
479
|
+
<div id="method-M000245" class="method-detail">
|
|
480
|
+
<a name="M000245"></a>
|
|
448
481
|
|
|
449
482
|
<div class="method-heading">
|
|
450
483
|
|
|
451
|
-
<a href="#
|
|
484
|
+
<a href="#M000245" class="method-signature">
|
|
452
485
|
|
|
453
|
-
<span class="method-name">parse</span><span class="method-args">(ruleName
|
|
486
|
+
<span class="method-name">parse</span><span class="method-args">(ruleName)</span>
|
|
454
487
|
|
|
455
488
|
</a>
|
|
456
489
|
|
|
@@ -465,23 +498,23 @@ top-level parser rule that was specified by <em>ruleName</em>.
|
|
|
465
498
|
</p>
|
|
466
499
|
|
|
467
500
|
<p><a class="source-toggle" href="#"
|
|
468
|
-
onclick="toggleCode('
|
|
469
|
-
<div class="method-source-code" id="
|
|
501
|
+
onclick="toggleCode('M000245-source');return false;">[Source]</a></p>
|
|
502
|
+
<div class="method-source-code" id="M000245-source">
|
|
470
503
|
<pre>
|
|
471
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
504
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 150</span>
|
|
505
|
+
150: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">ruleName</span>)
|
|
506
|
+
151: <span class="ruby-ivar">@stack</span> = []
|
|
507
|
+
152: <span class="ruby-ivar">@@expectedTokens</span> = []
|
|
508
|
+
153: <span class="ruby-identifier">updateParserTables</span>
|
|
509
|
+
154: <span class="ruby-keyword kw">begin</span>
|
|
510
|
+
155: <span class="ruby-identifier">result</span> = <span class="ruby-identifier">parseRule</span>(<span class="ruby-ivar">@rules</span>[<span class="ruby-identifier">ruleName</span>])
|
|
511
|
+
156: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
|
|
512
|
+
157: <span class="ruby-comment cmt"># error('parse_error', $!.message)</span>
|
|
513
|
+
158: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
|
514
|
+
159: <span class="ruby-keyword kw">end</span>
|
|
515
|
+
160:
|
|
516
|
+
161: <span class="ruby-identifier">result</span>
|
|
517
|
+
162: <span class="ruby-keyword kw">end</span>
|
|
485
518
|
</pre>
|
|
486
519
|
</div>
|
|
487
520
|
|
|
@@ -489,12 +522,12 @@ top-level parser rule that was specified by <em>ruleName</em>.
|
|
|
489
522
|
</div>
|
|
490
523
|
|
|
491
524
|
|
|
492
|
-
<div id="method-
|
|
493
|
-
<a name="
|
|
525
|
+
<div id="method-M000241" class="method-detail">
|
|
526
|
+
<a name="M000241"></a>
|
|
494
527
|
|
|
495
528
|
<div class="method-heading">
|
|
496
529
|
|
|
497
|
-
<a href="#
|
|
530
|
+
<a href="#M000241" class="method-signature">
|
|
498
531
|
|
|
499
532
|
<span class="method-name">pattern</span><span class="method-args">(tokens, func = nil)</span>
|
|
500
533
|
|
|
@@ -527,13 +560,13 @@ completed the processing of this rule.
|
|
|
527
560
|
</p>
|
|
528
561
|
|
|
529
562
|
<p><a class="source-toggle" href="#"
|
|
530
|
-
onclick="toggleCode('
|
|
531
|
-
<div class="method-source-code" id="
|
|
563
|
+
onclick="toggleCode('M000241-source');return false;">[Source]</a></p>
|
|
564
|
+
<div class="method-source-code" id="M000241-source">
|
|
532
565
|
<pre>
|
|
533
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
566
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 121</span>
|
|
567
|
+
121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pattern</span>(<span class="ruby-identifier">tokens</span>, <span class="ruby-identifier">func</span> = <span class="ruby-keyword kw">nil</span>)
|
|
568
|
+
122: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">addPattern</span>(<span class="ruby-constant">TextParser</span><span class="ruby-operator">::</span><span class="ruby-constant">Pattern</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">tokens</span>, <span class="ruby-identifier">func</span>))
|
|
569
|
+
123: <span class="ruby-keyword kw">end</span>
|
|
537
570
|
</pre>
|
|
538
571
|
</div>
|
|
539
572
|
|
|
@@ -541,12 +574,12 @@ completed the processing of this rule.
|
|
|
541
574
|
</div>
|
|
542
575
|
|
|
543
576
|
|
|
544
|
-
<div id="method-
|
|
545
|
-
<a name="
|
|
577
|
+
<div id="method-M000243" class="method-detail">
|
|
578
|
+
<a name="M000243"></a>
|
|
546
579
|
|
|
547
580
|
<div class="method-heading">
|
|
548
581
|
|
|
549
|
-
<a href="#
|
|
582
|
+
<a href="#M000243" class="method-signature">
|
|
550
583
|
|
|
551
584
|
<span class="method-name">repeatable</span><span class="method-args">()</span>
|
|
552
585
|
|
|
@@ -562,13 +595,13 @@ elements.
|
|
|
562
595
|
</p>
|
|
563
596
|
|
|
564
597
|
<p><a class="source-toggle" href="#"
|
|
565
|
-
onclick="toggleCode('
|
|
566
|
-
<div class="method-source-code" id="
|
|
598
|
+
onclick="toggleCode('M000243-source');return false;">[Source]</a></p>
|
|
599
|
+
<div class="method-source-code" id="M000243-source">
|
|
567
600
|
<pre>
|
|
568
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
601
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 133</span>
|
|
602
|
+
133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">repeatable</span>
|
|
603
|
+
134: <span class="ruby-ivar">@cr</span>.<span class="ruby-identifier">setRepeatable</span>
|
|
604
|
+
135: <span class="ruby-keyword kw">end</span>
|
|
572
605
|
</pre>
|
|
573
606
|
</div>
|
|
574
607
|
|
|
@@ -576,12 +609,12 @@ elements.
|
|
|
576
609
|
</div>
|
|
577
610
|
|
|
578
611
|
|
|
579
|
-
<div id="method-
|
|
580
|
-
<a name="
|
|
612
|
+
<div id="method-M000246" class="method-detail">
|
|
613
|
+
<a name="M000246"></a>
|
|
581
614
|
|
|
582
615
|
<div class="method-heading">
|
|
583
616
|
|
|
584
|
-
<a href="#
|
|
617
|
+
<a href="#M000246" class="method-signature">
|
|
585
618
|
|
|
586
619
|
<span class="method-name">sourceFileInfo</span><span class="method-args">()</span>
|
|
587
620
|
|
|
@@ -599,14 +632,14 @@ nil if we don’t have a current position.
|
|
|
599
632
|
</p>
|
|
600
633
|
|
|
601
634
|
<p><a class="source-toggle" href="#"
|
|
602
|
-
onclick="toggleCode('
|
|
603
|
-
<div class="method-source-code" id="
|
|
635
|
+
onclick="toggleCode('M000246-source');return false;">[Source]</a></p>
|
|
636
|
+
<div class="method-source-code" id="M000246-source">
|
|
604
637
|
<pre>
|
|
605
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
638
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 167</span>
|
|
639
|
+
167: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sourceFileInfo</span>
|
|
640
|
+
168: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stack</span>.<span class="ruby-identifier">empty?</span>
|
|
641
|
+
169: <span class="ruby-ivar">@stack</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">sourceFileInfo</span>
|
|
642
|
+
170: <span class="ruby-keyword kw">end</span>
|
|
610
643
|
</pre>
|
|
611
644
|
</div>
|
|
612
645
|
|
|
@@ -614,12 +647,12 @@ nil if we don’t have a current position.
|
|
|
614
647
|
</div>
|
|
615
648
|
|
|
616
649
|
|
|
617
|
-
<div id="method-
|
|
618
|
-
<a name="
|
|
650
|
+
<div id="method-M000244" class="method-detail">
|
|
651
|
+
<a name="M000244"></a>
|
|
619
652
|
|
|
620
653
|
<div class="method-heading">
|
|
621
654
|
|
|
622
|
-
<a href="#
|
|
655
|
+
<a href="#M000244" class="method-signature">
|
|
623
656
|
|
|
624
657
|
<span class="method-name">updateParserTables</span><span class="method-args">()</span>
|
|
625
658
|
|
|
@@ -632,21 +665,51 @@ nil if we don’t have a current position.
|
|
|
632
665
|
<p>
|
|
633
666
|
This function needs to be called whenever new rules or patterns have been
|
|
634
667
|
added and before the next call to <a
|
|
635
|
-
href="TextParser.html#
|
|
668
|
+
href="TextParser.html#M000245">TextParser#parse</a>.
|
|
636
669
|
</p>
|
|
637
670
|
|
|
638
671
|
<p><a class="source-toggle" href="#"
|
|
639
|
-
onclick="toggleCode('
|
|
640
|
-
<div class="method-source-code" id="
|
|
672
|
+
onclick="toggleCode('M000244-source');return false;">[Source]</a></p>
|
|
673
|
+
<div class="method-source-code" id="M000244-source">
|
|
674
|
+
<pre>
|
|
675
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 139</span>
|
|
676
|
+
139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">updateParserTables</span>
|
|
677
|
+
140: <span class="ruby-ivar">@rules</span>.<span class="ruby-identifier">each_value</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">rule</span><span class="ruby-operator">|</span> <span class="ruby-identifier">rule</span>.<span class="ruby-identifier">transitions</span> = {} }
|
|
678
|
+
141: <span class="ruby-ivar">@rules</span>.<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rule</span><span class="ruby-operator">|</span>
|
|
679
|
+
142: <span class="ruby-identifier">getTransitions</span>(<span class="ruby-identifier">rule</span>)
|
|
680
|
+
143: <span class="ruby-identifier">checkRule</span>(<span class="ruby-identifier">rule</span>)
|
|
681
|
+
144: <span class="ruby-keyword kw">end</span>
|
|
682
|
+
145: <span class="ruby-keyword kw">end</span>
|
|
683
|
+
</pre>
|
|
684
|
+
</div>
|
|
685
|
+
|
|
686
|
+
</div>
|
|
687
|
+
</div>
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
<div id="method-M000249" class="method-detail">
|
|
691
|
+
<a name="M000249"></a>
|
|
692
|
+
|
|
693
|
+
<div class="method-heading">
|
|
694
|
+
|
|
695
|
+
<a href="#M000249" class="method-signature">
|
|
696
|
+
|
|
697
|
+
<span class="method-name">warning</span><span class="method-args">(id, text, property = nil)</span>
|
|
698
|
+
|
|
699
|
+
</a>
|
|
700
|
+
|
|
701
|
+
</div>
|
|
702
|
+
|
|
703
|
+
<div class="method-description">
|
|
704
|
+
|
|
705
|
+
<p><a class="source-toggle" href="#"
|
|
706
|
+
onclick="toggleCode('M000249-source');return false;">[Source]</a></p>
|
|
707
|
+
<div class="method-source-code" id="M000249-source">
|
|
641
708
|
<pre>
|
|
642
|
-
<span class="ruby-comment cmt"># File lib/TextParser.rb, line
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
135: <span class="ruby-identifier">getTransitions</span>(<span class="ruby-identifier">rule</span>)
|
|
647
|
-
136: <span class="ruby-identifier">checkRule</span>(<span class="ruby-identifier">rule</span>)
|
|
648
|
-
137: <span class="ruby-keyword kw">end</span>
|
|
649
|
-
138: <span class="ruby-keyword kw">end</span>
|
|
709
|
+
<span class="ruby-comment cmt"># File lib/TextParser.rb, line 185</span>
|
|
710
|
+
185: <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>)
|
|
711
|
+
186: <span class="ruby-ivar">@scanner</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>)
|
|
712
|
+
187: <span class="ruby-keyword kw">end</span>
|
|
650
713
|
</pre>
|
|
651
714
|
</div>
|
|
652
715
|
|