• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# CodeElementsParser类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中CodeElementsParser的典型用法代码示例。如果您正苦于以下问题:C# CodeElementsParser类的具体用法?C# CodeElementsParser怎么用?C# CodeElementsParser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CodeElementsParser类属于命名空间,在下文中一共展示了CodeElementsParser类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: CreateFunctionConditionParameter

 private DataConditionEntry CreateFunctionConditionParameter(CodeElementsParser.FunctionConditionParameterContext context)
 {
     var parameter = new DataConditionEntry();
     parameter.LevelNumber = CobolWordsBuilder.CreateIntegerValue(context.levelNumber().integerValue());
     parameter.DataName = CobolWordsBuilder.CreateConditionNameDefinition(context.conditionNameDefinition());
     SetConditionValues(parameter, context.valueClauseForCondition());
     return parameter;
 }
开发者ID:laurentprudhon,项目名称:TypeCobol,代码行数:8,代码来源:TypeCobolCodeElementBuilder.cs


示例2: EnterFunctionReturningPhrase

 public override void EnterFunctionReturningPhrase(CodeElementsParser.FunctionReturningPhraseContext context)
 {
     var ce = (FunctionDeclarationHeader)CodeElement;
     ce.Returning = new SyntaxProperty<Passing.Mode>(Passing.Mode.Returning, ParseTreeUtils.GetTokenFromTerminalNode(context.RETURNING()));
     if (context.parameterDescription().functionDataParameter() != null) {
     var entry = CreateFunctionDataParameter(context.parameterDescription().functionDataParameter());
     ce.Profile.ReturningParameter = new ParameterDescription(entry);
     }
 }
开发者ID:laurentprudhon,项目名称:TypeCobol,代码行数:9,代码来源:TypeCobolCodeElementBuilder.cs


