⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 astframe.java

📁 Java写的词法/语法分析器。可生成JAVA语言或者是C++的词法和语法分析器。并可产生语法分析树和对该树进行遍历
💻 JAVA
字号:
package antlr.debug.misc;/* ANTLR Translator Generator * Project led by Terence Parr at http://www.jGuru.com * Software rights: http://www.antlr.org/RIGHTS.html * * $Id: //depot/code/org.antlr/release/antlr-2.7.0/antlr/debug/misc/ASTFrame.java#1 $ */import antlr.*;import antlr.collections.AST;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.tree.*;public class ASTFrame extends JFrame {  // The initial width and height of the frame  static final int WIDTH = 200;  static final int HEIGHT = 300;  class MyTreeSelectionListener 	  implements TreeSelectionListener {	public void valueChanged (TreeSelectionEvent event) {	  TreePath path = event.getPath();	  System.out.println ("Selected: " + 		path.getLastPathComponent());	  Object elements[] = path.getPath();	  for (int i=0; i<elements.length; i++) {		System.out.print ("->" + elements[i]);	  }	  System.out.println ();	}  }public ASTFrame(String lab, AST r) {	super(lab);	// Create the TreeSelectionListener	TreeSelectionListener listener = new MyTreeSelectionListener();	JTreeASTPanel tp = new JTreeASTPanel(new JTreeASTModel(r), null);	Container content = getContentPane();	content.add(tp, BorderLayout.CENTER);	addWindowListener(new WindowAdapter() {		public void windowClosing(WindowEvent e) {			Frame f = (Frame) e.getSource();			f.setVisible(false);			f.dispose();			// System.exit(0);		}	});	setSize(WIDTH, HEIGHT);}  public static void main(String args[]) {	// Create the tree nodes	ASTFactory factory = new ASTFactory();	CommonAST r = (CommonAST)factory.create(0, "ROOT");	r.addChild((CommonAST)factory.create(0, "C1"));	r.addChild((CommonAST)factory.create(0, "C2"));	r.addChild((CommonAST)factory.create(0, "C3"));	ASTFrame frame = new ASTFrame("AST JTree Example", r);	frame.setVisible(true);  }  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -