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); }
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); } }
public OperatorKind GetOperatorInfo(KaleidoscopeParser parser) { if (parser.BinOpPrecedence.TryGetValue(Op, out OperatorInfo entry)) { return(entry.Kind); } return(OperatorKind.None); }
public OperatorKind GetOperatorInfo(KaleidoscopeParser parser) { if (parser.UnaryOps.TryGetValue(Op, out OperatorInfo entry)) { return(entry.Kind); } return(OperatorKind.None); }
/// <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; }