public static void main(String[] args) throws Exception{
        ANTLRInputStream input=new ANTLRInputStream(new FileInputStream("sst/certifyBistatic.sst"));
        SSTLexer lexer=new SSTLexer(input);
        CommonTokenStream tokens=new CommonTokenStream(lexer);
        SSTParser parser=new SSTParser(tokens);
        SSTTreeModel model = new SSTTreeModel( parser.sstinput( ) );
        JTree tree = new JTree(model);
        tree.setCellRenderer( new TreeCellRenderer(){
            @Override
            public Component getTreeCellRendererComponent( JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus )
            {
                JLabel label = new JLabel(value.getClass( ).getSimpleName( ));
                if(value instanceof TerminalNode)
                	label.setText(((TerminalNode)value).getText());
            	if(value instanceof ReadContext)
            		label.setText("read");
            	if(value instanceof PrintContext)
            		label.setText("print");
            	if(value instanceof AssignmentContext)
            		label.setText("assignment");
                label.setOpaque( true );
                label.setBackground( selected?Color.lightGray:new Color(0,0,0,0) );
                return label;
            }}
        );
        tree.setRootVisible( false );
        JDialog dlg = new JDialog();
        dlg.setContentPane( tree );
        dlg.setSize( 500,500 );
        dlg.setDefaultCloseOperation( WindowConstants.DISPOSE_ON_CLOSE );
        dlg.setVisible( true );
    }