Antlr4.Tool.DOTGenerator.GetDOT C# (CSharp) Method

GetDOT() public method

public GetDOT ( ATNState startState ) : string
startState Antlr4.Runtime.Atn.ATNState
return string
        public virtual string GetDOT(ATNState startState)
        {
            return GetDOT(startState, false);
        }

Same methods

DOTGenerator::GetDOT ( ATNState startState, bool isLexer ) : string
DOTGenerator::GetDOT ( ATNState startState, string ruleNames, bool isLexer ) : string
DOTGenerator::GetDOT ( DFA dfa, bool isLexer ) : string

Usage Example

Example #1
0
        public virtual void GenerateATNs(Grammar g)
        {
            DOTGenerator dotGenerator = new DOTGenerator(g);
            IList<Grammar> grammars = new List<Grammar>();
            grammars.Add(g);
            IList<Grammar> imported = g.GetAllImportedGrammars();
            if (imported != null)
            {
                foreach (Grammar importedGrammar in imported)
                    grammars.Add(importedGrammar);
            }

            foreach (Grammar ig in grammars)
            {
                foreach (Rule r in ig.rules.Values)
                {
                    try
                    {
                        string dot = dotGenerator.GetDOT(g.atn.ruleToStartState[r.index], g.IsLexer());
                        if (dot != null)
                        {
                            WriteDOTFile(g, r, dot);
                        }
                    }
                    catch (IOException ioe)
                    {
                        errMgr.ToolError(ErrorType.CANNOT_WRITE_FILE, ioe);
                    }
                }
            }
        }