示例3: EnterLibraryCopy

 public override void EnterLibraryCopy(CodeElementsParser.LibraryCopyContext context)
 {
     var copy = new LibraryCopyCodeElement();
     if (context.UserDefinedWord() != null) { // TCRFUN_LIBRARY_COPY
     var value = CobolWordsBuilder.CreateAlphanumericValue(context.UserDefinedWord());
     copy.Name = new SymbolDefinition(value, SymbolType.FileName);//TODO#278 eww!
     }
     Context = context;
     CodeElement = copy;
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:10,代码来源:TypeCobolCodeElementBuilder.cs


示例4: EnterAcceptStatement

 // --- ACCEPT ---
 public override void EnterAcceptStatement(CodeElementsParser.AcceptStatementContext context)
 {
     Context = context;
     if (context.acceptDataTransfer() != null) {
         CodeElement = CobolStatementsBuilder.CreateAcceptDataTransferStatement(context.acceptDataTransfer());
     } else
     if(context.acceptSystemDateTime() != null) {
         CodeElement = CobolStatementsBuilder.CreateAcceptSystemDateTime(context.acceptSystemDateTime());
     }
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:11,代码来源:CobolCodeElementBuilder.cs


示例5: EnterFunctionDeclarationHeader

 public override void EnterFunctionDeclarationHeader(CodeElementsParser.FunctionDeclarationHeaderContext context)
 {
     var visibility = context.PUBLIC() != null ? AccessModifier.Public : AccessModifier.Private;
     QualifiedName name = null;
     if (context.UserDefinedWord() != null) {
     var token = ParseTreeUtils.GetTokenFromTerminalNode(context.UserDefinedWord());
     name = new URI(token.Text);
     }
     Context = context;
     CodeElement = new FunctionDeclarationHeader(name, visibility);
 }
开发者ID:laurentprudhon,项目名称:TypeCobol,代码行数:11,代码来源:TypeCobolCodeElementBuilder.cs


示例6: CreateAlphanumericVariable

 internal AlphanumericVariable CreateAlphanumericVariable(CodeElementsParser.AlphanumericVariable1Context context)
 {
     if (context.identifier() != null)
     {
         return new AlphanumericVariable(
             CreateIdentifier(context.identifier()));
     }
     else
     {
         return new AlphanumericVariable(
             CobolWordsBuilder.CreateAlphanumericValue(context.alphanumericValue3()));
     }
 }
开发者ID:laurentprudhon,项目名称:TypeCobol,代码行数:13,代码来源:CobolExpressionsBuilder.cs


示例7: EnterAddStatement

 ////////////////
 // PARAGRAPHS //
 ////////////////
 // STATEMENTS
 ////////////////
 // --- ARITHMETIC STATEMENTS ---
 public override void EnterAddStatement(CodeElementsParser.AddStatementContext context)
 {
     Context = context;
     if(context.addSimple() != null) {
         CodeElement = CobolStatementsBuilder.CreateAddStatement(context.addSimple());
     } else
     if (context.addGiving() != null) {
         CodeElement = CobolStatementsBuilder.CreateAddGivingStatement(context.addGiving());
     } else
     if (context.addCorresponding() != null) {
         CodeElement = CobolStatementsBuilder.CreateAddCorrespondingStatement(context.addCorresponding());
     }
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:19,代码来源:CobolCodeElementBuilder.cs


示例8: CreateFunctionDataParameter

 public ParameterDescriptionEntry CreateFunctionDataParameter(CodeElementsParser.FunctionDataParameterContext context)
 {
     var parameter = new ParameterDescriptionEntry();
     parameter.LevelNumber = new GeneratedIntegerValue(1);
     parameter.DataName = CobolWordsBuilder.CreateDataNameDefinition(context.dataNameDefinition());
     if (context.pictureClause() != null) {
     parameter.Picture = CobolWordsBuilder.CreateAlphanumericValue(context.pictureClause().pictureCharacterString);
     parameter.DataType = DataType.Create(parameter.Picture.Value);
     } else {
     parameter.CustomType = CobolWordsBuilder.CreateAlphanumericValue(context.cobol2002TypeClause());
     parameter.DataType = DataType.CreateCustom(parameter.CustomType.Value);
     }
     //TODO#245: subphrases
     return parameter;
 }
开发者ID:laurentprudhon,项目名称:TypeCobol,代码行数:15,代码来源:TypeCobolCodeElementBuilder.cs


示例9: CreateAddressOfSpecialRegister

 internal StorageArea CreateAddressOfSpecialRegister(CodeElementsParser.AddressOfSpecialRegisterContext context)
 {
     var specialRegister = new StorageAreaPropertySpecialRegister(
         ParseTreeUtils.GetFirstToken(context.ADDRESS()),
         CreateStorageAreaReference(context.storageAreaReference()));
     if (specialRegister.DataDescriptionEntry != null)
     {
         var dataDescription = specialRegister.DataDescriptionEntry;
         CobolWordsBuilder.symbolInformationForTokens[specialRegister.DataDescriptionEntry.DataName.NameLiteral.Token] = specialRegister.DataDescriptionEntry.DataName;
     }
     if (specialRegister.SymbolReference != null)
     {
         CobolWordsBuilder.symbolInformationForTokens[specialRegister.SymbolReference.NameLiteral.Token] = specialRegister.SymbolReference;
     }
     return specialRegister;
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:16,代码来源:CobolExpressionsBuilder.cs


示例10: EnterFunctionDeclarationHeader

        public override void EnterFunctionDeclarationHeader(CodeElementsParser.FunctionDeclarationHeaderContext context)
        {
            var type = FunctionType.Undefined;
            if (context.PROCEDURE() != null) type = FunctionType.Procedure;
            if (context.FUNCTION()  != null) type = FunctionType.Function;

            // TCRFUN_NO_DEFAULT_ACCESS_MODIFIER
            // As the grammar enforces that there must be one least one of the PUBLIC or PRIVATE keywords,
            // there will be a syntax error if there is neither of these two keywords.
            // So, the fact of considering a function PRIVATE by default does not break this rule.
            var visibility = context.PUBLIC() != null ? AccessModifier.Public : AccessModifier.Private;

            SymbolDefinition name = null;
            if (context.functionNameDefinition() != null) {
            name = CobolWordsBuilder.CreateFunctionNameDefinition(context.functionNameDefinition());
            }
            Context = context;
            CodeElement = new FunctionDeclarationHeader(name, visibility, type);
        }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:19,代码来源:TypeCobolCodeElementBuilder.cs


示例11: EnterEnvironmentDivisionHeader

 //////////////////////////
 // ENVIRONMENT DIVISION //
 //////////////////////////
 public override void EnterEnvironmentDivisionHeader(CodeElementsParser.EnvironmentDivisionHeaderContext context)
 {
     Context = context;
     CodeElement = new EnvironmentDivisionHeader();
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:8,代码来源:CobolCodeElementBuilder.cs


示例12: EnterFileDescriptionEntry

        // FILE DESCRIPTION ENTRY
        ////////////////////////////
        public override void EnterFileDescriptionEntry(CodeElementsParser.FileDescriptionEntryContext context)
        {
            var entry = new FileDescriptionEntry();

            if (context.FD() != null)
                entry.LevelIndicator = new SyntaxProperty<FileDescriptionType>(FileDescriptionType.File, ParseTreeUtils.GetFirstToken(context.FD()));
            else
            if (context.SD() != null)
                entry.LevelIndicator = new SyntaxProperty<FileDescriptionType>(FileDescriptionType.SortMergeFile, ParseTreeUtils.GetFirstToken(context.SD()));

            entry.FileName = CobolWordsBuilder.CreateFileNameReference(context.fileNameReference());

            if (context.externalClause() != null && context.externalClause().Length > 0) {
                var externalClauseContext = context.externalClause()[0];
                entry.IsExternal = new SyntaxProperty<bool>(true, ParseTreeUtils.GetFirstToken(externalClauseContext.EXTERNAL()));
            }
            if (context.globalClause() != null && context.globalClause().Length > 0) {
                var globalClauseContext = context.globalClause()[0];
                entry.IsGlobal = new SyntaxProperty<bool>(true, ParseTreeUtils.GetFirstToken(globalClauseContext.GLOBAL()));
            }
            if (context.blockContainsClause() != null && context.blockContainsClause().Length > 0) {
                var blockContainsClauseContext = context.blockContainsClause()[0];
                entry.MaxBlockSize = CobolWordsBuilder.CreateIntegerValue(blockContainsClauseContext.maxNumberOfBytes);
                if (blockContainsClauseContext.minNumberOfBytes != null) {
                    entry.MinBlockSize = CobolWordsBuilder.CreateIntegerValue(blockContainsClauseContext.minNumberOfBytes);
                }
                if (blockContainsClauseContext.CHARACTERS() != null) {
                    entry.BlockSizeUnit = new SyntaxProperty<BlockSizeUnit>(BlockSizeUnit.Characters,
                        ParseTreeUtils.GetFirstToken(blockContainsClauseContext.CHARACTERS()));
                } else
                if (blockContainsClauseContext.RECORDS() != null) {
                    entry.BlockSizeUnit = new SyntaxProperty<BlockSizeUnit>(BlockSizeUnit.Records, ParseTreeUtils.GetFirstToken(blockContainsClauseContext.RECORDS()));
                }
            }
            if (context.recordClause() != null && context.recordClause().Length > 0) {
                var recordClauseContext = context.recordClause()[0];
                if (recordClauseContext.numberOfBytes != null) {
                    entry.MinRecordSize = CobolWordsBuilder.CreateIntegerValue(recordClauseContext.numberOfBytes);
                    entry.MaxRecordSize = entry.MinRecordSize;
                } else
                if (recordClauseContext.minNumberOfBytes != null) {
                    entry.MinRecordSize = CobolWordsBuilder.CreateIntegerValue(recordClauseContext.minNumberOfBytes);
                    entry.MaxRecordSize = CobolWordsBuilder.CreateIntegerValue(recordClauseContext.maxNumberOfBytes);
                } else
                if (recordClauseContext.VARYING() != null) {
                    if (recordClauseContext.fromNumberOfBytes != null)
                        entry.MinRecordSize = CobolWordsBuilder.CreateIntegerValue(recordClauseContext.fromNumberOfBytes);
                    if (recordClauseContext.toNumberOfBytes != null)
                        entry.MaxRecordSize = CobolWordsBuilder.CreateIntegerValue(recordClauseContext.toNumberOfBytes);
                    if (recordClauseContext.dataNameReference() != null)
                        entry.RecordSizeDependingOn = CobolWordsBuilder.CreateDataNameReference(recordClauseContext.dataNameReference());
                }
            }
            if (context.labelRecordsClause() != null && context.labelRecordsClause().Length > 0) {
                var labelRecordClauseContext = context.labelRecordsClause()[0];
                if (labelRecordClauseContext.STANDARD() != null) {
                    entry.LabelRecordType = new SyntaxProperty<LabelRecordType>(LabelRecordType.StandardLabels, ParseTreeUtils.GetFirstToken(labelRecordClauseContext.STANDARD()));
                }
                if (labelRecordClauseContext.OMITTED() != null) {
                    entry.LabelRecordType = new SyntaxProperty<LabelRecordType>(LabelRecordType.Omitted, ParseTreeUtils.GetFirstToken(labelRecordClauseContext.OMITTED()));
                } else
                if (labelRecordClauseContext.dataNameReference() != null && labelRecordClauseContext.dataNameReference().Length > 0) {
                    entry.LabelRecords = new SymbolReference[labelRecordClauseContext.dataNameReference().Length];
                    for (int i = 0; i < labelRecordClauseContext.dataNameReference().Length; i++)
                        entry.LabelRecords[i] = CobolWordsBuilder.CreateDataNameReference(labelRecordClauseContext.dataNameReference()[i]);
                }
            }
            if (context.valueOfClause() != null && context.valueOfClause().Length > 0) {
                var valueOfClauseContext = context.valueOfClause()[0];
                entry.ValueOfLabelRecords = new Dictionary<SymbolReference, Variable>();
                for (int i = 0; i < valueOfClauseContext.qualifiedDataName().Length; i++) {
                    entry.ValueOfLabelRecords.Add(
                        CobolWordsBuilder.CreateQualifiedDataName(valueOfClauseContext.qualifiedDataName()[i]),
                        CobolExpressionsBuilder.CreateVariable(valueOfClauseContext.variable5()[i]));
                }
            }
            if (context.dataRecordsClause() != null && context.dataRecordsClause().Length > 0) {
                var dataRecordClauseContext = context.dataRecordsClause()[0];
                entry.DataRecords = new SymbolReference[dataRecordClauseContext.dataNameReference().Length];
                for (int i = 0; i < dataRecordClauseContext.dataNameReference().Length; i++)
                    entry.DataRecords[i] = CobolWordsBuilder.CreateDataNameReference(dataRecordClauseContext.dataNameReference()[i]);
            }
            if (context.linageClause() != null && context.linageClause().Length > 0) {
                var linageClauseContext = context.linageClause()[0];
                if (linageClauseContext.numberOfLinesInPage != null)
                    entry.LogicalPageBodyLineCount = CobolExpressionsBuilder.CreateIntegerVariable(linageClauseContext.numberOfLinesInPage);
                if (linageClauseContext.firstLineNumberOfFootingArea != null)
                    entry.LogicalPageFootingLineNumber = CobolExpressionsBuilder.CreateIntegerVariable(linageClauseContext.firstLineNumberOfFootingArea);
                if (linageClauseContext.numberOfLinesInTopMargin != null)
                    entry.LogicalPageTopMarginLineCount = CobolExpressionsBuilder.CreateIntegerVariable(linageClauseContext.numberOfLinesInTopMargin);
                if (linageClauseContext.numberOfLinesInBottomMargin != null)
                    entry.LogicalPageBottomMarginLineCount = CobolExpressionsBuilder.CreateIntegerVariable(linageClauseContext.numberOfLinesInBottomMargin);
            }
            if (context.recordingModeClause() != null && context.recordingModeClause().Length > 0) {
                var recordingModeClauseContext = context.recordingModeClause()[0];
                entry.RecordingMode = CobolWordsBuilder.CreateRecordingMode(recordingModeClauseContext.recordingMode());
            }

//.........这里部分代码省略.........
开发者ID:osmedile,项目名称:TypeCobol,代码行数:101,代码来源:CobolCodeElementBuilder.cs


示例13: EnterFileControlParagraphHeader

 public override void EnterFileControlParagraphHeader(CodeElementsParser.FileControlParagraphHeaderContext context)
 {
     Context = context;
     CodeElement = new FileControlParagraphHeader();
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:5,代码来源:CobolCodeElementBuilder.cs


示例14: EnterDivideStatement

 public override void EnterDivideStatement(CodeElementsParser.DivideStatementContext context)
 {
     Context = context;
     if (context.divideSimple() != null) {
         CodeElement = CobolStatementsBuilder.CreateDivideStatement(context.divideSimple());
     } else
     if (context.divideGiving() != null) {
         CodeElement = CobolStatementsBuilder.CreateDivideGivingStatement(context.divideGiving());
     } else
     if (context.divideRemainder() != null) {
         CodeElement = CobolStatementsBuilder.CreateDivideRemainderStatement(context.divideRemainder());
     }
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:13,代码来源:CobolCodeElementBuilder.cs


示例15: EnterFileControlEntry

        public override void EnterFileControlEntry(CodeElementsParser.FileControlEntryContext context)
        {
            var entry = new FileControlEntry();

            if (context.selectClause() != null)
            {
                entry.FileName = CobolWordsBuilder.CreateFileNameDefinition(context.selectClause().fileNameDefinition());
                if (context.selectClause().OPTIONAL() != null)
                {
                    entry.IsOptional = new SyntaxProperty<bool>(true,
                        ParseTreeUtils.GetFirstToken(context.selectClause().OPTIONAL()));
                }
            }
            if (context.assignClause() != null && context.assignClause().Length > 0)
            {
                var assignClauseContext = context.assignClause()[0];
                entry.ExternalDataSet = CobolWordsBuilder.CreateAssignmentName(assignClauseContext.assignmentName()[0]);
            }
            if (context.reserveClause() != null && context.reserveClause().Length > 0)
            {
                var reserveClauseContext = context.reserveClause()[0];
                entry.ReserveIOBuffersCount = CobolWordsBuilder.CreateIntegerValue(reserveClauseContext.integerValue());
            }
            if (context.accessModeClause() != null && context.accessModeClause().Length > 0)
            {
                var accessModeClauseContext = context.accessModeClause()[0];
                if (accessModeClauseContext.SEQUENTIAL() != null)
                {
                    entry.AccessMode = new SyntaxProperty<FileAccessMode>(FileAccessMode.Sequential,
                        ParseTreeUtils.GetFirstToken(accessModeClauseContext.SEQUENTIAL()));
                }
                else if (accessModeClauseContext.RANDOM() != null)
                {
                    entry.AccessMode = new SyntaxProperty<FileAccessMode>(FileAccessMode.Random,
                        ParseTreeUtils.GetFirstToken(accessModeClauseContext.RANDOM()));
                }
                else if (accessModeClauseContext.DYNAMIC() != null)
                {
                    entry.AccessMode = new SyntaxProperty<FileAccessMode>(FileAccessMode.Dynamic,
                        ParseTreeUtils.GetFirstToken(accessModeClauseContext.DYNAMIC()));
                }
            }
            if (context.fileStatusClause() != null && context.fileStatusClause().Length > 0)
            {
                var fileStatusClauseContext = context.fileStatusClause()[0];
                entry.FileStatus = CobolExpressionsBuilder.CreateStorageArea(fileStatusClauseContext.fileStatus);
                if (fileStatusClauseContext.vsamReturnCode != null)
                {
                    entry.VSAMReturnCode = CobolExpressionsBuilder.CreateStorageArea(fileStatusClauseContext.vsamReturnCode);
                }
            }

            SyntaxProperty<FileRecordsOrganization> recordsOrganization = null;
            CharacterVariable paddingCharacter = null;
            Token recordDelimiter = null;
            SymbolReference recordKey = null;
            AlternateRecordKey[] alternateRecordKeys = null;
            SymbolReference relativeKey = null;
            SymbolReference password = null;
            if (context.organizationClause() != null && context.organizationClause().Length > 0)
            {
                var organizationClauseContext = context.organizationClause()[0];
                if (organizationClauseContext.SEQUENTIAL() != null)
                {
                    recordsOrganization = new SyntaxProperty<FileRecordsOrganization>(FileRecordsOrganization.Sequential,
                        ParseTreeUtils.GetFirstToken(organizationClauseContext.SEQUENTIAL()));
                }
                else if (organizationClauseContext.INDEXED() != null)
                {
                    recordsOrganization = new SyntaxProperty<FileRecordsOrganization>(FileRecordsOrganization.Indexed,
                        ParseTreeUtils.GetFirstToken(organizationClauseContext.INDEXED()));
                }
                else if (organizationClauseContext.RELATIVE() != null)
                {
                    recordsOrganization = new SyntaxProperty<FileRecordsOrganization>(FileRecordsOrganization.Relative,
                        ParseTreeUtils.GetFirstToken(organizationClauseContext.RELATIVE()));
                }
                if (organizationClauseContext.LINE() != null)
                {
                    recordsOrganization = new SyntaxProperty<FileRecordsOrganization>(FileRecordsOrganization.LineSequential,
                        ParseTreeUtils.GetFirstToken(organizationClauseContext.LINE()));
                }
            }
            if (context.paddingCharacterClause() != null && context.paddingCharacterClause().Length > 0)
            {
                var paddingCharacterClauseContext = context.paddingCharacterClause()[0];
                paddingCharacter = CobolExpressionsBuilder.CreateCharacterVariable(paddingCharacterClauseContext.characterVariable());
            }
            if (context.recordDelimiterClause() != null && context.recordDelimiterClause().Length > 0)
            {
                var recordDelimiterClauseContext = context.recordDelimiterClause()[0];
                if (recordDelimiterClauseContext.STANDARD_1() != null)
                {
                    recordDelimiter = ParseTreeUtils.GetFirstToken(recordDelimiterClauseContext.STANDARD_1());
                }
                else if (recordDelimiterClauseContext.literalOrUserDefinedWordOReservedWordExceptCopy() != null)
                {
                    recordDelimiter = ParseTreeUtils.GetFirstToken(recordDelimiterClauseContext.literalOrUserDefinedWordOReservedWordExceptCopy());
                }
            }
//.........这里部分代码省略.........
开发者ID:osmedile,项目名称:TypeCobol,代码行数:101,代码来源:CobolCodeElementBuilder.cs


示例16: EnterFactoryIdentification

 // FACTORY IDENTIFICATION
 ////////////////////////////
 public override void EnterFactoryIdentification(CodeElementsParser.FactoryIdentificationContext context)
 {
     Context = context;
     CodeElement = new FactoryIdentification();
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:7,代码来源:CobolCodeElementBuilder.cs


示例17: EnterIoControlEntry

        public override void EnterIoControlEntry(CodeElementsParser.IoControlEntryContext context)
        {
            IOControlEntry entry = null;
            if (context.rerunClause() != null)
            {
                var rerunClauseContext = context.rerunClause();
                var rerunEntry = new RerunIOControlEntry();
                rerunEntry.OnExternalDataSetOrFileName = CobolWordsBuilder.CreateAssignmentNameOrFileNameReference(
                    rerunClauseContext.assignmentNameOrFileNameReference());
                if (rerunClauseContext.RECORDS() != null)
                {
                    rerunEntry.CheckPointFrequency = new SyntaxProperty<CheckPointFrequency>(CheckPointFrequency.EveryRecordCount,
                        ParseTreeUtils.GetFirstToken(rerunClauseContext.RECORDS()));
                    rerunEntry.EveryRecordCount = CobolWordsBuilder.CreateIntegerValue(rerunClauseContext.integerValue());
                }
                else if (rerunClauseContext.REEL() != null)
                {
                    rerunEntry.CheckPointFrequency = new SyntaxProperty<CheckPointFrequency>(CheckPointFrequency.EveryEndOfReelUnit,
                        ParseTreeUtils.GetFirstToken(rerunClauseContext.REEL()));
                }
                else if (rerunClauseContext.UNIT() != null)
                {
                    rerunEntry.CheckPointFrequency = new SyntaxProperty<CheckPointFrequency>(CheckPointFrequency.EveryEndOfReelUnit,
                        ParseTreeUtils.GetFirstToken(rerunClauseContext.UNIT()));
                }
                if (rerunClauseContext.fileNameReference() != null)
                {
                    rerunEntry.OfFileName = CobolWordsBuilder.CreateFileNameReference(rerunClauseContext.fileNameReference());
                }
                entry = rerunEntry;
            }
            else if (context.sameAreaClause() != null)
            {
                var sameAreaClauseContext = context.sameAreaClause();
                var sameAreaEntry = new SameAreaIOControlEntry();
                if (sameAreaClauseContext.RECORD() != null)
                {
                    sameAreaEntry.SameAreaType = new SyntaxProperty<SameAreaType>(SameAreaType.SameRecordArea,
                        ParseTreeUtils.GetFirstToken(sameAreaClauseContext.RECORD()));
                }
                else if (sameAreaClauseContext.SORT_ARG() != null)
                {
                    sameAreaEntry.SameAreaType = new SyntaxProperty<SameAreaType>(SameAreaType.SameSortArea,
                        ParseTreeUtils.GetFirstToken(sameAreaClauseContext.SORT_ARG()));
                }
                else if (sameAreaClauseContext.SORT_MERGE() != null)
                {
                    sameAreaEntry.SameAreaType = new SyntaxProperty<SameAreaType>(SameAreaType.SameSortMergeArea,
                        ParseTreeUtils.GetFirstToken(sameAreaClauseContext.SORT_MERGE()));
                }
                sameAreaEntry.FileNames = new SymbolReference[sameAreaClauseContext.fileNameReference().Length];
                for (int i = 0; i < sameAreaClauseContext.fileNameReference().Length; i++)
                {
                    var fileNameReferenceContext = sameAreaClauseContext.fileNameReference()[i];
                    sameAreaEntry.FileNames[i] = CobolWordsBuilder.CreateFileNameReference(fileNameReferenceContext);
                }
                entry = sameAreaEntry;
            }
            else if (context.multipleFileTapeClause() != null)
            {
                var multipleFTClauseContext = context.multipleFileTapeClause();
                var multipleFileEntry = new MultipleFileTapeIOControlEntry();
                multipleFileEntry.PhysicalReelOfTape = new PhysicalReelOfTape[multipleFTClauseContext.physicalReelOfTape().Length];
                for (int i = 0; i < multipleFTClauseContext.physicalReelOfTape().Length; i++)
                {
                    var physicalReelOfTapeContext = multipleFTClauseContext.physicalReelOfTape()[i];
                    var physicalReelOfTape = new PhysicalReelOfTape();
                    physicalReelOfTape.FileName = CobolWordsBuilder.CreateFileNameReference(physicalReelOfTapeContext.fileNameReference());
                    if (physicalReelOfTapeContext.integerValue() != null)
                    {
                        physicalReelOfTape.FilePosition = CobolWordsBuilder.CreateIntegerValue(physicalReelOfTapeContext.integerValue());
                    }
                    multipleFileEntry.PhysicalReelOfTape[i] = physicalReelOfTape;
                }
                entry = multipleFileEntry;
            }
            else if (context.applyWriteOnlyClause() != null)
            {
                var applyWOClauseContext = context.applyWriteOnlyClause();
                var applyWOEntry = new ApplyWriteOnlyIOControlEntry();
                applyWOEntry.FileNames = new SymbolReference[applyWOClauseContext.fileNameReference().Length];
                for (int i = 0; i < applyWOClauseContext.fileNameReference().Length; i++)
                {
                    var fileNameReferenceContext = applyWOClauseContext.fileNameReference()[i];
                    applyWOEntry.FileNames[i] = CobolWordsBuilder.CreateFileNameReference(fileNameReferenceContext);
                }
                entry = applyWOEntry;
            }

            Context = context;
            CodeElement = entry;
        }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:92,代码来源:CobolCodeElementBuilder.cs


示例18: EnterInvalidKeyCondition

 public override void EnterInvalidKeyCondition(CodeElementsParser.InvalidKeyConditionContext context)
 {
     Context = context;
     CodeElement = new InvalidKeyCondition();
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:5,代码来源:CobolCodeElementBuilder.cs


示例19: EnterGotoStatement

 // --- GOTO ---
 public override void EnterGotoStatement(CodeElementsParser.GotoStatementContext context)
 {
     Context = context;
     if (context.gotoSimple() != null) {
         CodeElement = CobolStatementsBuilder.CreateGotoStatement(context.gotoSimple());
     }
     if (context.gotoConditional() != null) {
         CodeElement = CobolStatementsBuilder.CreateGotoConditionalStatement(context.gotoConditional());
     }
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:11,代码来源:CobolCodeElementBuilder.cs


示例20: EnterFileSectionHeader

 public override void EnterFileSectionHeader(CodeElementsParser.FileSectionHeaderContext context)
 {
     Context = context;
     CodeElement = new FileSectionHeader();
 }
开发者ID:osmedile,项目名称:TypeCobol,代码行数:5,代码来源:CobolCodeElementBuilder.cs



注:本文中的CodeElementsParser类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# CodeExpression类代码示例发布时间:2022-05-24
下一篇:
C# CodeElement类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap