本文整理汇总了C#中CodeElementsParser类的典型用法代码示例。如果您正苦于以下问题:C# CodeElementsParser类的具体用法?C# CodeElementsParser怎么用?C# CodeElementsParser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CodeElementsParser类属于命名空间,在下文中一共展示了CodeElementsParser类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例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);
}
}
示例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;
}
示例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());
}
}
示例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);
}
示例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()));
}
}
示例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());
}
}
示例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;
}
示例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;
}
示例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);
}
示例11: EnterEnvironmentDivisionHeader
//////////////////////////
// ENVIRONMENT DIVISION //
//////////////////////////
public override void EnterEnvironmentDivisionHeader(CodeElementsParser.EnvironmentDivisionHeaderContext context)
{
Context = context;
CodeElement = new EnvironmentDivisionHeader();
}
示例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());
}
//.........这里部分代码省略.........
示例13: EnterFileControlParagraphHeader
public override void EnterFileControlParagraphHeader(CodeElementsParser.FileControlParagraphHeaderContext context)
{
Context = context;
CodeElement = new FileControlParagraphHeader();
}
示例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());
}
}
示例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());
}
}
//.........这里部分代码省略.........