protected override void visitComponentDeclaration(Component declaration) { writer.Append(KeywordEnum.COMPONENT.ToString()).Append(' '); writer.AppendIdentifier(declaration); OptionalIsFormat format = Annotations.getAnnotation <OptionalIsFormat>(declaration); if (format != null && format.UseIs) { writer.Append(' ').Append(KeywordEnum.IS.ToString()); } writer.Indent().NewLine(); if (declaration.Generic.Count != 0) { output.getMiscellaneousElementOutput().generic(declaration.Generic); } if (declaration.Port.Count != 0) { output.getMiscellaneousElementOutput().port(declaration.Port); } writer.Dedent().Append(KeywordEnum.END.ToString()).Append(KeywordEnum.COMPONENT.ToString()); if (writer.Format.RepeatLabels) { writer.Append(' ').AppendIdentifier(declaration); } writer.Append(";").NewLine(); }
protected override void visitProcessStatement(AbstractProcessStatement statement) { appendLabel(statement); if (statement.Postponed) { writer.Append(KeywordEnum.POSTPONED.ToString()).Append(' '); } writer.Append(KeywordEnum.PROCESS.ToString()); if (statement.SensitivityList.Count != 0) { writer.Append("("); bool first = true; foreach (Signal signal in statement.SensitivityList) { if (first) { first = false; } else { writer.Append(", "); } if (signal == null) { writer.Append("null"); } else { writer.AppendIdentifier(signal); } } writer.Append(")"); } OptionalIsFormat format = Annotations.getAnnotation <OptionalIsFormat>(statement); if (format != null && format.UseIs) { writer.Append(' ').Append(KeywordEnum.IS.ToString()); } writer.NewLine().Indent(); output.writeDeclarationMarkers(statement.Declarations); writer.Dedent().Append(KeywordEnum.BEGIN.ToString()).NewLine().Indent(); output.writeSequentialStatements(statement.Statements); writer.Dedent().Append(KeywordEnum.END.ToString()); if (statement.Postponed && writer.Format.RepeatLabels) { writer.Append(' ').Append(KeywordEnum.POSTPONED.ToString()); } writer.Append(' '); writer.Append(KeywordEnum.PROCESS.ToString()); if (statement.Label != null && writer.Format.RepeatLabels) { writer.Append(' ').Append(statement.Label); } writer.Append(";").NewLine(); }
protected override void visitBlockStatement(BlockStatement statement) { appendLabel(statement); writer.Append(KeywordEnum.BLOCK.ToString()); if (statement.GuardExpression != null) { writer.Append("("); output.writeExpression(statement.GuardExpression); writer.Append(")"); } OptionalIsFormat format = Annotations.getAnnotation <OptionalIsFormat>(statement); if (format != null && format.UseIs) { writer.Append(' ').Append(KeywordEnum.IS.ToString()); } writer.NewLine().Indent(); if (statement.Generic.Count != 0) { output.getMiscellaneousElementOutput().generic(statement.Generic); if (statement.GenericMap.Count != 0) { writer.Append(KeywordEnum.GENERIC.ToString()).Append(KeywordEnum.MAP.ToString()).Append(" (").NewLine(); writer.Indent().BeginAlign(); output.getMiscellaneousElementOutput().genericMap(statement.GenericMap); writer.EndAlign().Dedent(); writer.Append(");").NewLine(); } } if (statement.Port.Count != 0) { output.getMiscellaneousElementOutput().port(statement.Port); if (statement.PortMap.Count != 0) { writer.Append(KeywordEnum.PORT.ToString()).Append(KeywordEnum.MAP.ToString()).Append(" (").NewLine(); writer.Indent().BeginAlign(); output.getMiscellaneousElementOutput().portMap(statement.PortMap); writer.EndAlign().Dedent(); writer.Append(");").NewLine(); } } output.writeDeclarationMarkers(statement.Declarations); writer.Dedent().Append(KeywordEnum.BEGIN.ToString()).NewLine(); writer.Indent(); visit(statement.Statements); writer.Dedent(); writer.Append(KeywordEnum.END.ToString()).Append(KeywordEnum.BLOCK.ToString()); if (writer.Format.RepeatLabels) { writer.Append(' ').Append(statement.Label); } writer.Append(";").NewLine(); }