Beispiel #1
0
        protected void GenerateTranslationUnit(
            CParser.TranslationUnitContext translationUnit)
        {
            var externalDeclarationStack = translationUnit.RBAExternalDeclarationStack();

            while (externalDeclarationStack.Count > 0)
            {
                GenerateExternalDeclaration(externalDeclarationStack.Pop());
            }
        }
        private void AnalyzeTranslationUnit(
            CParser.TranslationUnitContext translationUnit)
        {
            var externalDeclarationStack
                = translationUnit.RBAExternalDeclarationStack();

            while (externalDeclarationStack.Count > 0)
            {
                AnalyzeExternalDeclaration(externalDeclarationStack.Pop());
            }
        }
        RBAExternalDeclarationStack(
            this CParser.TranslationUnitContext translationUnit)
        {
            var localTranslationUnit = translationUnit;
            var externalDeclarationStack
                = new Stack <CParser.ExternalDeclarationContext>();

            while (localTranslationUnit.translationUnit() != null)
            {
                externalDeclarationStack
                .Push(localTranslationUnit.externalDeclaration());

                localTranslationUnit = localTranslationUnit.translationUnit();
            }

            externalDeclarationStack
            .Push(localTranslationUnit.externalDeclaration());

            return(externalDeclarationStack);
        }