Article View: pl.comp.lang.java
Article #152136lexical analizer
From: Ro 00
Date: Sat, 27 Feb 2021 06:23
Date: Sat, 27 Feb 2021 06:23
178 lines
7129 bytes
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.adapteeaptee; } public void actionPerformed(ActionEvent e){ adaptee.jTextField1ActionPerformed(e); } } class compilateur_jButton1_actionAdapter implements ActionListener{ private compilateur adaptee; compilateur_jButton1_actionAdapter(compilateur adapte){ this.adapteeaptee; } public void actionPerformed(ActionEvent e){ 175: adaptee.jButton1ActionPerformed(e); } } should i initialize variable : adaptee? & how?
Message-ID:
<34623d23-a59a-454a-aa79-ac7523786742n@googlegroups.com>
Path:
polish.pugleaf.net!archive.newsdeef.eu!archive!apf2.newsdeef.eu!not-for-mail