taskjuggler 0.0.4 → 0.0.5
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/README +1 -1
- data/bin/tj3client +3 -0
- data/bin/tj3d +3 -0
- data/bin/tj3ts_receiver +3 -0
- data/bin/tj3ts_sender +3 -0
- data/bin/tj3ts_summary +3 -0
- data/data/css/tjmanual.css +14 -0
- data/data/css/tjreport.css +233 -21
- data/data/scripts/wz_tooltip.js +20 -20
- data/doc/AppConfig.html +1389 -0
- data/doc/Arguments.html +678 -0
- data/doc/COPYING.html +837 -0
- data/doc/Object.html +996 -0
- data/doc/README.html +523 -0
- data/doc/RuntimeConfig.html +762 -0
- data/doc/String.html +872 -0
- data/doc/TaskJuggler/Account.html +691 -0
- data/doc/TaskJuggler/AccountAttribute.html +707 -0
- data/doc/TaskJuggler/AccountScenario.html +650 -0
- data/doc/TaskJuggler/Allocation.html +898 -0
- data/doc/TaskJuggler/AllocationAttribute.html +737 -0
- data/doc/TaskJuggler/AttributeBase.html +1193 -0
- data/doc/TaskJuggler/AttributeDefinition.html +753 -0
- data/doc/TaskJuggler/BatchProcessor.html +1112 -0
- data/doc/TaskJuggler/Booking.html +797 -0
- data/doc/TaskJuggler/BookingListAttribute.html +709 -0
- data/doc/TaskJuggler/BooleanAttribute.html +707 -0
- data/doc/TaskJuggler/CSVFile.html +924 -0
- data/doc/TaskJuggler/CellSettingPattern.html +638 -0
- data/doc/TaskJuggler/CellSettingPatternList.html +687 -0
- data/doc/TaskJuggler/Charge.html +715 -0
- data/doc/TaskJuggler/ChargeListAttribute.html +671 -0
- data/doc/TaskJuggler/ChargeSet.html +887 -0
- data/doc/TaskJuggler/ChargeSetListAttribute.html +718 -0
- data/doc/TaskJuggler/ColumnListAttribute.html +673 -0
- data/doc/TaskJuggler/ColumnTable.html +701 -0
- data/doc/TaskJuggler/Daemon.html +728 -0
- data/doc/TaskJuggler/DateAttribute.html +675 -0
- data/doc/TaskJuggler/DefinitionListAttribute.html +593 -0
- data/doc/TaskJuggler/DependencyListAttribute.html +713 -0
- data/doc/TaskJuggler/DurationAttribute.html +707 -0
- data/doc/TaskJuggler/FixnumAttribute.html +629 -0
- data/doc/TaskJuggler/FlagListAttribute.html +709 -0
- data/doc/TaskJuggler/FloatAttribute.html +671 -0
- data/doc/TaskJuggler/FormatListAttribute.html +635 -0
- data/doc/TaskJuggler/GanttChart.html +1473 -0
- data/doc/TaskJuggler/GanttContainer.html +885 -0
- data/doc/TaskJuggler/GanttHeader.html +886 -0
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +700 -0
- data/doc/TaskJuggler/GanttLine.html +1263 -0
- data/doc/TaskJuggler/GanttLoadStack.html +766 -0
- data/doc/TaskJuggler/GanttMilestone.html +865 -0
- data/doc/TaskJuggler/GanttRouter.html +1433 -0
- data/doc/TaskJuggler/GanttTaskBar.html +880 -0
- data/doc/TaskJuggler/HTMLDocument.html +719 -0
- data/doc/TaskJuggler/HTMLGraphics.html +775 -0
- data/doc/TaskJuggler/Interval.html +1016 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +713 -0
- data/doc/TaskJuggler/JobInfo.html +881 -0
- data/doc/TaskJuggler/Journal.html +991 -0
- data/doc/TaskJuggler/JournalEntry.html +779 -0
- data/doc/TaskJuggler/JournalEntryList.html +952 -0
- data/doc/TaskJuggler/KeywordArray.html +628 -0
- data/doc/TaskJuggler/KeywordDocumentation.html +1662 -0
- data/doc/TaskJuggler/Limits/Limit.html +826 -0
- data/doc/TaskJuggler/Limits.html +966 -0
- data/doc/TaskJuggler/LimitsAttribute.html +707 -0
- data/doc/TaskJuggler/ListAttributeBase.html +641 -0
- data/doc/TaskJuggler/Log.html +1103 -0
- data/doc/TaskJuggler/LogFile.html +918 -0
- data/doc/TaskJuggler/LogicalAttribute.html +698 -0
- data/doc/TaskJuggler/LogicalExpression.html +739 -0
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +629 -0
- data/doc/TaskJuggler/LogicalFlag.html +681 -0
- data/doc/TaskJuggler/LogicalFunction.html +1218 -0
- data/doc/TaskJuggler/LogicalOperation.html +1078 -0
- data/doc/TaskJuggler/Macro.html +646 -0
- data/doc/TaskJuggler/MacroParser.html +810 -0
- data/doc/TaskJuggler/MacroTable.html +810 -0
- data/doc/TaskJuggler/ManagerResponsibilities.html +674 -0
- data/doc/TaskJuggler/ManagerStatusRecord.html +678 -0
- data/doc/TaskJuggler/Message.html +757 -0
- data/doc/TaskJuggler/MessageHandler.html +679 -0
- data/doc/TaskJuggler/Navigator.html +867 -0
- data/doc/TaskJuggler/NavigatorElement.html +932 -0
- data/doc/TaskJuggler/NikuProject.html +662 -0
- data/doc/TaskJuggler/NikuReport.html +1316 -0
- data/doc/TaskJuggler/NikuResource.html +632 -0
- data/doc/TaskJuggler/OnShiftCache.html +864 -0
- data/doc/TaskJuggler/ProcessIntercom.html +847 -0
- data/doc/TaskJuggler/ProcessIntercomIface.html +664 -0
- data/doc/TaskJuggler/Project.html +3056 -0
- data/doc/TaskJuggler/ProjectBroker.html +1260 -0
- data/doc/TaskJuggler/ProjectBrokerIface.html +734 -0
- data/doc/TaskJuggler/ProjectFileParser.html +1951 -0
- data/doc/TaskJuggler/ProjectRecord.html +859 -0
- data/doc/TaskJuggler/ProjectServer.html +1092 -0
- data/doc/TaskJuggler/ProjectServerIface.html +768 -0
- data/doc/TaskJuggler/PropertyAttribute.html +629 -0
- data/doc/TaskJuggler/PropertyList.html +1336 -0
- data/doc/TaskJuggler/PropertySet.html +1785 -0
- data/doc/TaskJuggler/PropertyTreeNode.html +2482 -0
- data/doc/TaskJuggler/Query.html +1831 -0
- data/doc/TaskJuggler/RTFNavigator.html +729 -0
- data/doc/TaskJuggler/RTFQuery.html +1038 -0
- data/doc/TaskJuggler/RTFReport.html +740 -0
- data/doc/TaskJuggler/RealFormat.html +743 -0
- data/doc/TaskJuggler/RealFormatAttribute.html +593 -0
- data/doc/TaskJuggler/ReferenceAttribute.html +782 -0
- data/doc/TaskJuggler/Report.html +1255 -0
- data/doc/TaskJuggler/ReportBase.html +1198 -0
- data/doc/TaskJuggler/ReportContext.html +711 -0
- data/doc/TaskJuggler/ReportServer.html +988 -0
- data/doc/TaskJuggler/ReportServerIface.html +838 -0
- data/doc/TaskJuggler/ReportServerRecord.html +716 -0
- data/doc/TaskJuggler/ReportTable.html +1106 -0
- data/doc/TaskJuggler/ReportTableCell.html +1536 -0
- data/doc/TaskJuggler/ReportTableColumn.html +828 -0
- data/doc/TaskJuggler/ReportTableLegend.html +999 -0
- data/doc/TaskJuggler/ReportTableLine.html +1003 -0
- data/doc/TaskJuggler/Resource.html +938 -0
- data/doc/TaskJuggler/ResourceListAttribute.html +752 -0
- data/doc/TaskJuggler/ResourceListRE.html +674 -0
- data/doc/TaskJuggler/ResourceScenario.html +2457 -0
- data/doc/TaskJuggler/RichText.html +791 -0
- data/doc/TaskJuggler/RichTextAttribute.html +743 -0
- data/doc/TaskJuggler/RichTextDocument.html +972 -0
- data/doc/TaskJuggler/RichTextElement.html +1615 -0
- data/doc/TaskJuggler/RichTextException.html +667 -0
- data/doc/TaskJuggler/RichTextFunctionExample.html +737 -0
- data/doc/TaskJuggler/RichTextFunctionHandler.html +689 -0
- data/doc/TaskJuggler/RichTextImage.html +650 -0
- data/doc/TaskJuggler/RichTextIntermediate.html +1161 -0
- data/doc/TaskJuggler/RichTextParser.html +756 -0
- data/doc/TaskJuggler/RichTextScanner.html +2010 -0
- data/doc/TaskJuggler/RichTextSnip.html +942 -0
- data/doc/TaskJuggler/RichTextSyntaxRules.html +1722 -0
- data/doc/TaskJuggler/Scenario.html +594 -0
- data/doc/TaskJuggler/ScenarioData.html +815 -0
- data/doc/TaskJuggler/ScenarioListAttribute.html +671 -0
- data/doc/TaskJuggler/Scoreboard.html +1114 -0
- data/doc/TaskJuggler/SheetHandlerBase.html +1115 -0
- data/doc/TaskJuggler/SheetReceiver.html +1293 -0
- data/doc/TaskJuggler/SheetSender.html +1089 -0
- data/doc/TaskJuggler/Shift.html +689 -0
- data/doc/TaskJuggler/ShiftAssignment.html +950 -0
- data/doc/TaskJuggler/ShiftAssignments.html +1379 -0
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +707 -0
- data/doc/TaskJuggler/ShiftScenario.html +720 -0
- data/doc/TaskJuggler/SortListAttribute.html +631 -0
- data/doc/TaskJuggler/SourceFileInfo.html +698 -0
- data/doc/TaskJuggler/StatusSheetReceiver.html +615 -0
- data/doc/TaskJuggler/StatusSheetReport.html +872 -0
- data/doc/TaskJuggler/StatusSheetSender.html +654 -0
- data/doc/TaskJuggler/StringAttribute.html +671 -0
- data/doc/TaskJuggler/SymbolAttribute.html +629 -0
- data/doc/TaskJuggler/SyntaxReference.html +1155 -0
- data/doc/TaskJuggler/TOCEntry.html +723 -0
- data/doc/TaskJuggler/TSResourceRecord.html +670 -0
- data/doc/TaskJuggler/TSTaskRecord.html +682 -0
- data/doc/TaskJuggler/TableColumnDefinition.html +830 -0
- data/doc/TaskJuggler/TableOfContents.html +692 -0
- data/doc/TaskJuggler/TableReport.html +2444 -0
- data/doc/TaskJuggler/Task.html +781 -0
- data/doc/TaskJuggler/TaskDependency.html +730 -0
- data/doc/TaskJuggler/TaskListAttribute.html +713 -0
- data/doc/TaskJuggler/TaskListRE.html +673 -0
- data/doc/TaskJuggler/TaskScenario.html +4380 -0
- data/doc/TaskJuggler/TextFormatter.html +911 -0
- data/doc/TaskJuggler/TextParser/Pattern.html +1482 -0
- data/doc/TaskJuggler/TextParser/Rule.html +1288 -0
- data/doc/TaskJuggler/TextParser/StackElement.html +726 -0
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +648 -0
- data/doc/TaskJuggler/TextParser/TokenDoc.html +680 -0
- data/doc/TaskJuggler/TextParser.html +1670 -0
- data/doc/TaskJuggler/TextReport.html +856 -0
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +831 -0
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +832 -0
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +737 -0
- data/doc/TaskJuggler/TextScanner.html +2430 -0
- data/doc/TaskJuggler/TimeSheet.html +1233 -0
- data/doc/TaskJuggler/TimeSheetReceiver.html +612 -0
- data/doc/TaskJuggler/TimeSheetRecord.html +1352 -0
- data/doc/TaskJuggler/TimeSheetReport.html +948 -0
- data/doc/TaskJuggler/TimeSheetSender.html +637 -0
- data/doc/TaskJuggler/TimeSheetSummary.html +865 -0
- data/doc/TaskJuggler/TimeSheets.html +674 -0
- data/doc/TaskJuggler/Tj3AppBase.html +782 -0
- data/doc/TaskJuggler/Tj3Client.html +1455 -0
- data/doc/TaskJuggler/Tj3Daemon.html +767 -0
- data/doc/TaskJuggler/Tj3SheetAppBase.html +696 -0
- data/doc/TaskJuggler/Tj3SsReceiver.html +682 -0
- data/doc/TaskJuggler/Tj3SsSender.html +708 -0
- data/doc/TaskJuggler/Tj3TsReceiver.html +681 -0
- data/doc/TaskJuggler/Tj3TsSender.html +702 -0
- data/doc/TaskJuggler/Tj3TsSummary.html +710 -0
- data/doc/TaskJuggler/TjException.html +630 -0
- data/doc/TaskJuggler/TjTime.html +2590 -0
- data/doc/TaskJuggler/TjpExample.html +835 -0
- data/doc/TaskJuggler/TjpExportRE.html +1581 -0
- data/doc/TaskJuggler/TjpSyntaxRules.html +13004 -0
- data/doc/TaskJuggler/UserManual.html +1145 -0
- data/doc/TaskJuggler/WorkingHours.html +1101 -0
- data/doc/TaskJuggler/WorkingHoursAttribute.html +694 -0
- data/doc/TaskJuggler/XMLBlob.html +645 -0
- data/doc/TaskJuggler/XMLComment.html +640 -0
- data/doc/TaskJuggler/XMLDocument.html +732 -0
- data/doc/TaskJuggler/XMLElement.html +900 -0
- data/doc/TaskJuggler/XMLNamedText.html +601 -0
- data/doc/TaskJuggler/XMLText.html +655 -0
- data/doc/TaskJuggler.html +2243 -0
- data/doc/index.html +3778 -17
- data/doc/lib/AccountScenario_rb.html +67 -0
- data/doc/lib/Account_rb.html +69 -0
- data/doc/lib/Allocation_rb.html +69 -0
- data/doc/lib/AppConfig_rb.html +69 -0
- data/doc/lib/AttributeBase_rb.html +67 -0
- data/doc/lib/AttributeDefinition_rb.html +65 -0
- data/doc/lib/Attributes_rb.html +81 -0
- data/doc/lib/BatchProcessor_rb.html +69 -0
- data/doc/lib/Booking_rb.html +65 -0
- data/doc/lib/ChargeSet_rb.html +67 -0
- data/doc/lib/Charge_rb.html +67 -0
- data/doc/lib/HTMLDocument_rb.html +67 -0
- data/doc/lib/Interval_rb.html +67 -0
- data/doc/lib/Journal_rb.html +65 -0
- data/doc/lib/KeywordArray_rb.html +65 -0
- data/doc/lib/KeywordDocumentation_rb.html +75 -0
- data/doc/lib/Limits_rb.html +67 -0
- data/doc/lib/LogFile_rb.html +67 -0
- data/doc/lib/Log_rb.html +69 -0
- data/doc/lib/LogicalExpression_rb.html +71 -0
- data/doc/lib/LogicalFunction_rb.html +67 -0
- data/doc/lib/LogicalOperation_rb.html +67 -0
- data/doc/lib/MacroParser_rb.html +69 -0
- data/doc/lib/MacroTable_rb.html +73 -0
- data/doc/lib/MessageHandler_rb.html +65 -0
- data/doc/lib/Message_rb.html +67 -0
- data/doc/lib/ProjectFileParser_rb.html +79 -0
- data/doc/lib/Project_rb.html +109 -0
- data/doc/lib/PropertyList_rb.html +65 -0
- data/doc/lib/PropertySet_rb.html +69 -0
- data/doc/lib/PropertyTreeNode_rb.html +65 -0
- data/doc/lib/Query_rb.html +67 -0
- data/doc/lib/RTFNavigator_rb.html +71 -0
- data/doc/lib/RTFQuery_rb.html +71 -0
- data/doc/lib/RTFReport_rb.html +69 -0
- data/doc/lib/RealFormat_rb.html +65 -0
- data/doc/lib/ResourceScenario_rb.html +67 -0
- data/doc/lib/Resource_rb.html +69 -0
- data/doc/lib/RichTextDocument_rb.html +71 -0
- data/doc/lib/RichTextElement_rb.html +73 -0
- data/doc/lib/RichTextFunctionExample_rb.html +71 -0
- data/doc/lib/RichTextFunctionHandler_rb.html +65 -0
- data/doc/lib/RichTextParser_rb.html +71 -0
- data/doc/lib/RichTextScanner_rb.html +67 -0
- data/doc/lib/RichTextSnip_rb.html +69 -0
- data/doc/lib/RichTextSyntaxRules_rb.html +65 -0
- data/doc/lib/RichText_rb.html +69 -0
- data/doc/lib/RuntimeConfig_rb.html +67 -0
- data/doc/lib/ScenarioData_rb.html +69 -0
- data/doc/lib/Scenario_rb.html +67 -0
- data/doc/lib/Scoreboard_rb.html +65 -0
- data/doc/lib/SheetHandlerBase_rb.html +69 -0
- data/doc/lib/SheetReceiver_rb.html +75 -0
- data/doc/lib/SheetSender_rb.html +73 -0
- data/doc/lib/ShiftAssignments_rb.html +67 -0
- data/doc/lib/ShiftScenario_rb.html +67 -0
- data/doc/lib/Shift_rb.html +69 -0
- data/doc/lib/SourceFileInfo_rb.html +65 -0
- data/doc/lib/StatusSheetReceiver_rb.html +67 -0
- data/doc/lib/StatusSheetSender_rb.html +67 -0
- data/doc/lib/SyntaxReference_rb.html +73 -0
- data/doc/lib/TOCEntry_rb.html +69 -0
- data/doc/lib/TableColumnDefinition_rb.html +65 -0
- data/doc/lib/TableOfContents_rb.html +69 -0
- data/doc/lib/TaskDependency_rb.html +65 -0
- data/doc/lib/TaskJuggler_rb.html +73 -0
- data/doc/lib/TaskScenario_rb.html +67 -0
- data/doc/lib/Task_rb.html +69 -0
- data/doc/lib/TextFormatter_rb.html +67 -0
- data/doc/lib/TextParser/Pattern_rb.html +67 -0
- data/doc/lib/TextParser/Rule_rb.html +65 -0
- data/doc/lib/TextParser/StackElement_rb.html +65 -0
- data/doc/lib/TextParser/TokenDoc_rb.html +65 -0
- data/doc/lib/TextParser_rb.html +75 -0
- data/doc/lib/TextScanner_rb.html +79 -0
- data/doc/lib/TimeSheetReceiver_rb.html +67 -0
- data/doc/lib/TimeSheetSender_rb.html +67 -0
- data/doc/lib/TimeSheetSummary_rb.html +67 -0
- data/doc/lib/TimeSheets_rb.html +65 -0
- data/doc/lib/Tj3AppBase_rb.html +77 -0
- data/doc/lib/Tj3Config_rb.html +69 -0
- data/doc/lib/Tj3SheetAppBase_rb.html +67 -0
- data/doc/lib/TjException_rb.html +65 -0
- data/doc/lib/TjTime_rb.html +69 -0
- data/doc/lib/TjpExample_rb.html +67 -0
- data/doc/lib/TjpSyntaxRules_rb.html +65 -0
- data/doc/lib/UTF8String_rb.html +65 -0
- data/doc/lib/UserManual_rb.html +77 -0
- data/doc/lib/WorkingHours_rb.html +67 -0
- data/doc/lib/XMLDocument_rb.html +67 -0
- data/doc/lib/XMLElement_rb.html +67 -0
- data/doc/lib/daemon/Daemon_rb.html +67 -0
- data/doc/lib/daemon/ProcessIntercom_rb.html +67 -0
- data/doc/lib/daemon/ProjectBroker_rb.html +79 -0
- data/doc/lib/daemon/ProjectServer_rb.html +83 -0
- data/doc/lib/daemon/ReportServer_rb.html +73 -0
- data/doc/lib/deep_copy_rb.html +65 -0
- data/doc/lib/reports/CSVFile_rb.html +67 -0
- data/doc/lib/reports/ColumnTable_rb.html +67 -0
- data/doc/lib/reports/GanttChart_rb.html +73 -0
- data/doc/lib/reports/GanttContainer_rb.html +67 -0
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +65 -0
- data/doc/lib/reports/GanttHeader_rb.html +67 -0
- data/doc/lib/reports/GanttLine_rb.html +77 -0
- data/doc/lib/reports/GanttLoadStack_rb.html +67 -0
- data/doc/lib/reports/GanttMilestone_rb.html +67 -0
- data/doc/lib/reports/GanttRouter_rb.html +65 -0
- data/doc/lib/reports/GanttTaskBar_rb.html +67 -0
- data/doc/lib/reports/HTMLGraphics_rb.html +65 -0
- data/doc/lib/reports/Navigator_rb.html +67 -0
- data/doc/lib/reports/NikuReport_rb.html +69 -0
- data/doc/lib/reports/ReportBase_rb.html +65 -0
- data/doc/lib/reports/ReportContext_rb.html +65 -0
- data/doc/lib/reports/ReportTableCell_rb.html +65 -0
- data/doc/lib/reports/ReportTableColumn_rb.html +65 -0
- data/doc/lib/reports/ReportTableLegend_rb.html +65 -0
- data/doc/lib/reports/ReportTableLine_rb.html +67 -0
- data/doc/lib/reports/ReportTable_rb.html +69 -0
- data/doc/lib/reports/Report_rb.html +91 -0
- data/doc/lib/reports/ResourceListRE_rb.html +73 -0
- data/doc/lib/reports/StatusSheetReport_rb.html +67 -0
- data/doc/lib/reports/TableReport_rb.html +75 -0
- data/doc/lib/reports/TaskListRE_rb.html +73 -0
- data/doc/lib/reports/TextReport_rb.html +67 -0
- data/doc/lib/reports/TimeSheetReport_rb.html +67 -0
- data/doc/lib/reports/TjpExportRE_rb.html +67 -0
- data/doc/lib/ruby-signal-bug_rb.html +54 -0
- data/doc/lib/taskjuggler3_rb.html +73 -0
- data/doc/lib/tj3client_rb.html +73 -0
- data/doc/lib/tj3d_rb.html +73 -0
- data/doc/lib/tj3man_rb.html +73 -0
- data/doc/lib/tj3ss_receiver_rb.html +69 -0
- data/doc/lib/tj3ss_sender_rb.html +69 -0
- data/doc/lib/tj3ts_receiver_rb.html +69 -0
- data/doc/lib/tj3ts_sender_rb.html +69 -0
- data/doc/lib/tj3ts_summary_rb.html +69 -0
- data/doc/rdoc.css +701 -0
- data/examples/tutorial.tjp +25 -6
- data/lib/Attributes.rb +6 -2
- data/lib/HTMLDocument.rb +18 -2
- data/lib/Journal.rb +47 -4
- data/lib/KeywordArray.rb +1 -1
- data/lib/KeywordDocumentation.rb +17 -77
- data/lib/Log.rb +3 -1
- data/lib/LogFile.rb +72 -0
- data/lib/LogicalExpression.rb +5 -10
- data/lib/LogicalFunction.rb +34 -18
- data/lib/LogicalOperation.rb +32 -18
- data/lib/Project.rb +85 -13
- data/lib/ProjectFileParser.rb +19 -6
- data/lib/PropertyList.rb +12 -2
- data/lib/PropertyTreeNode.rb +23 -9
- data/lib/Query.rb +51 -13
- data/lib/RTFReport.rb +2 -2
- data/lib/Resource.rb +157 -0
- data/lib/ResourceScenario.rb +215 -68
- data/lib/RichText.rb +15 -3
- data/lib/RichTextDocument.rb +2 -4
- data/lib/RichTextElement.rb +87 -25
- data/lib/RichTextScanner.rb +32 -5
- data/lib/RichTextSnip.rb +6 -4
- data/lib/RichTextSyntaxRules.rb +44 -8
- data/lib/RuntimeConfig.rb +93 -0
- data/lib/Scoreboard.rb +6 -6
- data/lib/SheetHandlerBase.rb +215 -0
- data/lib/SheetReceiver.rb +355 -0
- data/lib/SheetSender.rb +264 -0
- data/lib/ShiftAssignments.rb +35 -27
- data/lib/StatusSheetReceiver.rb +45 -0
- data/lib/StatusSheetSender.rb +54 -0
- data/lib/SyntaxReference.rb +2 -7
- data/lib/Task.rb +70 -0
- data/lib/TaskJuggler.rb +114 -12
- data/lib/TaskScenario.rb +131 -22
- data/lib/TextFormatter.rb +177 -0
- data/lib/TextParser.rb +10 -1
- data/lib/TextScanner.rb +63 -33
- data/lib/TimeSheetReceiver.rb +42 -0
- data/lib/TimeSheetSender.rb +55 -0
- data/lib/TimeSheetSummary.rb +149 -0
- data/lib/TimeSheets.rb +406 -0
- data/lib/Tj3AppBase.rb +114 -0
- data/lib/Tj3Config.rb +1 -1
- data/lib/Tj3SheetAppBase.rb +59 -0
- data/lib/TjTime.rb +14 -1
- data/lib/TjpSyntaxRules.rb +573 -211
- data/lib/UTF8String.rb +4 -0
- data/lib/UserManual.rb +8 -7
- data/lib/XMLElement.rb +27 -19
- data/lib/daemon/Daemon.rb +70 -0
- data/lib/daemon/ProcessIntercom.rb +117 -0
- data/lib/daemon/ProjectBroker.rb +450 -0
- data/lib/daemon/ProjectServer.rb +348 -0
- data/lib/daemon/ReportServer.rb +194 -0
- data/lib/reports/ColumnTable.rb +2 -0
- data/lib/reports/GanttChart.rb +5 -7
- data/lib/reports/GanttContainer.rb +5 -8
- data/lib/reports/GanttHeader.rb +1 -1
- data/lib/reports/GanttLine.rb +89 -53
- data/lib/reports/GanttMilestone.rb +7 -4
- data/lib/reports/GanttTaskBar.rb +7 -3
- data/lib/reports/HTMLGraphics.rb +24 -9
- data/lib/reports/NikuReport.rb +414 -0
- data/lib/reports/Report.rb +54 -20
- data/lib/reports/ReportBase.rb +21 -0
- data/lib/reports/ReportTable.rb +29 -11
- data/lib/reports/ReportTableCell.rb +154 -86
- data/lib/reports/ReportTableLegend.rb +77 -80
- data/lib/reports/ResourceListRE.rb +2 -3
- data/lib/reports/StatusSheetReport.rb +231 -0
- data/lib/reports/TableReport.rb +74 -65
- data/lib/reports/TaskListRE.rb +2 -4
- data/lib/reports/TextReport.rb +18 -12
- data/lib/reports/TimeSheetReport.rb +145 -80
- data/lib/reports/TjpExportRE.rb +4 -4
- data/lib/ruby-signal-bug.rb +43 -0
- data/lib/taskjuggler3.rb +27 -10
- data/lib/tj3client.rb +411 -77
- data/lib/tj3d.rb +110 -0
- data/lib/tj3ss_receiver.rb +56 -0
- data/lib/tj3ss_sender.rb +84 -0
- data/lib/tj3ts_receiver.rb +59 -0
- data/lib/tj3ts_sender.rb +78 -0
- data/lib/tj3ts_summary.rb +87 -0
- data/manual/Day_To_Day_Juggling +761 -32
- data/manual/Getting_Started +12 -12
- data/manual/Rich_Text_Attributes +13 -1
- data/manual/TaskJuggler_2x_Migration +41 -3
- data/manual/TaskJuggler_Internals +87 -0
- data/manual/The_TaskJuggler_Syntax +1 -2
- data/manual/Tutorial +10 -10
- data/test/TestSuite/CSV-Reports/celltext.tjp +1 -1
- data/test/TestSuite/HTML-Reports/TimeSheet.html +79 -0
- data/test/TestSuite/HTML-Reports/icons/trend-down.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/trend-flat.png +0 -0
- data/test/TestSuite/HTML-Reports/icons/trend-up.png +0 -0
- data/test/TestSuite/HTML-Reports/reference.html +51 -0
- data/test/TestSuite/Scheduler/Correct/Booking2.html +603 -0
- data/test/TestSuite/Scheduler/Correct/Booking2.tjp +57 -0
- data/test/TestSuite/Scheduler/Correct/Duration.tjp +32 -18
- data/test/TestSuite/Scheduler/Correct/Manager.tjp +9 -0
- data/test/TestSuite/Scheduler/Correct/Shift.html +429 -0
- data/test/TestSuite/Scheduler/Correct/Shift2.html +162 -0
- data/test/TestSuite/Scheduler/Correct/Shift2.tjp +67 -0
- data/test/TestSuite/{Syntax/Correct/TimeSheet.tjp → Scheduler/Correct/TimeSheet2.tjp} +21 -8
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +52 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +195 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/resource.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/task.png +0 -0
- data/test/TestSuite/{Syntax → Scheduler}/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/{HTML-Reports/scripts → Scheduler/Correct}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/Scheduler/Errors/manager_is_group.tjp +15 -0
- data/test/TestSuite/Scheduler/Errors/manager_is_self.tjp +11 -0
- data/test/TestSuite/Scheduler/Errors/resource_fail_check.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/resource_warn_check.tjp +12 -0
- data/test/TestSuite/Scheduler/Errors/task_fail_check.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/task_warn_check.tjp +8 -0
- data/test/TestSuite/Scheduler/Errors/ts_alert1_more_details.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/ts_alert2_more_details.tjp +21 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_expected_end.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_headline1.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_rem_or_end.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_remaining.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_status_work.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/ts_no_work.tjp +26 -0
- data/test/TestSuite/Scheduler/Errors/ts_res_new_task.tjp +20 -0
- data/test/TestSuite/Scheduler/Errors/ts_work_too_high.tjp +27 -0
- data/test/TestSuite/Scheduler/Errors/ts_work_too_low.tjp +27 -0
- data/test/TestSuite/StatusSheets/boss.tji +45 -0
- data/test/TestSuite/StatusSheets/boss_mail +51 -0
- data/test/TestSuite/StatusSheets/dev2_mail +37 -0
- data/test/TestSuite/StatusSheets/project.tjp +275 -0
- data/test/TestSuite/StatusSheets/run +50 -0
- data/test/TestSuite/Syntax/Correct/Include.tjp +4 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +10 -1
- data/test/TestSuite/Syntax/Correct/Manager.tjp +30 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +66 -0
- data/test/TestSuite/Syntax/Correct/TimeSheet1.tjp +83 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +1 -0
- data/test/TestSuite/Syntax/Correct/include/dir2/file3.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/file1.tji +3 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +29 -8
- data/test/TestSuite/Syntax/Errors/ts_bad_priority.tjp +19 -0
- data/test/TestSuite/Syntax/Errors/ts_default_details.tjp +22 -0
- data/test/TestSuite/Syntax/Errors/ts_default_summary.tjp +22 -0
- data/test/TestSuite/Syntax/Errors/ts_duplicate_task.tjp +23 -0
- data/test/TestSuite/Syntax/Errors/ts_end_too_early.tjp +18 -0
- data/test/TestSuite/Syntax/Errors/ts_headline_too_long.tjp +19 -0
- data/test/TestSuite/Syntax/Errors/ts_no_headline2.tjp +27 -0
- data/test/TestSuite/Syntax/Errors/ts_summary_too_long.tjp +29 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +36 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +48 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +67 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +67 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +48 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +31 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +36 -0
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +1 -0
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +54 -0
- data/test/TestSuite/TimeSheets/TimeSheets/all.tji +2 -0
- data/test/TestSuite/TimeSheets/dev2_mail1 +84 -0
- data/test/TestSuite/TimeSheets/dev2_mail2 +87 -0
- data/test/TestSuite/TimeSheets/project.tjp +271 -0
- data/test/TestSuite/TimeSheets/receiver.log +102 -0
- data/test/TestSuite/TimeSheets/run +75 -0
- data/test/TestSuite/TimeSheets/sender.log +794 -0
- data/test/TestSuite/TimeSheets/summary.log +884 -0
- data/test/TestSuite/TimeSheets/timesheets.log +45 -0
- data/test/TestSuite/TimeSheets/tj3d.log +292 -0
- data/test/test_CSV-Reports.rb +5 -3
- data/test/test_RichText.rb +264 -56
- data/test/test_Scheduler.rb +1 -0
- data/test/test_TextFormatter.rb +142 -0
- data/test/test_TjTime.rb +15 -0
- metadata +816 -644
- data/benchmarks/UTF-8-Strings.rb +0 -58
- data/doc/classes/AppConfig.html +0 -880
- data/doc/classes/Arguments.html +0 -230
- data/doc/classes/Object.html +0 -229
- data/doc/classes/String.html +0 -399
- data/doc/classes/TaskJuggler/Account.html +0 -257
- data/doc/classes/TaskJuggler/AccountAttribute.html +0 -261
- data/doc/classes/TaskJuggler/AccountScenario.html +0 -218
- data/doc/classes/TaskJuggler/Allocation.html +0 -423
- data/doc/classes/TaskJuggler/AllocationAttribute.html +0 -291
- data/doc/classes/TaskJuggler/AttributeBase.html +0 -704
- data/doc/classes/TaskJuggler/AttributeDefinition.html +0 -276
- data/doc/classes/TaskJuggler/BatchProcessor.html +0 -347
- data/doc/classes/TaskJuggler/Booking.html +0 -311
- data/doc/classes/TaskJuggler/BookingListAttribute.html +0 -263
- data/doc/classes/TaskJuggler/BooleanAttribute.html +0 -261
- data/doc/classes/TaskJuggler/CSVFile.html +0 -329
- data/doc/classes/TaskJuggler/CellSettingPattern.html +0 -201
- data/doc/classes/TaskJuggler/CellSettingPatternList.html +0 -253
- data/doc/classes/TaskJuggler/Charge.html +0 -283
- data/doc/classes/TaskJuggler/ChargeListAttribute.html +0 -229
- data/doc/classes/TaskJuggler/ChargeSet.html +0 -444
- data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +0 -276
- data/doc/classes/TaskJuggler/ColumnListAttribute.html +0 -231
- data/doc/classes/TaskJuggler/ColumnTable.html +0 -262
- data/doc/classes/TaskJuggler/DateAttribute.html +0 -233
- data/doc/classes/TaskJuggler/DefinitionListAttribute.html +0 -162
- data/doc/classes/TaskJuggler/DependencyListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/DurationAttribute.html +0 -229
- data/doc/classes/TaskJuggler/FixnumAttribute.html +0 -194
- data/doc/classes/TaskJuggler/FlagListAttribute.html +0 -263
- data/doc/classes/TaskJuggler/FloatAttribute.html +0 -229
- data/doc/classes/TaskJuggler/FormatListAttribute.html +0 -197
- data/doc/classes/TaskJuggler/GanttChart.html +0 -696
- data/doc/classes/TaskJuggler/GanttContainer.html +0 -445
- data/doc/classes/TaskJuggler/GanttHeader.html +0 -284
- data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +0 -249
- data/doc/classes/TaskJuggler/GanttLine.html +0 -402
- data/doc/classes/TaskJuggler/GanttLoadStack.html +0 -331
- data/doc/classes/TaskJuggler/GanttMilestone.html +0 -419
- data/doc/classes/TaskJuggler/GanttRouter.html +0 -431
- data/doc/classes/TaskJuggler/GanttTaskBar.html +0 -433
- data/doc/classes/TaskJuggler/HTMLDocument.html +0 -240
- data/doc/classes/TaskJuggler/HTMLGraphics.html +0 -231
- data/doc/classes/TaskJuggler/Interval.html +0 -558
- data/doc/classes/TaskJuggler/IntervalListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/JobInfo.html +0 -340
- data/doc/classes/TaskJuggler/Journal.html +0 -443
- data/doc/classes/TaskJuggler/JournalEntry.html +0 -274
- data/doc/classes/TaskJuggler/JournalEntryList.html +0 -454
- data/doc/classes/TaskJuggler/KeywordArray.html +0 -179
- data/doc/classes/TaskJuggler/KeywordDocumentation.html +0 -846
- data/doc/classes/TaskJuggler/Limits/Limit.html +0 -385
- data/doc/classes/TaskJuggler/Limits.html +0 -422
- data/doc/classes/TaskJuggler/LimitsAttribute.html +0 -261
- data/doc/classes/TaskJuggler/ListAttributeBase.html +0 -207
- data/doc/classes/TaskJuggler/Log.html +0 -655
- data/doc/classes/TaskJuggler/LogicalAttribute.html +0 -259
- data/doc/classes/TaskJuggler/LogicalExpression.html +0 -292
- data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +0 -194
- data/doc/classes/TaskJuggler/LogicalFlag.html +0 -209
- data/doc/classes/TaskJuggler/LogicalFunction.html +0 -339
- data/doc/classes/TaskJuggler/LogicalOperation.html +0 -351
- data/doc/classes/TaskJuggler/Macro.html +0 -198
- data/doc/classes/TaskJuggler/MacroParser.html +0 -360
- data/doc/classes/TaskJuggler/MacroTable.html +0 -370
- data/doc/classes/TaskJuggler/Message.html +0 -285
- data/doc/classes/TaskJuggler/MessageHandler.html +0 -231
- data/doc/classes/TaskJuggler/Navigator.html +0 -313
- data/doc/classes/TaskJuggler/NavigatorElement.html +0 -449
- data/doc/classes/TaskJuggler/OnShiftCache.html +0 -316
- data/doc/classes/TaskJuggler/Project.html +0 -2257
- data/doc/classes/TaskJuggler/ProjectFileParser.html +0 -420
- data/doc/classes/TaskJuggler/PropertyAttribute.html +0 -194
- data/doc/classes/TaskJuggler/PropertyList.html +0 -668
- data/doc/classes/TaskJuggler/PropertySet.html +0 -1286
- data/doc/classes/TaskJuggler/PropertyTreeNode.html +0 -1742
- data/doc/classes/TaskJuggler/Query.html +0 -870
- data/doc/classes/TaskJuggler/RTFNavigator.html +0 -293
- data/doc/classes/TaskJuggler/RTFQuery.html +0 -343
- data/doc/classes/TaskJuggler/RTFReport.html +0 -304
- data/doc/classes/TaskJuggler/RealFormat.html +0 -309
- data/doc/classes/TaskJuggler/RealFormatAttribute.html +0 -162
- data/doc/classes/TaskJuggler/ReferenceAttribute.html +0 -328
- data/doc/classes/TaskJuggler/RemoteServiceManager.html +0 -335
- data/doc/classes/TaskJuggler/Report.html +0 -321
- data/doc/classes/TaskJuggler/ReportBase.html +0 -437
- data/doc/classes/TaskJuggler/ReportContext.html +0 -248
- data/doc/classes/TaskJuggler/ReportServer.html +0 -320
- data/doc/classes/TaskJuggler/ReportTable.html +0 -526
- data/doc/classes/TaskJuggler/ReportTableCell.html +0 -614
- data/doc/classes/TaskJuggler/ReportTableColumn.html +0 -368
- data/doc/classes/TaskJuggler/ReportTableLegend.html +0 -347
- data/doc/classes/TaskJuggler/ReportTableLine.html +0 -481
- data/doc/classes/TaskJuggler/Resource.html +0 -211
- data/doc/classes/TaskJuggler/ResourceListAttribute.html +0 -302
- data/doc/classes/TaskJuggler/ResourceListRE.html +0 -245
- data/doc/classes/TaskJuggler/ResourceScenario.html +0 -1229
- data/doc/classes/TaskJuggler/RichText.html +0 -357
- data/doc/classes/TaskJuggler/RichTextAttribute.html +0 -293
- data/doc/classes/TaskJuggler/RichTextDocument.html +0 -424
- data/doc/classes/TaskJuggler/RichTextElement.html +0 -932
- data/doc/classes/TaskJuggler/RichTextException.html +0 -212
- data/doc/classes/TaskJuggler/RichTextFunctionExample.html +0 -301
- data/doc/classes/TaskJuggler/RichTextFunctionHandler.html +0 -245
- data/doc/classes/TaskJuggler/RichTextIntermediate.html +0 -563
- data/doc/classes/TaskJuggler/RichTextParser.html +0 -321
- data/doc/classes/TaskJuggler/RichTextScanner.html +0 -424
- data/doc/classes/TaskJuggler/RichTextSnip.html +0 -404
- data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +0 -1105
- data/doc/classes/TaskJuggler/Scenario.html +0 -163
- data/doc/classes/TaskJuggler/ScenarioData.html +0 -358
- data/doc/classes/TaskJuggler/ScenarioListAttribute.html +0 -229
- data/doc/classes/TaskJuggler/Scoreboard.html +0 -642
- data/doc/classes/TaskJuggler/Shift.html +0 -255
- data/doc/classes/TaskJuggler/ShiftAssignment.html +0 -492
- data/doc/classes/TaskJuggler/ShiftAssignments.html +0 -719
- data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +0 -261
- data/doc/classes/TaskJuggler/ShiftScenario.html +0 -282
- data/doc/classes/TaskJuggler/SortListAttribute.html +0 -196
- data/doc/classes/TaskJuggler/SourceFileInfo.html +0 -251
- data/doc/classes/TaskJuggler/StringAttribute.html +0 -229
- data/doc/classes/TaskJuggler/SymbolAttribute.html +0 -194
- data/doc/classes/TaskJuggler/SyntaxReference.html +0 -520
- data/doc/classes/TaskJuggler/TOCEntry.html +0 -246
- data/doc/classes/TaskJuggler/TSResourceRecord.html +0 -197
- data/doc/classes/TaskJuggler/TSTaskRecord.html +0 -215
- data/doc/classes/TaskJuggler/TableColumnDefinition.html +0 -309
- data/doc/classes/TaskJuggler/TableOfContents.html +0 -260
- data/doc/classes/TaskJuggler/TableReport.html +0 -1015
- data/doc/classes/TaskJuggler/Task.html +0 -203
- data/doc/classes/TaskJuggler/TaskDependency.html +0 -255
- data/doc/classes/TaskJuggler/TaskListAttribute.html +0 -267
- data/doc/classes/TaskJuggler/TaskListRE.html +0 -245
- data/doc/classes/TaskJuggler/TaskScenario.html +0 -2543
- data/doc/classes/TaskJuggler/TextParser/Pattern.html +0 -927
- data/doc/classes/TaskJuggler/TextParser/Rule.html +0 -783
- data/doc/classes/TaskJuggler/TextParser/StackElement.html +0 -272
- data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +0 -212
- data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +0 -225
- data/doc/classes/TaskJuggler/TextParser.html +0 -754
- data/doc/classes/TaskJuggler/TextReport.html +0 -367
- data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +0 -355
- data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +0 -348
- data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +0 -264
- data/doc/classes/TaskJuggler/TextScanner.html +0 -815
- data/doc/classes/TaskJuggler/TimeSheetReport.html +0 -406
- data/doc/classes/TaskJuggler/TjException.html +0 -185
- data/doc/classes/TaskJuggler/TjTime.html +0 -1904
- data/doc/classes/TaskJuggler/TjpExample.html +0 -314
- data/doc/classes/TaskJuggler/TjpExportRE.html +0 -306
- data/doc/classes/TaskJuggler/TjpSyntaxRules.html +0 -10812
- data/doc/classes/TaskJuggler/UserManual.html +0 -605
- data/doc/classes/TaskJuggler/WorkingHours.html +0 -586
- data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +0 -252
- data/doc/classes/TaskJuggler/XMLBlob.html +0 -207
- data/doc/classes/TaskJuggler/XMLComment.html +0 -206
- data/doc/classes/TaskJuggler/XMLDocument.html +0 -298
- data/doc/classes/TaskJuggler/XMLElement.html +0 -389
- data/doc/classes/TaskJuggler/XMLNamedText.html +0 -174
- data/doc/classes/TaskJuggler/XMLText.html +0 -221
- data/doc/classes/TaskJuggler.html +0 -1573
- data/doc/files/COPYING.html +0 -448
- data/doc/files/README.html +0 -134
- data/doc/files/lib/AccountScenario_rb.html +0 -117
- data/doc/files/lib/Account_rb.html +0 -119
- data/doc/files/lib/Allocation_rb.html +0 -119
- data/doc/files/lib/AppConfig_rb.html +0 -119
- data/doc/files/lib/AttributeBase_rb.html +0 -117
- data/doc/files/lib/AttributeDefinition_rb.html +0 -107
- data/doc/files/lib/Attributes_rb.html +0 -131
- data/doc/files/lib/BatchProcessor_rb.html +0 -119
- data/doc/files/lib/Booking_rb.html +0 -107
- data/doc/files/lib/ChargeSet_rb.html +0 -117
- data/doc/files/lib/Charge_rb.html +0 -117
- data/doc/files/lib/HTMLDocument_rb.html +0 -117
- data/doc/files/lib/Interval_rb.html +0 -117
- data/doc/files/lib/Journal_rb.html +0 -107
- data/doc/files/lib/KeywordArray_rb.html +0 -107
- data/doc/files/lib/KeywordDocumentation_rb.html +0 -123
- data/doc/files/lib/Limits_rb.html +0 -117
- data/doc/files/lib/Log_rb.html +0 -117
- data/doc/files/lib/LogicalExpression_rb.html +0 -121
- data/doc/files/lib/LogicalFunction_rb.html +0 -117
- data/doc/files/lib/LogicalOperation_rb.html +0 -117
- data/doc/files/lib/MacroParser_rb.html +0 -119
- data/doc/files/lib/MacroTable_rb.html +0 -123
- data/doc/files/lib/MessageHandler_rb.html +0 -107
- data/doc/files/lib/Message_rb.html +0 -117
- data/doc/files/lib/ProjectFileParser_rb.html +0 -129
- data/doc/files/lib/Project_rb.html +0 -153
- data/doc/files/lib/PropertyList_rb.html +0 -107
- data/doc/files/lib/PropertySet_rb.html +0 -119
- data/doc/files/lib/PropertyTreeNode_rb.html +0 -107
- data/doc/files/lib/Query_rb.html +0 -117
- data/doc/files/lib/RTFNavigator_rb.html +0 -121
- data/doc/files/lib/RTFQuery_rb.html +0 -121
- data/doc/files/lib/RTFReport_rb.html +0 -119
- data/doc/files/lib/RealFormat_rb.html +0 -107
- data/doc/files/lib/RemoteServiceManager_rb.html +0 -117
- data/doc/files/lib/ReportServer_rb.html +0 -107
- data/doc/files/lib/ResourceScenario_rb.html +0 -117
- data/doc/files/lib/Resource_rb.html +0 -119
- data/doc/files/lib/RichTextDocument_rb.html +0 -121
- data/doc/files/lib/RichTextElement_rb.html +0 -121
- data/doc/files/lib/RichTextFunctionExample_rb.html +0 -121
- data/doc/files/lib/RichTextFunctionHandler_rb.html +0 -107
- data/doc/files/lib/RichTextParser_rb.html +0 -121
- data/doc/files/lib/RichTextScanner_rb.html +0 -117
- data/doc/files/lib/RichTextSnip_rb.html +0 -119
- data/doc/files/lib/RichTextSyntaxRules_rb.html +0 -107
- data/doc/files/lib/RichText_rb.html +0 -119
- data/doc/files/lib/ScenarioData_rb.html +0 -119
- data/doc/files/lib/Scenario_rb.html +0 -117
- data/doc/files/lib/Scoreboard_rb.html +0 -107
- data/doc/files/lib/ShiftAssignments_rb.html +0 -117
- data/doc/files/lib/ShiftScenario_rb.html +0 -117
- data/doc/files/lib/Shift_rb.html +0 -119
- data/doc/files/lib/SourceFileInfo_rb.html +0 -107
- data/doc/files/lib/SyntaxReference_rb.html +0 -123
- data/doc/files/lib/TOCEntry_rb.html +0 -119
- data/doc/files/lib/TableColumnDefinition_rb.html +0 -107
- data/doc/files/lib/TableOfContents_rb.html +0 -119
- data/doc/files/lib/TaskDependency_rb.html +0 -107
- data/doc/files/lib/TaskJuggler_rb.html +0 -125
- data/doc/files/lib/TaskScenario_rb.html +0 -117
- data/doc/files/lib/Task_rb.html +0 -119
- data/doc/files/lib/TextParser/Pattern_rb.html +0 -117
- data/doc/files/lib/TextParser/Rule_rb.html +0 -107
- data/doc/files/lib/TextParser/StackElement_rb.html +0 -107
- data/doc/files/lib/TextParser/TokenDoc_rb.html +0 -107
- data/doc/files/lib/TextParser_rb.html +0 -125
- data/doc/files/lib/TextScanner_rb.html +0 -129
- data/doc/files/lib/Tj3Config_rb.html +0 -119
- data/doc/files/lib/TjException_rb.html +0 -107
- data/doc/files/lib/TjTime_rb.html +0 -119
- data/doc/files/lib/TjpExample_rb.html +0 -117
- data/doc/files/lib/TjpSyntaxRules_rb.html +0 -107
- data/doc/files/lib/UTF8String_rb.html +0 -140
- data/doc/files/lib/UserManual_rb.html +0 -127
- data/doc/files/lib/WorkingHours_rb.html +0 -117
- data/doc/files/lib/XMLDocument_rb.html +0 -117
- data/doc/files/lib/XMLElement_rb.html +0 -117
- data/doc/files/lib/deep_copy_rb.html +0 -107
- data/doc/files/lib/reports/CSVFile_rb.html +0 -117
- data/doc/files/lib/reports/ColumnTable_rb.html +0 -117
- data/doc/files/lib/reports/GanttChart_rb.html +0 -123
- data/doc/files/lib/reports/GanttContainer_rb.html +0 -117
- data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +0 -107
- data/doc/files/lib/reports/GanttHeader_rb.html +0 -117
- data/doc/files/lib/reports/GanttLine_rb.html +0 -127
- data/doc/files/lib/reports/GanttLoadStack_rb.html +0 -117
- data/doc/files/lib/reports/GanttMilestone_rb.html +0 -117
- data/doc/files/lib/reports/GanttRouter_rb.html +0 -107
- data/doc/files/lib/reports/GanttTaskBar_rb.html +0 -117
- data/doc/files/lib/reports/HTMLGraphics_rb.html +0 -107
- data/doc/files/lib/reports/Navigator_rb.html +0 -117
- data/doc/files/lib/reports/ReportBase_rb.html +0 -107
- data/doc/files/lib/reports/ReportContext_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableCell_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableColumn_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableLegend_rb.html +0 -107
- data/doc/files/lib/reports/ReportTableLine_rb.html +0 -117
- data/doc/files/lib/reports/ReportTable_rb.html +0 -119
- data/doc/files/lib/reports/Report_rb.html +0 -137
- data/doc/files/lib/reports/ResourceListRE_rb.html +0 -123
- data/doc/files/lib/reports/TableReport_rb.html +0 -125
- data/doc/files/lib/reports/TaskListRE_rb.html +0 -123
- data/doc/files/lib/reports/TextReport_rb.html +0 -117
- data/doc/files/lib/reports/TimeSheetReport_rb.html +0 -117
- data/doc/files/lib/reports/TjpExportRE_rb.html +0 -117
- data/doc/files/lib/taskjuggler3_rb.html +0 -298
- data/doc/files/lib/tj3client_rb.html +0 -280
- data/doc/files/lib/tj3man_rb.html +0 -190
- data/doc/fr_class_index.html +0 -345
- data/doc/fr_file_index.html +0 -247
- data/doc/fr_method_index.html +0 -2355
- data/doc/rdoc-style.css +0 -299
- data/lib/RemoteServiceManager.rb +0 -80
- data/lib/ReportServer.rb +0 -66
- data/test/TestSuite/HTML-Reports/Alerts.html +0 -172
- data/test/TestSuite/HTML-Reports/CellText.html +0 -758
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +0 -156
- data/test/TestSuite/HTML-Reports/IsOngoing.html +0 -172
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +0 -80
- data/test/TestSuite/HTML-Reports/Query.html +0 -31
- data/test/TestSuite/HTML-Reports/depArrows.html +0 -842
- data/test/TestSuite/Syntax/Correct/RawHTML.tjp +0 -31
- data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/Syntax/Errors/export_bad_extn.tjp +0 -9
@@ -1,927 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<title>Class: TaskJuggler::TextParser::Pattern [TaskJuggler III API documentation]</title>
|
6
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
|
-
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
8
|
-
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
9
|
-
<script type="text/javascript">
|
10
|
-
// <![CDATA[
|
11
|
-
|
12
|
-
function popupCode( url ) {
|
13
|
-
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
14
|
-
}
|
15
|
-
|
16
|
-
function toggleCode( id ) {
|
17
|
-
if ( document.getElementById )
|
18
|
-
elem = document.getElementById( id );
|
19
|
-
else if ( document.all )
|
20
|
-
elem = eval( "document.all." + id );
|
21
|
-
else
|
22
|
-
return false;
|
23
|
-
|
24
|
-
elemStyle = elem.style;
|
25
|
-
|
26
|
-
if ( elemStyle.display != "block" ) {
|
27
|
-
elemStyle.display = "block"
|
28
|
-
} else {
|
29
|
-
elemStyle.display = "none"
|
30
|
-
}
|
31
|
-
|
32
|
-
return true;
|
33
|
-
}
|
34
|
-
|
35
|
-
// Make codeblocks hidden by default
|
36
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
|
37
|
-
|
38
|
-
// ]]>
|
39
|
-
</script>
|
40
|
-
|
41
|
-
</head>
|
42
|
-
<body>
|
43
|
-
|
44
|
-
|
45
|
-
<div id="classHeader">
|
46
|
-
<table class="header-table">
|
47
|
-
<tr class="top-aligned-row">
|
48
|
-
<td><strong>Class</strong></td>
|
49
|
-
<td class="class-name-in-header">TaskJuggler::TextParser::Pattern</td>
|
50
|
-
</tr>
|
51
|
-
<tr class="top-aligned-row">
|
52
|
-
<td><strong>In:</strong></td>
|
53
|
-
<td>
|
54
|
-
|
55
|
-
|
56
|
-
<a href="../../../files/lib/TextParser/Pattern_rb.html">
|
57
|
-
|
58
|
-
lib/TextParser/Pattern.rb
|
59
|
-
|
60
|
-
</a>
|
61
|
-
|
62
|
-
|
63
|
-
<br />
|
64
|
-
|
65
|
-
</td>
|
66
|
-
</tr>
|
67
|
-
|
68
|
-
|
69
|
-
<tr class="top-aligned-row">
|
70
|
-
<td><strong>Parent:</strong></td>
|
71
|
-
<td>
|
72
|
-
|
73
|
-
<a href="../../Object.html">
|
74
|
-
|
75
|
-
Object
|
76
|
-
|
77
|
-
</a>
|
78
|
-
|
79
|
-
</td>
|
80
|
-
</tr>
|
81
|
-
|
82
|
-
</table>
|
83
|
-
</div>
|
84
|
-
<!-- banner header -->
|
85
|
-
|
86
|
-
<div id="bodyContent">
|
87
|
-
|
88
|
-
<div id="contextContent">
|
89
|
-
|
90
|
-
<div id="description">
|
91
|
-
<p>
|
92
|
-
This class models the most crutial elements of a syntax description - the
|
93
|
-
pattern. A TextParserPattern primarily consists of a set of tokens. Tokens
|
94
|
-
are Strings where the first character determines the type of the token.
|
95
|
-
There are 4 known types.
|
96
|
-
</p>
|
97
|
-
<p>
|
98
|
-
Terminal token: The terminal token is prefixed by an underscore. Terminal
|
99
|
-
tokens are terminal symbols of the syntax tree. They just represent
|
100
|
-
themselves.
|
101
|
-
</p>
|
102
|
-
<p>
|
103
|
-
Variable token: The variable token describes values of a certain class such
|
104
|
-
as strings or numbers. The token is prefixed by a dollar sign and the text
|
105
|
-
of the token specifies the variable type. See <a
|
106
|
-
href="../ProjectFileParser.html">ProjectFileParser</a> for a complete list
|
107
|
-
of variable types.
|
108
|
-
</p>
|
109
|
-
<p>
|
110
|
-
Reference token: The reference token specifies a reference to another
|
111
|
-
parser rule. The token is prefixed by a bang and the text matches the name
|
112
|
-
of the rule. See TextParserRule for details.
|
113
|
-
</p>
|
114
|
-
<p>
|
115
|
-
End token: The . token marks the expected end of the input stream.
|
116
|
-
</p>
|
117
|
-
<p>
|
118
|
-
In addition to the pure syntax tree information the pattern also holds
|
119
|
-
documentary information about the pattern.
|
120
|
-
</p>
|
121
|
-
|
122
|
-
</div>
|
123
|
-
|
124
|
-
</div>
|
125
|
-
|
126
|
-
|
127
|
-
<div id="method-list">
|
128
|
-
<h3 class="section-bar">Methods</h3>
|
129
|
-
|
130
|
-
<div class="name-list">
|
131
|
-
|
132
|
-
<a href="#M000553">[]</a>
|
133
|
-
|
134
|
-
<a href="#M000554">each</a>
|
135
|
-
|
136
|
-
<a href="#M000555">empty?</a>
|
137
|
-
|
138
|
-
<a href="#M000556">length</a>
|
139
|
-
|
140
|
-
<a href="#M000547">new</a>
|
141
|
-
|
142
|
-
<a href="#M000557">optional?</a>
|
143
|
-
|
144
|
-
<a href="#M000549">setArg</a>
|
145
|
-
|
146
|
-
<a href="#M000548">setDoc</a>
|
147
|
-
|
148
|
-
<a href="#M000552">setExample</a>
|
149
|
-
|
150
|
-
<a href="#M000550">setLastSyntaxToken</a>
|
151
|
-
|
152
|
-
<a href="#M000551">setSeeAlso</a>
|
153
|
-
|
154
|
-
<a href="#M000558">terminalSymbol?</a>
|
155
|
-
|
156
|
-
<a href="#M000559">terminalToken</a>
|
157
|
-
|
158
|
-
<a href="#M000562">to_s</a>
|
159
|
-
|
160
|
-
<a href="#M000560">to_syntax</a>
|
161
|
-
|
162
|
-
<a href="#M000561">to_syntax_r</a>
|
163
|
-
|
164
|
-
</div>
|
165
|
-
</div>
|
166
|
-
|
167
|
-
</div>
|
168
|
-
|
169
|
-
<!-- if includes -->
|
170
|
-
|
171
|
-
<div id="section">
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
<div id="attribute-list">
|
176
|
-
<h3 class="section-bar">Attributes</h3>
|
177
|
-
|
178
|
-
<div class="name-list">
|
179
|
-
<table>
|
180
|
-
|
181
|
-
<tr class="top-aligned-row context-row">
|
182
|
-
<td class="context-item-name">doc</td>
|
183
|
-
|
184
|
-
<td class="context-item-value"> [R] </td>
|
185
|
-
|
186
|
-
<td class="context-item-desc"></td>
|
187
|
-
</tr>
|
188
|
-
|
189
|
-
<tr class="top-aligned-row context-row">
|
190
|
-
<td class="context-item-name">exampleFile</td>
|
191
|
-
|
192
|
-
<td class="context-item-value"> [R] </td>
|
193
|
-
|
194
|
-
<td class="context-item-desc"></td>
|
195
|
-
</tr>
|
196
|
-
|
197
|
-
<tr class="top-aligned-row context-row">
|
198
|
-
<td class="context-item-name">exampleTag</td>
|
199
|
-
|
200
|
-
<td class="context-item-value"> [R] </td>
|
201
|
-
|
202
|
-
<td class="context-item-desc"></td>
|
203
|
-
</tr>
|
204
|
-
|
205
|
-
<tr class="top-aligned-row context-row">
|
206
|
-
<td class="context-item-name">function</td>
|
207
|
-
|
208
|
-
<td class="context-item-value"> [R] </td>
|
209
|
-
|
210
|
-
<td class="context-item-desc"></td>
|
211
|
-
</tr>
|
212
|
-
|
213
|
-
<tr class="top-aligned-row context-row">
|
214
|
-
<td class="context-item-name">keyword</td>
|
215
|
-
|
216
|
-
<td class="context-item-value"> [R] </td>
|
217
|
-
|
218
|
-
<td class="context-item-desc"></td>
|
219
|
-
</tr>
|
220
|
-
|
221
|
-
<tr class="top-aligned-row context-row">
|
222
|
-
<td class="context-item-name">seeAlso</td>
|
223
|
-
|
224
|
-
<td class="context-item-value"> [R] </td>
|
225
|
-
|
226
|
-
<td class="context-item-desc"></td>
|
227
|
-
</tr>
|
228
|
-
|
229
|
-
<tr class="top-aligned-row context-row">
|
230
|
-
<td class="context-item-name">tokens</td>
|
231
|
-
|
232
|
-
<td class="context-item-value"> [R] </td>
|
233
|
-
|
234
|
-
<td class="context-item-desc"></td>
|
235
|
-
</tr>
|
236
|
-
|
237
|
-
</table>
|
238
|
-
</div>
|
239
|
-
</div>
|
240
|
-
|
241
|
-
|
242
|
-
<!-- if method_list -->
|
243
|
-
|
244
|
-
<div id="methods">
|
245
|
-
|
246
|
-
<h3 class="section-bar">Public Class methods</h3>
|
247
|
-
|
248
|
-
|
249
|
-
<div id="method-M000547" class="method-detail">
|
250
|
-
<a name="M000547"></a>
|
251
|
-
|
252
|
-
<div class="method-heading">
|
253
|
-
|
254
|
-
<a href="#M000547" class="method-signature">
|
255
|
-
|
256
|
-
<span class="method-name">new</span><span class="method-args">(tokens, function = nil)</span>
|
257
|
-
|
258
|
-
</a>
|
259
|
-
|
260
|
-
</div>
|
261
|
-
|
262
|
-
<div class="method-description">
|
263
|
-
|
264
|
-
<p><a class="source-toggle" href="#"
|
265
|
-
onclick="toggleCode('M000547-source');return false;">[Source]</a></p>
|
266
|
-
<div class="method-source-code" id="M000547-source">
|
267
|
-
<pre>
|
268
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 44</span>
|
269
|
-
44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">tokens</span>, <span class="ruby-identifier">function</span> = <span class="ruby-keyword kw">nil</span>)
|
270
|
-
45: <span class="ruby-comment cmt"># A unique name for the pattern that is used in the documentation.</span>
|
271
|
-
46: <span class="ruby-ivar">@keyword</span> = <span class="ruby-keyword kw">nil</span>
|
272
|
-
47: <span class="ruby-comment cmt"># Initialize pattern doc as empty.</span>
|
273
|
-
48: <span class="ruby-ivar">@doc</span> = <span class="ruby-keyword kw">nil</span>
|
274
|
-
49: <span class="ruby-comment cmt"># A list of TokenDoc elements that describe the meaning of variable</span>
|
275
|
-
50: <span class="ruby-comment cmt"># tokens. The order of the tokens and entries in the Array must correlate.</span>
|
276
|
-
51: <span class="ruby-ivar">@args</span> = []
|
277
|
-
52: <span class="ruby-comment cmt"># A list of references to other patterns that are related to this pattern.</span>
|
278
|
-
53: <span class="ruby-ivar">@seeAlso</span> = []
|
279
|
-
54: <span class="ruby-comment cmt"># A reference to a file under test/TestSuite/Syntax/Correct and a tag</span>
|
280
|
-
55: <span class="ruby-comment cmt"># within that file. This identifies example TJP code to be included with</span>
|
281
|
-
56: <span class="ruby-comment cmt"># the reference manual.</span>
|
282
|
-
57: <span class="ruby-ivar">@exampleFile</span> = <span class="ruby-keyword kw">nil</span>
|
283
|
-
58: <span class="ruby-ivar">@exampleTag</span> = <span class="ruby-keyword kw">nil</span>
|
284
|
-
59:
|
285
|
-
60: <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">token</span><span class="ruby-operator">|</span>
|
286
|
-
61: <span class="ruby-keyword kw">unless</span> <span class="ruby-value str">'!$_.'</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>])
|
287
|
-
62: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Fatal Error: All pattern tokens must start with a type "</span> <span class="ruby-operator">+</span>
|
288
|
-
63: <span class="ruby-node">"identifier [!$_.]: #{tokens.join(', ')}"</span>
|
289
|
-
64: <span class="ruby-keyword kw">end</span>
|
290
|
-
65: <span class="ruby-comment cmt"># Initialize pattern argument descriptions as empty.</span>
|
291
|
-
66: <span class="ruby-ivar">@args</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">nil</span>
|
292
|
-
67: <span class="ruby-keyword kw">end</span>
|
293
|
-
68: <span class="ruby-ivar">@tokens</span> = <span class="ruby-identifier">tokens</span>
|
294
|
-
69: <span class="ruby-ivar">@function</span> = <span class="ruby-identifier">function</span>
|
295
|
-
70: <span class="ruby-comment cmt"># In some cases we don't want to show all tokens in the syntax</span>
|
296
|
-
71: <span class="ruby-comment cmt"># documentation. This value specifies the index of the last shown token.</span>
|
297
|
-
72: <span class="ruby-ivar">@lastSyntaxToken</span> = <span class="ruby-ivar">@tokens</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
|
298
|
-
73: <span class="ruby-keyword kw">end</span>
|
299
|
-
</pre>
|
300
|
-
</div>
|
301
|
-
|
302
|
-
</div>
|
303
|
-
</div>
|
304
|
-
|
305
|
-
|
306
|
-
<h3 class="section-bar">Public Instance methods</h3>
|
307
|
-
|
308
|
-
|
309
|
-
<div id="method-M000553" class="method-detail">
|
310
|
-
<a name="M000553"></a>
|
311
|
-
|
312
|
-
<div class="method-heading">
|
313
|
-
|
314
|
-
<a href="#M000553" class="method-signature">
|
315
|
-
|
316
|
-
<span class="method-name">[]</span><span class="method-args">(i)</span>
|
317
|
-
|
318
|
-
</a>
|
319
|
-
|
320
|
-
</div>
|
321
|
-
|
322
|
-
<div class="method-description">
|
323
|
-
|
324
|
-
<p>
|
325
|
-
Conveniance function to access individual tokens by index.
|
326
|
-
</p>
|
327
|
-
|
328
|
-
<p><a class="source-toggle" href="#"
|
329
|
-
onclick="toggleCode('M000553-source');return false;">[Source]</a></p>
|
330
|
-
<div class="method-source-code" id="M000553-source">
|
331
|
-
<pre>
|
332
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 103</span>
|
333
|
-
103: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">i</span>)
|
334
|
-
104: <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">i</span>]
|
335
|
-
105: <span class="ruby-keyword kw">end</span>
|
336
|
-
</pre>
|
337
|
-
</div>
|
338
|
-
|
339
|
-
</div>
|
340
|
-
</div>
|
341
|
-
|
342
|
-
|
343
|
-
<div id="method-M000554" class="method-detail">
|
344
|
-
<a name="M000554"></a>
|
345
|
-
|
346
|
-
<div class="method-heading">
|
347
|
-
|
348
|
-
<a href="#M000554" class="method-signature">
|
349
|
-
|
350
|
-
<span class="method-name">each</span><span class="method-args">() {|tok| ...}</span>
|
351
|
-
|
352
|
-
</a>
|
353
|
-
|
354
|
-
</div>
|
355
|
-
|
356
|
-
<div class="method-description">
|
357
|
-
|
358
|
-
<p>
|
359
|
-
Iterator for tokens.
|
360
|
-
</p>
|
361
|
-
|
362
|
-
<p><a class="source-toggle" href="#"
|
363
|
-
onclick="toggleCode('M000554-source');return false;">[Source]</a></p>
|
364
|
-
<div class="method-source-code" id="M000554-source">
|
365
|
-
<pre>
|
366
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 108</span>
|
367
|
-
108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
|
368
|
-
109: <span class="ruby-ivar">@tokens</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">tok</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">tok</span> }
|
369
|
-
110: <span class="ruby-keyword kw">end</span>
|
370
|
-
</pre>
|
371
|
-
</div>
|
372
|
-
|
373
|
-
</div>
|
374
|
-
</div>
|
375
|
-
|
376
|
-
|
377
|
-
<div id="method-M000555" class="method-detail">
|
378
|
-
<a name="M000555"></a>
|
379
|
-
|
380
|
-
<div class="method-heading">
|
381
|
-
|
382
|
-
<a href="#M000555" class="method-signature">
|
383
|
-
|
384
|
-
<span class="method-name">empty?</span><span class="method-args">()</span>
|
385
|
-
|
386
|
-
</a>
|
387
|
-
|
388
|
-
</div>
|
389
|
-
|
390
|
-
<div class="method-description">
|
391
|
-
|
392
|
-
<p>
|
393
|
-
Returns true of the pattern is empty.
|
394
|
-
</p>
|
395
|
-
|
396
|
-
<p><a class="source-toggle" href="#"
|
397
|
-
onclick="toggleCode('M000555-source');return false;">[Source]</a></p>
|
398
|
-
<div class="method-source-code" id="M000555-source">
|
399
|
-
<pre>
|
400
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 113</span>
|
401
|
-
113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">empty?</span>
|
402
|
-
114: <span class="ruby-ivar">@tokens</span>.<span class="ruby-identifier">empty?</span>
|
403
|
-
115: <span class="ruby-keyword kw">end</span>
|
404
|
-
</pre>
|
405
|
-
</div>
|
406
|
-
|
407
|
-
</div>
|
408
|
-
</div>
|
409
|
-
|
410
|
-
|
411
|
-
<div id="method-M000556" class="method-detail">
|
412
|
-
<a name="M000556"></a>
|
413
|
-
|
414
|
-
<div class="method-heading">
|
415
|
-
|
416
|
-
<a href="#M000556" class="method-signature">
|
417
|
-
|
418
|
-
<span class="method-name">length</span><span class="method-args">()</span>
|
419
|
-
|
420
|
-
</a>
|
421
|
-
|
422
|
-
</div>
|
423
|
-
|
424
|
-
<div class="method-description">
|
425
|
-
|
426
|
-
<p>
|
427
|
-
Returns the number of tokens in the pattern.
|
428
|
-
</p>
|
429
|
-
|
430
|
-
<p><a class="source-toggle" href="#"
|
431
|
-
onclick="toggleCode('M000556-source');return false;">[Source]</a></p>
|
432
|
-
<div class="method-source-code" id="M000556-source">
|
433
|
-
<pre>
|
434
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 118</span>
|
435
|
-
118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">length</span>
|
436
|
-
119: <span class="ruby-ivar">@tokens</span>.<span class="ruby-identifier">length</span>
|
437
|
-
120: <span class="ruby-keyword kw">end</span>
|
438
|
-
</pre>
|
439
|
-
</div>
|
440
|
-
|
441
|
-
</div>
|
442
|
-
</div>
|
443
|
-
|
444
|
-
|
445
|
-
<div id="method-M000557" class="method-detail">
|
446
|
-
<a name="M000557"></a>
|
447
|
-
|
448
|
-
<div class="method-heading">
|
449
|
-
|
450
|
-
<a href="#M000557" class="method-signature">
|
451
|
-
|
452
|
-
<span class="method-name">optional?</span><span class="method-args">(rules)</span>
|
453
|
-
|
454
|
-
</a>
|
455
|
-
|
456
|
-
</div>
|
457
|
-
|
458
|
-
<div class="method-description">
|
459
|
-
|
460
|
-
<p>
|
461
|
-
Return true if all tokens of the pattern are optional. If a token
|
462
|
-
references a rule, this rule is followed for the check.
|
463
|
-
</p>
|
464
|
-
|
465
|
-
<p><a class="source-toggle" href="#"
|
466
|
-
onclick="toggleCode('M000557-source');return false;">[Source]</a></p>
|
467
|
-
<div class="method-source-code" id="M000557-source">
|
468
|
-
<pre>
|
469
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 124</span>
|
470
|
-
124: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">optional?</span>(<span class="ruby-identifier">rules</span>)
|
471
|
-
125: <span class="ruby-ivar">@tokens</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">token</span><span class="ruby-operator">|</span>
|
472
|
-
126: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?_</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?$</span>
|
473
|
-
127: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
474
|
-
128: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?!</span>
|
475
|
-
129: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">token</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
|
476
|
-
130: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">rules</span>[<span class="ruby-identifier">token</span>].<span class="ruby-identifier">optional?</span>(<span class="ruby-identifier">rules</span>)
|
477
|
-
131: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
478
|
-
132: <span class="ruby-keyword kw">end</span>
|
479
|
-
133: <span class="ruby-keyword kw">end</span>
|
480
|
-
134: <span class="ruby-keyword kw">end</span>
|
481
|
-
135: <span class="ruby-keyword kw">true</span>
|
482
|
-
136: <span class="ruby-keyword kw">end</span>
|
483
|
-
</pre>
|
484
|
-
</div>
|
485
|
-
|
486
|
-
</div>
|
487
|
-
</div>
|
488
|
-
|
489
|
-
|
490
|
-
<div id="method-M000549" class="method-detail">
|
491
|
-
<a name="M000549"></a>
|
492
|
-
|
493
|
-
<div class="method-heading">
|
494
|
-
|
495
|
-
<a href="#M000549" class="method-signature">
|
496
|
-
|
497
|
-
<span class="method-name">setArg</span><span class="method-args">(idx, doc)</span>
|
498
|
-
|
499
|
-
</a>
|
500
|
-
|
501
|
-
</div>
|
502
|
-
|
503
|
-
<div class="method-description">
|
504
|
-
|
505
|
-
<p>
|
506
|
-
Set the documentation text and for the idx-th variable.
|
507
|
-
</p>
|
508
|
-
|
509
|
-
<p><a class="source-toggle" href="#"
|
510
|
-
onclick="toggleCode('M000549-source');return false;">[Source]</a></p>
|
511
|
-
<div class="method-source-code" id="M000549-source">
|
512
|
-
<pre>
|
513
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 82</span>
|
514
|
-
82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setArg</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">doc</span>)
|
515
|
-
83: <span class="ruby-ivar">@args</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">doc</span>
|
516
|
-
84: <span class="ruby-keyword kw">end</span>
|
517
|
-
</pre>
|
518
|
-
</div>
|
519
|
-
|
520
|
-
</div>
|
521
|
-
</div>
|
522
|
-
|
523
|
-
|
524
|
-
<div id="method-M000548" class="method-detail">
|
525
|
-
<a name="M000548"></a>
|
526
|
-
|
527
|
-
<div class="method-heading">
|
528
|
-
|
529
|
-
<a href="#M000548" class="method-signature">
|
530
|
-
|
531
|
-
<span class="method-name">setDoc</span><span class="method-args">(keyword, doc)</span>
|
532
|
-
|
533
|
-
</a>
|
534
|
-
|
535
|
-
</div>
|
536
|
-
|
537
|
-
<div class="method-description">
|
538
|
-
|
539
|
-
<p>
|
540
|
-
Set the keyword and documentation text for the pattern.
|
541
|
-
</p>
|
542
|
-
|
543
|
-
<p><a class="source-toggle" href="#"
|
544
|
-
onclick="toggleCode('M000548-source');return false;">[Source]</a></p>
|
545
|
-
<div class="method-source-code" id="M000548-source">
|
546
|
-
<pre>
|
547
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 76</span>
|
548
|
-
76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setDoc</span>(<span class="ruby-identifier">keyword</span>, <span class="ruby-identifier">doc</span>)
|
549
|
-
77: <span class="ruby-ivar">@keyword</span> = <span class="ruby-identifier">keyword</span>
|
550
|
-
78: <span class="ruby-ivar">@doc</span> = <span class="ruby-identifier">doc</span>
|
551
|
-
79: <span class="ruby-keyword kw">end</span>
|
552
|
-
</pre>
|
553
|
-
</div>
|
554
|
-
|
555
|
-
</div>
|
556
|
-
</div>
|
557
|
-
|
558
|
-
|
559
|
-
<div id="method-M000552" class="method-detail">
|
560
|
-
<a name="M000552"></a>
|
561
|
-
|
562
|
-
<div class="method-heading">
|
563
|
-
|
564
|
-
<a href="#M000552" class="method-signature">
|
565
|
-
|
566
|
-
<span class="method-name">setExample</span><span class="method-args">(file, tag)</span>
|
567
|
-
|
568
|
-
</a>
|
569
|
-
|
570
|
-
</div>
|
571
|
-
|
572
|
-
<div class="method-description">
|
573
|
-
|
574
|
-
<p>
|
575
|
-
Set the file and tag for the TJP code example.
|
576
|
-
</p>
|
577
|
-
|
578
|
-
<p><a class="source-toggle" href="#"
|
579
|
-
onclick="toggleCode('M000552-source');return false;">[Source]</a></p>
|
580
|
-
<div class="method-source-code" id="M000552-source">
|
581
|
-
<pre>
|
582
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 97</span>
|
583
|
-
97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setExample</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">tag</span>)
|
584
|
-
98: <span class="ruby-ivar">@exampleFile</span> = <span class="ruby-identifier">file</span>
|
585
|
-
99: <span class="ruby-ivar">@exampleTag</span> = <span class="ruby-identifier">tag</span>
|
586
|
-
100: <span class="ruby-keyword kw">end</span>
|
587
|
-
</pre>
|
588
|
-
</div>
|
589
|
-
|
590
|
-
</div>
|
591
|
-
</div>
|
592
|
-
|
593
|
-
|
594
|
-
<div id="method-M000550" class="method-detail">
|
595
|
-
<a name="M000550"></a>
|
596
|
-
|
597
|
-
<div class="method-heading">
|
598
|
-
|
599
|
-
<a href="#M000550" class="method-signature">
|
600
|
-
|
601
|
-
<span class="method-name">setLastSyntaxToken</span><span class="method-args">(idx)</span>
|
602
|
-
|
603
|
-
</a>
|
604
|
-
|
605
|
-
</div>
|
606
|
-
|
607
|
-
<div class="method-description">
|
608
|
-
|
609
|
-
<p>
|
610
|
-
Restrict the syntax documentation to the first <tt>idx</tt> tokens.
|
611
|
-
</p>
|
612
|
-
|
613
|
-
<p><a class="source-toggle" href="#"
|
614
|
-
onclick="toggleCode('M000550-source');return false;">[Source]</a></p>
|
615
|
-
<div class="method-source-code" id="M000550-source">
|
616
|
-
<pre>
|
617
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 87</span>
|
618
|
-
87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setLastSyntaxToken</span>(<span class="ruby-identifier">idx</span>)
|
619
|
-
88: <span class="ruby-ivar">@lastSyntaxToken</span> = <span class="ruby-identifier">idx</span>
|
620
|
-
89: <span class="ruby-keyword kw">end</span>
|
621
|
-
</pre>
|
622
|
-
</div>
|
623
|
-
|
624
|
-
</div>
|
625
|
-
</div>
|
626
|
-
|
627
|
-
|
628
|
-
<div id="method-M000551" class="method-detail">
|
629
|
-
<a name="M000551"></a>
|
630
|
-
|
631
|
-
<div class="method-heading">
|
632
|
-
|
633
|
-
<a href="#M000551" class="method-signature">
|
634
|
-
|
635
|
-
<span class="method-name">setSeeAlso</span><span class="method-args">(also)</span>
|
636
|
-
|
637
|
-
</a>
|
638
|
-
|
639
|
-
</div>
|
640
|
-
|
641
|
-
<div class="method-description">
|
642
|
-
|
643
|
-
<p>
|
644
|
-
Set the references to related patterns.
|
645
|
-
</p>
|
646
|
-
|
647
|
-
<p><a class="source-toggle" href="#"
|
648
|
-
onclick="toggleCode('M000551-source');return false;">[Source]</a></p>
|
649
|
-
<div class="method-source-code" id="M000551-source">
|
650
|
-
<pre>
|
651
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 92</span>
|
652
|
-
92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setSeeAlso</span>(<span class="ruby-identifier">also</span>)
|
653
|
-
93: <span class="ruby-ivar">@seeAlso</span> = <span class="ruby-identifier">also</span>
|
654
|
-
94: <span class="ruby-keyword kw">end</span>
|
655
|
-
</pre>
|
656
|
-
</div>
|
657
|
-
|
658
|
-
</div>
|
659
|
-
</div>
|
660
|
-
|
661
|
-
|
662
|
-
<div id="method-M000558" class="method-detail">
|
663
|
-
<a name="M000558"></a>
|
664
|
-
|
665
|
-
<div class="method-heading">
|
666
|
-
|
667
|
-
<a href="#M000558" class="method-signature">
|
668
|
-
|
669
|
-
<span class="method-name">terminalSymbol?</span><span class="method-args">(i)</span>
|
670
|
-
|
671
|
-
</a>
|
672
|
-
|
673
|
-
</div>
|
674
|
-
|
675
|
-
<div class="method-description">
|
676
|
-
|
677
|
-
<p>
|
678
|
-
Returns true if the i-th token is a terminal symbol.
|
679
|
-
</p>
|
680
|
-
|
681
|
-
<p><a class="source-toggle" href="#"
|
682
|
-
onclick="toggleCode('M000558-source');return false;">[Source]</a></p>
|
683
|
-
<div class="method-source-code" id="M000558-source">
|
684
|
-
<pre>
|
685
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 139</span>
|
686
|
-
139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">terminalSymbol?</span>(<span class="ruby-identifier">i</span>)
|
687
|
-
140: <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">i</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?$</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">i</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?_</span>
|
688
|
-
141: <span class="ruby-keyword kw">end</span>
|
689
|
-
</pre>
|
690
|
-
</div>
|
691
|
-
|
692
|
-
</div>
|
693
|
-
</div>
|
694
|
-
|
695
|
-
|
696
|
-
<div id="method-M000559" class="method-detail">
|
697
|
-
<a name="M000559"></a>
|
698
|
-
|
699
|
-
<div class="method-heading">
|
700
|
-
|
701
|
-
<a href="#M000559" class="method-signature">
|
702
|
-
|
703
|
-
<span class="method-name">terminalToken</span><span class="method-args">(rules, index = 0)</span>
|
704
|
-
|
705
|
-
</a>
|
706
|
-
|
707
|
-
</div>
|
708
|
-
|
709
|
-
<div class="method-description">
|
710
|
-
|
711
|
-
<p>
|
712
|
-
Find recursively the first terminal token of this pattern. If an index is
|
713
|
-
specified start the search at this n-th pattern token instead of the first.
|
714
|
-
The return value is either nil or a [ token, pattern ] tuple.
|
715
|
-
</p>
|
716
|
-
|
717
|
-
<p><a class="source-toggle" href="#"
|
718
|
-
onclick="toggleCode('M000559-source');return false;">[Source]</a></p>
|
719
|
-
<div class="method-source-code" id="M000559-source">
|
720
|
-
<pre>
|
721
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 146</span>
|
722
|
-
146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>, <span class="ruby-identifier">index</span> = <span class="ruby-value">0</span>)
|
723
|
-
147: <span class="ruby-comment cmt"># Terminal token start with an underscore or dollar character.</span>
|
724
|
-
148: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">index</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?_</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">index</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?$</span>
|
725
|
-
149: <span class="ruby-keyword kw">return</span> [ <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">index</span>].<span class="ruby-identifier">slice</span>(<span class="ruby-value">1</span>, <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">index</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>), <span class="ruby-keyword kw">self</span> ]
|
726
|
-
150: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">index</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?!</span>
|
727
|
-
151: <span class="ruby-comment cmt"># Token starting with a bang reference another rule. We have to continue</span>
|
728
|
-
152: <span class="ruby-comment cmt"># the search at this rule. First, we get rid of the bang to get the rule</span>
|
729
|
-
153: <span class="ruby-comment cmt"># name.</span>
|
730
|
-
154: <span class="ruby-identifier">token</span> = <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">index</span>].<span class="ruby-identifier">slice</span>(<span class="ruby-value">1</span>, <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">index</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
|
731
|
-
155: <span class="ruby-comment cmt"># Then find the rule</span>
|
732
|
-
156: <span class="ruby-identifier">rule</span> = <span class="ruby-identifier">rules</span>[<span class="ruby-identifier">token</span>]
|
733
|
-
157: <span class="ruby-comment cmt"># The rule may only have a single pattern. If not, then this pattern has</span>
|
734
|
-
158: <span class="ruby-comment cmt"># no terminal token.</span>
|
735
|
-
159: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rule</span>.<span class="ruby-identifier">patterns</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1</span>
|
736
|
-
160: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">rule</span>.<span class="ruby-identifier">patterns</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>)
|
737
|
-
161: <span class="ruby-keyword kw">end</span>
|
738
|
-
162: <span class="ruby-keyword kw">nil</span>
|
739
|
-
163: <span class="ruby-keyword kw">end</span>
|
740
|
-
</pre>
|
741
|
-
</div>
|
742
|
-
|
743
|
-
</div>
|
744
|
-
</div>
|
745
|
-
|
746
|
-
|
747
|
-
<div id="method-M000562" class="method-detail">
|
748
|
-
<a name="M000562"></a>
|
749
|
-
|
750
|
-
<div class="method-heading">
|
751
|
-
|
752
|
-
<a href="#M000562" class="method-signature">
|
753
|
-
|
754
|
-
<span class="method-name">to_s</span><span class="method-args">()</span>
|
755
|
-
|
756
|
-
</a>
|
757
|
-
|
758
|
-
</div>
|
759
|
-
|
760
|
-
<div class="method-description">
|
761
|
-
|
762
|
-
<p><a class="source-toggle" href="#"
|
763
|
-
onclick="toggleCode('M000562-source');return false;">[Source]</a></p>
|
764
|
-
<div class="method-source-code" id="M000562-source">
|
765
|
-
<pre>
|
766
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 247</span>
|
767
|
-
247: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
|
768
|
-
248: <span class="ruby-ivar">@tokens</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
|
769
|
-
249: <span class="ruby-keyword kw">end</span>
|
770
|
-
</pre>
|
771
|
-
</div>
|
772
|
-
|
773
|
-
</div>
|
774
|
-
</div>
|
775
|
-
|
776
|
-
|
777
|
-
<div id="method-M000560" class="method-detail">
|
778
|
-
<a name="M000560"></a>
|
779
|
-
|
780
|
-
<div class="method-heading">
|
781
|
-
|
782
|
-
<a href="#M000560" class="method-signature">
|
783
|
-
|
784
|
-
<span class="method-name">to_syntax</span><span class="method-args">(argDocs, rules, skip = 0)</span>
|
785
|
-
|
786
|
-
</a>
|
787
|
-
|
788
|
-
</div>
|
789
|
-
|
790
|
-
<div class="method-description">
|
791
|
-
|
792
|
-
<p>
|
793
|
-
Returns a string that expresses the elements of the pattern in an EBNF like
|
794
|
-
fashion. The resolution of the pattern is done recursively. This is just
|
795
|
-
the wrapper function that sets up the stack.
|
796
|
-
</p>
|
797
|
-
|
798
|
-
<p><a class="source-toggle" href="#"
|
799
|
-
onclick="toggleCode('M000560-source');return false;">[Source]</a></p>
|
800
|
-
<div class="method-source-code" id="M000560-source">
|
801
|
-
<pre>
|
802
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 168</span>
|
803
|
-
168: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_syntax</span>(<span class="ruby-identifier">argDocs</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">skip</span> = <span class="ruby-value">0</span>)
|
804
|
-
169: <span class="ruby-identifier">to_syntax_r</span>({}, <span class="ruby-identifier">argDocs</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">skip</span>)
|
805
|
-
170: <span class="ruby-keyword kw">end</span>
|
806
|
-
</pre>
|
807
|
-
</div>
|
808
|
-
|
809
|
-
</div>
|
810
|
-
</div>
|
811
|
-
|
812
|
-
|
813
|
-
<div id="method-M000561" class="method-detail">
|
814
|
-
<a name="M000561"></a>
|
815
|
-
|
816
|
-
<div class="method-heading">
|
817
|
-
|
818
|
-
<a href="#M000561" class="method-signature">
|
819
|
-
|
820
|
-
<span class="method-name">to_syntax_r</span><span class="method-args">(stack, argDocs, rules, skip)</span>
|
821
|
-
|
822
|
-
</a>
|
823
|
-
|
824
|
-
</div>
|
825
|
-
|
826
|
-
<div class="method-description">
|
827
|
-
|
828
|
-
<p><a class="source-toggle" href="#"
|
829
|
-
onclick="toggleCode('M000561-source');return false;">[Source]</a></p>
|
830
|
-
<div class="method-source-code" id="M000561-source">
|
831
|
-
<pre>
|
832
|
-
<span class="ruby-comment cmt"># File lib/TextParser/Pattern.rb, line 172</span>
|
833
|
-
172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_syntax_r</span>(<span class="ruby-identifier">stack</span>, <span class="ruby-identifier">argDocs</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-identifier">skip</span>)
|
834
|
-
173: <span class="ruby-comment cmt"># If we find ourself on the stack we hit a recursive pattern. This is used</span>
|
835
|
-
174: <span class="ruby-comment cmt"># in repetitions.</span>
|
836
|
-
175: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stack</span>[<span class="ruby-keyword kw">self</span>]
|
837
|
-
176: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'[, ... ]'</span>
|
838
|
-
177: <span class="ruby-keyword kw">end</span>
|
839
|
-
178:
|
840
|
-
179: <span class="ruby-comment cmt"># "Push" us on the stack.</span>
|
841
|
-
180: <span class="ruby-identifier">stack</span>[<span class="ruby-keyword kw">self</span>] = <span class="ruby-keyword kw">true</span>
|
842
|
-
181:
|
843
|
-
182: <span class="ruby-identifier">str</span> = <span class="ruby-value str">''</span>
|
844
|
-
183: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
|
845
|
-
184: <span class="ruby-comment cmt"># Analyze the tokens of the pattern skipping the first 'skip' tokens.</span>
|
846
|
-
185: <span class="ruby-identifier">skip</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@lastSyntaxToken</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
847
|
-
186: <span class="ruby-identifier">token</span> = <span class="ruby-ivar">@tokens</span>[<span class="ruby-identifier">i</span>]
|
848
|
-
187: <span class="ruby-comment cmt"># If the first token is a _{ the pattern describes optional attributes.</span>
|
849
|
-
188: <span class="ruby-comment cmt"># They are represented by a standard idiom.</span>
|
850
|
-
189: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
|
851
|
-
190: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
|
852
|
-
191: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'{ <attributes> }'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'_{'</span>
|
853
|
-
192: <span class="ruby-keyword kw">else</span>
|
854
|
-
193: <span class="ruby-comment cmt"># Separate the syntax elemens by a whitespace.</span>
|
855
|
-
194: <span class="ruby-identifier">str</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">' '</span>
|
856
|
-
195: <span class="ruby-keyword kw">end</span>
|
857
|
-
196:
|
858
|
-
197: <span class="ruby-identifier">typeId</span> = <span class="ruby-identifier">token</span>[<span class="ruby-value">0</span>]
|
859
|
-
198: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">token</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">1</span>, <span class="ruby-identifier">token</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>)
|
860
|
-
199:
|
861
|
-
200: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>[<span class="ruby-identifier">i</span>]
|
862
|
-
201: <span class="ruby-comment cmt"># The argument is documented in the syntax definition. We copy the</span>
|
863
|
-
202: <span class="ruby-comment cmt"># entry as we need to modify it.</span>
|
864
|
-
203: <span class="ruby-identifier">argDoc</span> = <span class="ruby-ivar">@args</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">dup</span>
|
865
|
-
204:
|
866
|
-
205: <span class="ruby-comment cmt"># A documented argument without a name is a terminal token. We use the</span>
|
867
|
-
206: <span class="ruby-comment cmt"># terminal symbol as name.</span>
|
868
|
-
207: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">name</span>.<span class="ruby-identifier">nil?</span>
|
869
|
-
208: <span class="ruby-identifier">str</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"#{token}"</span>
|
870
|
-
209: <span class="ruby-identifier">argDoc</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">token</span>
|
871
|
-
210: <span class="ruby-keyword kw">else</span>
|
872
|
-
211: <span class="ruby-identifier">str</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"<#{@args[i].name}>"</span>
|
873
|
-
212: <span class="ruby-keyword kw">end</span>
|
874
|
-
213: <span class="ruby-identifier">addArgDoc</span>(<span class="ruby-identifier">argDocs</span>, <span class="ruby-identifier">argDoc</span>)
|
875
|
-
214:
|
876
|
-
215: <span class="ruby-comment cmt"># Documented arguments don't have the type set yet. Use the token</span>
|
877
|
-
216: <span class="ruby-comment cmt"># value for that.</span>
|
878
|
-
217: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">typeId</span> <span class="ruby-operator">==</span> <span class="ruby-value">?$</span>
|
879
|
-
218: <span class="ruby-identifier">argDoc</span>.<span class="ruby-identifier">typeSpec</span> = <span class="ruby-node">"<#{token}>"</span>
|
880
|
-
219: <span class="ruby-keyword kw">end</span>
|
881
|
-
220: <span class="ruby-keyword kw">else</span>
|
882
|
-
221: <span class="ruby-comment cmt"># Undocumented tokens are recursively expanded.</span>
|
883
|
-
222: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">typeId</span>
|
884
|
-
223: <span class="ruby-keyword kw">when</span> <span class="ruby-value">?_</span>
|
885
|
-
224: <span class="ruby-comment cmt"># Literals are shown as such.</span>
|
886
|
-
225: <span class="ruby-identifier">str</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">token</span>
|
887
|
-
226: <span class="ruby-keyword kw">when</span> <span class="ruby-value">?$</span>
|
888
|
-
227: <span class="ruby-comment cmt"># Variables are enclosed by angle brackets.</span>
|
889
|
-
228: <span class="ruby-identifier">str</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">'<'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">token</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'>'</span>
|
890
|
-
229: <span class="ruby-keyword kw">when</span> <span class="ruby-value">?!</span>
|
891
|
-
230: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rules</span>[<span class="ruby-identifier">token</span>].<span class="ruby-identifier">patterns</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&&</span>
|
892
|
-
231: <span class="ruby-operator">!</span><span class="ruby-identifier">rules</span>[<span class="ruby-identifier">token</span>].<span class="ruby-identifier">patterns</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">doc</span>.<span class="ruby-identifier">nil?</span>
|
893
|
-
232: <span class="ruby-identifier">addArgDoc</span>(<span class="ruby-identifier">argDocs</span>, <span class="ruby-constant">TokenDoc</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">rules</span>[<span class="ruby-identifier">token</span>].<span class="ruby-identifier">patterns</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">keyword</span>,
|
894
|
-
233: <span class="ruby-identifier">rules</span>[<span class="ruby-identifier">token</span>].<span class="ruby-identifier">patterns</span>[<span class="ruby-value">0</span>]))
|
895
|
-
234: <span class="ruby-identifier">str</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">'<'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rules</span>[<span class="ruby-identifier">token</span>].<span class="ruby-identifier">patterns</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">keyword</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'>'</span>
|
896
|
-
235: <span class="ruby-keyword kw">else</span>
|
897
|
-
236: <span class="ruby-comment cmt"># References are followed recursively.</span>
|
898
|
-
237: <span class="ruby-identifier">str</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">rules</span>[<span class="ruby-identifier">token</span>].<span class="ruby-identifier">to_syntax</span>(<span class="ruby-identifier">stack</span>, <span class="ruby-identifier">argDocs</span>, <span class="ruby-identifier">rules</span>, <span class="ruby-value">0</span>)
|
899
|
-
238: <span class="ruby-keyword kw">end</span>
|
900
|
-
239: <span class="ruby-keyword kw">end</span>
|
901
|
-
240: <span class="ruby-keyword kw">end</span>
|
902
|
-
241: <span class="ruby-keyword kw">end</span>
|
903
|
-
242: <span class="ruby-comment cmt"># Remove us from the "stack" again.</span>
|
904
|
-
243: <span class="ruby-identifier">stack</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-keyword kw">self</span>)
|
905
|
-
244: <span class="ruby-identifier">str</span>
|
906
|
-
245: <span class="ruby-keyword kw">end</span>
|
907
|
-
</pre>
|
908
|
-
</div>
|
909
|
-
|
910
|
-
</div>
|
911
|
-
</div>
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
</div>
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
</div>
|
921
|
-
|
922
|
-
<div id="validator-badges">
|
923
|
-
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
924
|
-
</div>
|
925
|
-
|
926
|
-
</body>
|
927
|
-
</html>
|