public override void EnterConfigurationSection(ProgramClassParser.ConfigurationSectionContext context) { var terminal = context.ConfigurationSectionHeader(); var header = terminal != null? (ConfigurationSectionHeader)terminal.Symbol : null; Enter(new ConfigurationSection(header), context); var paragraphs = new List<CodeElement>(); foreach(var paragraph in context.configurationParagraph()) { if (paragraph.SourceComputerParagraph() != null) { Enter(new SourceComputer((SourceComputerParagraph)paragraph.SourceComputerParagraph().Symbol)); Exit(); } if (paragraph.ObjectComputerParagraph() != null) { Enter(new ObjectComputer((ObjectComputerParagraph)paragraph.ObjectComputerParagraph().Symbol)); Exit(); } if (paragraph.SpecialNamesParagraph() != null) { Enter(new SpecialNames((SpecialNamesParagraph)paragraph.SpecialNamesParagraph().Symbol)); Exit(); } if (paragraph.RepositoryParagraph() != null) { Enter(new Repository((RepositoryParagraph)paragraph.RepositoryParagraph().Symbol)); Exit(); } } }