🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
1 messages
1 total messages Started by Ro 00 Sat, 27 Feb 2021 06:23
lexical analizer
#152136
Author: Ro 00
Date: Sat, 27 Feb 2021 06:23
178 lines
7129 bytes
i tried to create an interface were the user inserts thepath of the file to analyze  in jTextField1 & when jButton1 clicked the process starts ...but i find a problem of Nullpointer at line 175 !
package compilateur;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.*;
import java.io.FileInputStream;

public class compilateur extends javax.swing.JFrame {
    JPanel contentPane;
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JLabel jLabel3 = new JLabel();
    JTextField jTextField1=new JTextField();
    JButton jButton1   = new JButton();
    JScrollPane jScrollPane1 = new JScrollPane();
    JScrollPane jScrollPane2 = new JScrollPane();
    JTextArea jTextArea1 = new JTextArea();
    JTextArea jTextArea2 = new JTextArea();






    public compilateur() {
        try{
            setDefaultCloseOperation(EXIT_ON_CLOSE);
        jbinit();
        }catch(Exception e){
            e.printStackTrace();

        }
    }
    public void jbinit()throws Exception{
        contentPane=(JPanel)getContentPane();
        contentPane.setLayout(null);
        setSize(new Dimension(470,500));
        setTitle("Analyseur Lexical");
        jLabel1.setFont(new java.awt.Font("Garamond",Font.BOLD,20));
        jLabel1.setText("Analyseur Lexical");
        jLabel1.setBounds(new Rectangle(125, 5, 160, 40));
        jLabel2.setText("Chemin");
        jLabel2.setBounds(new Rectangle(12, 45, 48, 24));
        jTextField1.setBounds(new Rectangle(55,55,178,22));
        jButton1.setBounds(new Rectangle(288,48,94,20));
        jButton1.setText("Compiler");
        jButton1.addActionListener(new compilateur_jButton1_actionAdapter(this));
        jTextField1.addActionListener(new compilateur_jTextField1_actionAdapter(this));
        jScrollPane1.setBounds(new Rectangle(12, 82, 372, 200));
        jLabel3.setText("Erreurs:");
        jLabel3.setBounds(new Rectangle(14,290,50,24));
        jScrollPane2.setBounds(new Rectangle(12, 310, 375, 100));
        contentPane.add(jLabel1);
        contentPane.add(jLabel2);
        contentPane.add(jTextField1);
        contentPane.add(jButton1);
        contentPane.add(jScrollPane1);
        contentPane.add(jLabel3);
        contentPane.add(jScrollPane2);
        jScrollPane1.getViewport().add(jTextArea1);
        jScrollPane2.getViewport().add(jTextArea2);




    }
        @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 575, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 648, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>



    public void jButton1ActionPerformed(ActionEvent e){
        jTextArea1.setText("_________Debut[Compilation Test]_________\n");
        try{
            Scanner scanner = new Scanner(new FileInputStream(jTextField1.getText()));
            scanner.next();
            while(scanner.car!=ScannerTest.EOF){
                jTextArea2.setText(scanner.err);
                jTextArea1.append("[ligne:"+scanner.ligne+"]");
                jTextArea1.append(ScannerTest.representation(scanner.car));
                if((scanner.car==ScannerTest.CHF)||
                        (scanner.car==ScannerTest.ID)||
                        (scanner.car==ScannerTest.PLUS)||
                        (scanner.car==ScannerTest.MOINS)||
                        (scanner.car==ScannerTest.MULT)||
                        (scanner.car==ScannerTest.DIV)||
                        (scanner.car==ScannerTest.DEC_DR)||
                        (scanner.car==ScannerTest.DEC_GH)||
                        (scanner.car==ScannerTest.INF)||
                        (scanner.car==ScannerTest.SUP)||
                        (scanner.car==ScannerTest.EGL)||
                        (scanner.car==ScannerTest.SUP_EGL)||
                        (scanner.car==ScannerTest.INF_EGL)||
                        (scanner.car==ScannerTest.DIF)||
                        (scanner.car==ScannerTest.AFF)||
                        (scanner.car==ScannerTest.NON_LOG)||
                        (scanner.car==ScannerTest.ET_LOG)||
                        (scanner.car==ScannerTest.OU_LOG)||
                        (scanner.car==ScannerTest.IF)||
                        (scanner.car==ScannerTest.FI)||
                        (scanner.car==ScannerTest.FLT)||
                        (scanner.car==ScannerTest.WR)||
                        (scanner.car==ScannerTest.RD)||
                        (scanner.car==ScannerTest.STR)||
                        (scanner.car==ScannerTest.ELSE)||
                        (scanner.car==ScannerTest.BOL)||
                        (scanner.car==ScannerTest.UNT)||
                        (scanner.car==ScannerTest.FL)||
                        (scanner.car==ScannerTest.INT)||
                        (scanner.car==ScannerTest.TR)||
                        (scanner.car==ScannerTest.RPT)||
                        (scanner.car==ScannerTest.WLE)||
                        (scanner.car==ScannerTest.ELW)){
                    jTextArea1.append("("+scanner.chars+")\n");
                }else{
                    jTextArea1.append("\n");
                }
                scanner.next();
            }
            scanner.close();
        }catch(IOException ex){
            //jTextArea1.append(ex);
            System.exit(-1);
        }
        jTextArea1.append("______Fin [Compilation Test]______/n");
    }
public void jTextField1ActionPerformed(ActionEvent e){

    }
}
 class compilateur_jTextField1_actionAdapter implements ActionListener{
        private compilateur adaptee;
        compilateur_jTextField1_actionAdapter(compilateur adaptee){
            this.adaptee­aptee;
        }
        public void actionPerformed(ActionEvent e){
            adaptee.jTextField1ActionPerformed(e);
        }
    }
    class compilateur_jButton1_actionAdapter implements ActionListener{
    private compilateur adaptee;
    compilateur_jButton1_actionAdapter(compilateur adapte){
    this.adaptee­aptee;
    }

    public void actionPerformed(ActionEvent e){
    175:    adaptee.jButton1ActionPerformed(e);
    }

    }
should i initialize variable : adaptee? & how?
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads