Esempio n. 1
0
        /// <summary>
        /// Строит граф грамматики. Для наглядного отображения
        /// </summary>
        public void BuildGrammarGraph()
        {
            GrammarGraph = new tGraph();
            // строим вершины графа грамматики
            //foreach (string lNotTermName in Rules.Keys) //AllNotTerminals.Keys) так ошибка, когда есть неиспользуемые правила
            //{
            //  GrammarGraph.addNode(lNotTermName);
            //}
            GrammarGraph.addNode(MainSymbol.Text);

            BuildGraphContext context = new BuildGraphContext(this, GrammarGraph);

            mMainSymbol.Context         = context;
            mMainSymbol.Context.Visitor = new BuildGraphVisitor();
            mMainSymbol.Accept(context);
        }