private static void Main(string[] args) { try { string input = ""; StringBuilder text = new StringBuilder(); Console.WriteLine("Input the chat."); // to type the EOF character and end the input: use CTRL+D, then press <enter> while ((input = Console.ReadLine()) != "\u0004") { text.AppendLine(input); } AntlrInputStream inputStream = new AntlrInputStream(text.ToString()); SpeakLexer speakLexer = new SpeakLexer(inputStream); CommonTokenStream commonTokenStream = new CommonTokenStream(speakLexer); SpeakParser speakParser = new SpeakParser(commonTokenStream); SpeakParser.ChatContext chatContext = speakParser.chat(); SpeakVisitor visitor = new SpeakVisitor(); visitor.Visit(chatContext); foreach (var line in visitor.Lines) { Console.WriteLine("{0} has said {1}", line.Person, line.Text); } } catch (Exception ex) { Console.WriteLine("Error: " + ex); } }
public void TestChat() { SpeakParser parser = Setup("john says \"hello\" \n michael says \"world\" \n"); SpeakParser.ChatContext context = parser.chat(); SpeakVisitor visitor = new SpeakVisitor(); visitor.Visit(context); Assert.AreEqual(2, visitor.Lines.Count); }
static void Main(string[] args) { AntlrInputStream inputStream = new AntlrInputStream(text.ToString()); Hemo speakLexer = new Hemo(inputStream); CommonTokenStream commonTokenStream = new CommonTokenStream(speakLexer); SpeakParser speakParser = new SpeakParser(commonTokenStream); SpeakParser.ChatContext chatContext = speakParser.chat(); SpeakVisitor visitor = new SpeakVisitor(); visitor.Visit(chatContext); }
private void button1_Click(object sender, EventArgs e) { string inputString = textBox1.Text; ICharStream inputStream = new AntlrInputStream(inputString.ToString()); ITokenSource speakLexer = new SpeakLexer(inputStream); CommonTokenStream commonTokenStream = new CommonTokenStream(speakLexer); SpeakParser speakParser = new SpeakParser(commonTokenStream); speakParser.BuildParseTree = true; IParseTree tree = speakParser.chat(); ParseTreeWalker walker = new ParseTreeWalker(); MyListener listener = new MyListener(); walker.Walk(listener, tree); output = listener.line; textBox1.Text = output; }
private void button1_Click(object sender, EventArgs e) { string inputString = textBox1.Text; ICharStream inputStream = new AntlrInputStream(inputString.ToString()); ITokenSource speakLexer = new SpeakLexer(inputStream); CommonTokenStream commonTokenStream = new CommonTokenStream(speakLexer); SpeakParser speakParser = new SpeakParser(commonTokenStream); speakParser.BuildParseTree = true; IParseTree tree = speakParser.chat(); textBox1.Text = tree.ToStringTree(); var treeNodeDrawable = new ASTTreeNode(tree); if (pictureBox1.Image != null) { pictureBox1.Image.Dispose(); pictureBox1.Image = null; } Image image = new VisualAST(treeNodeDrawable).Draw(); pictureBox1.Image = image; }