Ejemplo n.º 1
0
        public DgmlGenerator(KaleidoscopeParser recognizer)
        {
            Recognizer = recognizer;
            Graph.Categories.Add(new Category( )
            {
                Id = "TreeNode", Background = "White"
            });
            Graph.Categories.Add(new Category( )
            {
                Id = "HasException", Background = "Red"
            });
            Graph.Categories.Add(new Category( )
            {
                Id = "Terminal", Background = "LightSteelBlue"
            });
            var style = new Style
            {
                TargetType = "Node",
                Setter     = new List <Setter>
                {
                    new Setter( )
                    {
                        Property = "Style",
                        Value    = "glass"
                    }
                }
            };

            Graph.Styles.Add(style);
        }
Ejemplo n.º 2
0
        private void InitializeParser(string txt)
        {
            Lexer = new KaleidoscopeLexer(new AntlrInputStream(txt));
            if (LexErrorListener != null)
            {
                Lexer.AddErrorListener(LexErrorListener);
            }

            TokenStream = new CommonTokenStreamFix(Lexer);

            Parser = new KaleidoscopeParser(TokenStream)
            {
                LanguageLevel  = LanguageLevel,
                BuildParseTree = true,
                ErrorHandler   = ErrorStrategy,
            };

            Parser.AddParseListener(new DebugTraceListener(Parser));

            if (ParseErrorListener != null)
            {
                Parser.RemoveErrorListeners( );
                Parser.AddErrorListener(ParseErrorListener);
            }
        }
Ejemplo n.º 3
0
            public OperatorKind GetOperatorInfo(KaleidoscopeParser parser)
            {
                if (parser.BinOpPrecedence.TryGetValue(Op, out OperatorInfo entry))
                {
                    return(entry.Kind);
                }

                return(OperatorKind.None);
            }
Ejemplo n.º 4
0
            public OperatorKind GetOperatorInfo(KaleidoscopeParser parser)
            {
                if (parser.UnaryOps.TryGetValue(Op, out OperatorInfo entry))
                {
                    return(entry.Kind);
                }

                return(OperatorKind.None);
            }
Ejemplo n.º 5
0
 /// <summary>Initializes a new instance of the <see cref="DebugTraceListener"/> class.</summary>
 /// <param name="parser">Parser to use to resolve names when generating messages</param>
 public DebugTraceListener(KaleidoscopeParser parser)
 {
     Parser = parser;
 }