zoukankan      html  css  js  c++  java
  • PL/0编译器(java version)

       1:  /*
       2:   * To change this license header, choose License Headers in Project Properties.
       3:   * To change this template file, choose Tools | Templates
       4:   * and open the template in the editor.
       5:   */
       6:  package compiler;
       7:   
       8:  import fileSystem.fileFilter;
       9:  import java.io.BufferedReader;
      10:  import java.io.BufferedWriter;
      11:  import java.io.File;
      12:  import java.io.FileReader;
      13:  import java.io.FileWriter;
      14:  import java.io.IOException;
      15:  import java.util.Vector;
      16:  import java.util.logging.Level;
      17:  import java.util.logging.Logger;
      18:  import javax.swing.ImageIcon;
      19:  import javax.swing.JFileChooser;
      20:  import javax.swing.JFrame;
      21:  import javax.swing.JOptionPane;
      22:  import javax.swing.table.DefaultTableModel;
      23:   
      24:  /**
      25:   *
      26:   * @author jiangnan
      27:   */
      28:  public class MainFrame extends javax.swing.JFrame {
      29:   
      30:      /**
      31:       * Creates new form Main
      32:       */
      33:      public MainFrame() {
      34:          initComponents();
      35:      }
      36:   
      37:      /**
      38:       * This method is called from within the constructor to initialize the form.
      39:       * WARNING: Do NOT modify this code. The content of this method is always
      40:       * regenerated by the Form Editor.
      41:       */
      42:      @SuppressWarnings("unchecked")
      43:      // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
      44:      private void initComponents() {
      45:   
      46:          jDialog1 = new javax.swing.JDialog();
      47:          jLabel3 = new javax.swing.JLabel();
      48:          jButton6 = new javax.swing.JButton();
      49:          jLabel2 = new javax.swing.JLabel();
      50:          jDialog3 = new javax.swing.JDialog();
      51:          jLayeredPane2 = new javax.swing.JLayeredPane();
      52:          jPanel9 = new javax.swing.JPanel();
      53:          jPanel11 = new javax.swing.JPanel();
      54:          jScrollPane8 = new javax.swing.JScrollPane();
      55:          jTextArea5 = new javax.swing.JTextArea();
      56:          jButton9 = new javax.swing.JButton();
      57:          jPanel10 = new javax.swing.JPanel();
      58:          jLabel10 = new javax.swing.JLabel();
      59:          runtimeFrame = new javax.swing.JFrame();
      60:          jLayeredPane3 = new javax.swing.JLayeredPane();
      61:          jPanel7 = new javax.swing.JPanel();
      62:          jLabel11 = new javax.swing.JLabel();
      63:          jScrollPane4 = new javax.swing.JScrollPane();
      64:          jTextArea3 = new javax.swing.JTextArea();
      65:          jLabel12 = new javax.swing.JLabel();
      66:          jScrollPane5 = new javax.swing.JScrollPane();
      67:          jTextArea6 = new javax.swing.JTextArea();
      68:          jButton8 = new javax.swing.JButton();
      69:          jButton10 = new javax.swing.JButton();
      70:          jPanel8 = new javax.swing.JPanel();
      71:          jLabel9 = new javax.swing.JLabel();
      72:          jLayeredPane1 = new javax.swing.JLayeredPane();
      73:          jPanel1 = new javax.swing.JPanel();
      74:          jPanel2 = new javax.swing.JPanel();
      75:          jScrollPane1 = new javax.swing.JScrollPane();
      76:          jTextArea1 = new javax.swing.JTextArea();
      77:          jLabel4 = new javax.swing.JLabel();
      78:          jPanel3 = new javax.swing.JPanel();
      79:          jScrollPane2 = new javax.swing.JScrollPane();
      80:          jTable1 = new javax.swing.JTable();
      81:          jLabel5 = new javax.swing.JLabel();
      82:          jScrollPane7 = new javax.swing.JScrollPane();
      83:          jTextArea4 = new javax.swing.JTextArea();
      84:          jPanel4 = new javax.swing.JPanel();
      85:          jScrollPane3 = new javax.swing.JScrollPane();
      86:          jTextArea2 = new javax.swing.JTextArea();
      87:          jLabel6 = new javax.swing.JLabel();
      88:          jPanel5 = new javax.swing.JPanel();
      89:          jTextField1 = new javax.swing.JTextField();
      90:          jButton2 = new javax.swing.JButton();
      91:          jButton1 = new javax.swing.JButton();
      92:          jButton3 = new javax.swing.JButton();
      93:          jButton4 = new javax.swing.JButton();
      94:          jButton5 = new javax.swing.JButton();
      95:          jLabel7 = new javax.swing.JLabel();
      96:          jLabel8 = new javax.swing.JLabel();
      97:          jButton7 = new javax.swing.JButton();
      98:          jPanel6 = new javax.swing.JPanel();
      99:          jLabel1 = new javax.swing.JLabel();
     100:          jMenuBar1 = new javax.swing.JMenuBar();
     101:          jMenu1 = new javax.swing.JMenu();
     102:          jMenuItem1 = new javax.swing.JMenuItem();
     103:          jMenuItem2 = new javax.swing.JMenuItem();
     104:          jMenuItem3 = new javax.swing.JMenuItem();
     105:          jSeparator1 = new javax.swing.JPopupMenu.Separator();
     106:          jMenuItem5 = new javax.swing.JMenuItem();
     107:          jMenu2 = new javax.swing.JMenu();
     108:          jMenu4 = new javax.swing.JMenu();
     109:          jMenuItem6 = new javax.swing.JMenuItem();
     110:          jSeparator2 = new javax.swing.JPopupMenu.Separator();
     111:          jMenuItem7 = new javax.swing.JMenuItem();
     112:          jMenu3 = new javax.swing.JMenu();
     113:          jMenuItem4 = new javax.swing.JMenuItem();
     114:   
     115:          jDialog1.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
     116:          jDialog1.setIconImage(image.getImage());
     117:   
     118:          jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/background4.jpg"))); // NOI18N
     119:   
     120:          jButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/PowerPoint.png"))); // NOI18N
     121:          jButton6.addActionListener(new java.awt.event.ActionListener() {
     122:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     123:                  jButton6ActionPerformed(evt);
     124:              }
     125:          });
     126:   
     127:          jLabel2.setFont(new java.awt.Font("微软雅黑", 1, 14)); // NOI18N
     128:          jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
     129:          jLabel2.setText("确定");
     130:   
     131:          javax.swing.GroupLayout jDialog1Layout = new javax.swing.GroupLayout(jDialog1.getContentPane());
     132:          jDialog1.getContentPane().setLayout(jDialog1Layout);
     133:          jDialog1Layout.setHorizontalGroup(
     134:              jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     135:              .addGroup(jDialog1Layout.createSequentialGroup()
     136:                  .addGap(0, 0, Short.MAX_VALUE)
     137:                  .addComponent(jLabel3)
     138:                  .addGap(0, 0, Short.MAX_VALUE))
     139:              .addGroup(jDialog1Layout.createSequentialGroup()
     140:                  .addGap(132, 132, 132)
     141:                  .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
     142:                      .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
     143:                      .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
     144:                  .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     145:          );
     146:          jDialog1Layout.setVerticalGroup(
     147:              jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     148:              .addGroup(jDialog1Layout.createSequentialGroup()
     149:                  .addComponent(jLabel3)
     150:                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
     151:                  .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
     152:                  .addGap(0, 0, Short.MAX_VALUE)
     153:                  .addComponent(jLabel2))
     154:          );
     155:   
     156:          jDialog3.setIconImage(image.getImage());
     157:   
     158:          jPanel9.setOpaque(false);
     159:   
     160:          jPanel11.setOpaque(false);
     161:   
     162:          jTextArea5.setEditable(false);
     163:          jTextArea5.setColumns(20);
     164:          jTextArea5.setFont(new java.awt.Font("微软雅黑", 0, 14)); // NOI18N
     165:          jTextArea5.setLineWrap(true);
     166:          jTextArea5.setRows(5);
     167:          jTextArea5.setOpaque(false);
     168:          jScrollPane8.setViewportView(jTextArea5);
     169:   
     170:          jButton9.setFont(new java.awt.Font("微软雅黑", 1, 14)); // NOI18N
     171:          jButton9.setText("确定");
     172:          jButton9.setOpaque(false);
     173:          jButton9.setPreferredSize(new java.awt.Dimension(100, 100));
     174:          jButton9.addActionListener(new java.awt.event.ActionListener() {
     175:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     176:                  jButton9ActionPerformed(evt);
     177:              }
     178:          });
     179:   
     180:          javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11);
     181:          jPanel11.setLayout(jPanel11Layout);
     182:          jPanel11Layout.setHorizontalGroup(
     183:              jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     184:              .addGroup(jPanel11Layout.createSequentialGroup()
     185:                  .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     186:                      .addGroup(jPanel11Layout.createSequentialGroup()
     187:                          .addGap(211, 211, 211)
     188:                          .addComponent(jButton9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
     189:                      .addGroup(jPanel11Layout.createSequentialGroup()
     190:                          .addGap(20, 20, 20)
     191:                          .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 479, javax.swing.GroupLayout.PREFERRED_SIZE)))
     192:                  .addContainerGap(30, Short.MAX_VALUE))
     193:          );
     194:          jPanel11Layout.setVerticalGroup(
     195:              jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     196:              .addGroup(jPanel11Layout.createSequentialGroup()
     197:                  .addContainerGap()
     198:                  .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 246, javax.swing.GroupLayout.PREFERRED_SIZE)
     199:                  .addGap(18, 18, 18)
     200:                  .addComponent(jButton9, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
     201:                  .addContainerGap(48, Short.MAX_VALUE))
     202:          );
     203:   
     204:          javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
     205:          jPanel9.setLayout(jPanel9Layout);
     206:          jPanel9Layout.setHorizontalGroup(
     207:              jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     208:              .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
     209:          );
     210:          jPanel9Layout.setVerticalGroup(
     211:              jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     212:              .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
     213:          );
     214:   
     215:          jLabel10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/background3.jpg"))); // NOI18N
     216:   
     217:          javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
     218:          jPanel10.setLayout(jPanel10Layout);
     219:          jPanel10Layout.setHorizontalGroup(
     220:              jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     221:              .addGap(0, 529, Short.MAX_VALUE)
     222:              .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     223:                  .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 440, Short.MAX_VALUE))
     224:          );
     225:          jPanel10Layout.setVerticalGroup(
     226:              jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     227:              .addGap(0, 422, Short.MAX_VALUE)
     228:              .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     229:                  .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 422, Short.MAX_VALUE))
     230:          );
     231:   
     232:          javax.swing.GroupLayout jLayeredPane2Layout = new javax.swing.GroupLayout(jLayeredPane2);
     233:          jLayeredPane2.setLayout(jLayeredPane2Layout);
     234:          jLayeredPane2Layout.setHorizontalGroup(
     235:              jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     236:              .addGap(0, 529, Short.MAX_VALUE)
     237:              .addGroup(jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     238:                  .addComponent(jPanel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     239:              .addGroup(jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     240:                  .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     241:          );
     242:          jLayeredPane2Layout.setVerticalGroup(
     243:              jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     244:              .addGap(0, 422, Short.MAX_VALUE)
     245:              .addGroup(jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     246:                  .addComponent(jPanel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     247:              .addGroup(jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     248:                  .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     249:          );
     250:          jLayeredPane2.setLayer(jPanel9, javax.swing.JLayeredPane.DEFAULT_LAYER);
     251:          jLayeredPane2.setLayer(jPanel10, javax.swing.JLayeredPane.DEFAULT_LAYER);
     252:   
     253:          javax.swing.GroupLayout jDialog3Layout = new javax.swing.GroupLayout(jDialog3.getContentPane());
     254:          jDialog3.getContentPane().setLayout(jDialog3Layout);
     255:          jDialog3Layout.setHorizontalGroup(
     256:              jDialog3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     257:              .addGap(0, 529, Short.MAX_VALUE)
     258:              .addGroup(jDialog3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     259:                  .addComponent(jLayeredPane2))
     260:          );
     261:          jDialog3Layout.setVerticalGroup(
     262:              jDialog3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     263:              .addGap(0, 422, Short.MAX_VALUE)
     264:              .addGroup(jDialog3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     265:                  .addComponent(jLayeredPane2))
     266:          );
     267:   
     268:          runtimeFrame.setIconImage(image.getImage());
     269:   
     270:          jPanel7.setOpaque(false);
     271:   
     272:          jLabel11.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
     273:          jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
     274:          jLabel11.setText("INPUT");
     275:   
     276:          jScrollPane4.setOpaque(false);
     277:   
     278:          jTextArea3.setColumns(20);
     279:          jTextArea3.setFont(new java.awt.Font("Monaco", 0, 14)); // NOI18N
     280:          jTextArea3.setRows(5);
     281:          jTextArea3.setOpaque(false);
     282:          jScrollPane4.setViewportView(jTextArea3);
     283:   
     284:          jLabel12.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
     285:          jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
     286:          jLabel12.setText("OUTPUT");
     287:   
     288:          jScrollPane5.setOpaque(false);
     289:   
     290:          jTextArea6.setEditable(false);
     291:          jTextArea6.setColumns(20);
     292:          jTextArea6.setFont(new java.awt.Font("Monaco", 0, 14)); // NOI18N
     293:          jTextArea6.setRows(5);
     294:          jTextArea6.setOpaque(false);
     295:          jScrollPane5.setViewportView(jTextArea6);
     296:   
     297:          jButton8.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
     298:          jButton8.setText("RUN");
     299:          jButton8.setOpaque(false);
     300:          jButton8.addActionListener(new java.awt.event.ActionListener() {
     301:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     302:                  jButton8ActionPerformed(evt);
     303:              }
     304:          });
     305:   
     306:          jButton10.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
     307:          jButton10.setText("EXIT");
     308:          jButton10.addActionListener(new java.awt.event.ActionListener() {
     309:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     310:                  jButton10ActionPerformed(evt);
     311:              }
     312:          });
     313:   
     314:          javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
     315:          jPanel7.setLayout(jPanel7Layout);
     316:          jPanel7Layout.setHorizontalGroup(
     317:              jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     318:              .addGroup(jPanel7Layout.createSequentialGroup()
     319:                  .addGap(36, 36, 36)
     320:                  .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
     321:                      .addComponent(jButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)
     322:                      .addGroup(jPanel7Layout.createSequentialGroup()
     323:                          .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
     324:                              .addComponent(jLabel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
     325:                              .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE))
     326:                          .addGap(18, 18, 18)
     327:                          .addComponent(jButton8, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
     328:                          .addGap(28, 28, 28)
     329:                          .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
     330:                              .addComponent(jScrollPane5)
     331:                              .addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 209, javax.swing.GroupLayout.PREFERRED_SIZE))))
     332:                  .addContainerGap(90, Short.MAX_VALUE))
     333:          );
     334:          jPanel7Layout.setVerticalGroup(
     335:              jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     336:              .addGroup(jPanel7Layout.createSequentialGroup()
     337:                  .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     338:                      .addGroup(jPanel7Layout.createSequentialGroup()
     339:                          .addGap(62, 62, 62)
     340:                          .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
     341:                              .addComponent(jLabel12, javax.swing.GroupLayout.DEFAULT_SIZE, 42, Short.MAX_VALUE)
     342:                              .addComponent(jLabel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     343:                          .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
     344:                          .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
     345:                              .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 276, Short.MAX_VALUE)
     346:                              .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 276, Short.MAX_VALUE)))
     347:                      .addGroup(jPanel7Layout.createSequentialGroup()
     348:                          .addGap(148, 148, 148)
     349:                          .addComponent(jButton8, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
     350:                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
     351:                  .addComponent(jButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
     352:                  .addContainerGap(19, Short.MAX_VALUE))
     353:          );
     354:   
     355:          jLabel9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/background3.jpg"))); // NOI18N
     356:   
     357:          javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
     358:          jPanel8.setLayout(jPanel8Layout);
     359:          jPanel8Layout.setHorizontalGroup(
     360:              jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     361:              .addGap(0, 688, Short.MAX_VALUE)
     362:              .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     363:                  .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 688, Short.MAX_VALUE))
     364:          );
     365:          jPanel8Layout.setVerticalGroup(
     366:              jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     367:              .addGap(0, 454, Short.MAX_VALUE)
     368:              .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     369:                  .addGroup(jPanel8Layout.createSequentialGroup()
     370:                      .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 454, javax.swing.GroupLayout.PREFERRED_SIZE)
     371:                      .addGap(0, 0, Short.MAX_VALUE)))
     372:          );
     373:   
     374:          javax.swing.GroupLayout jLayeredPane3Layout = new javax.swing.GroupLayout(jLayeredPane3);
     375:          jLayeredPane3.setLayout(jLayeredPane3Layout);
     376:          jLayeredPane3Layout.setHorizontalGroup(
     377:              jLayeredPane3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     378:              .addGap(0, 688, Short.MAX_VALUE)
     379:              .addGroup(jLayeredPane3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     380:                  .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     381:              .addGroup(jLayeredPane3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     382:                  .addComponent(jPanel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     383:          );
     384:          jLayeredPane3Layout.setVerticalGroup(
     385:              jLayeredPane3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     386:              .addGap(0, 454, Short.MAX_VALUE)
     387:              .addGroup(jLayeredPane3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     388:                  .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     389:              .addGroup(jLayeredPane3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     390:                  .addGroup(jLayeredPane3Layout.createSequentialGroup()
     391:                      .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
     392:                      .addGap(0, 0, Short.MAX_VALUE)))
     393:          );
     394:          jLayeredPane3.setLayer(jPanel7, javax.swing.JLayeredPane.DEFAULT_LAYER);
     395:          jLayeredPane3.setLayer(jPanel8, javax.swing.JLayeredPane.DEFAULT_LAYER);
     396:   
     397:          javax.swing.GroupLayout runtimeFrameLayout = new javax.swing.GroupLayout(runtimeFrame.getContentPane());
     398:          runtimeFrame.getContentPane().setLayout(runtimeFrameLayout);
     399:          runtimeFrameLayout.setHorizontalGroup(
     400:              runtimeFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     401:              .addGap(0, 688, Short.MAX_VALUE)
     402:              .addGroup(runtimeFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     403:                  .addComponent(jLayeredPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
     404:          );
     405:          runtimeFrameLayout.setVerticalGroup(
     406:              runtimeFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     407:              .addGap(0, 454, Short.MAX_VALUE)
     408:              .addGroup(runtimeFrameLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     409:                  .addComponent(jLayeredPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
     410:          );
     411:   
     412:          setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     413:          setTitle("PL/0 编译器");
     414:          setIconImage(image.getImage());
     415:          setResizable(false);
     416:   
     417:          jLayeredPane1.setPreferredSize(new java.awt.Dimension(1191, 450));
     418:   
     419:          jPanel1.setOpaque(false);
     420:   
     421:          jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
     422:          jPanel2.setOpaque(false);
     423:          jPanel2.setPreferredSize(new java.awt.Dimension(305, 433));
     424:   
     425:          jScrollPane1.setOpaque(false);
     426:   
     427:          jTextArea1.setEditable(false);
     428:          jTextArea1.setColumns(20);
     429:          jTextArea1.setFont(new java.awt.Font("Monaco", 0, 18)); // NOI18N
     430:          jTextArea1.setRows(5);
     431:          jTextArea1.setOpaque(false);
     432:          jScrollPane1.setViewportView(jTextArea1);
     433:   
     434:          jLabel4.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
     435:          jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
     436:          jLabel4.setText("PL/0 Source Code");
     437:   
     438:          javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
     439:          jPanel2.setLayout(jPanel2Layout);
     440:          jPanel2Layout.setHorizontalGroup(
     441:              jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     442:              .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 296, Short.MAX_VALUE)
     443:              .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
     444:          );
     445:          jPanel2Layout.setVerticalGroup(
     446:              jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     447:              .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
     448:                  .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
     449:                  .addGap(0, 0, Short.MAX_VALUE)
     450:                  .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 396, javax.swing.GroupLayout.PREFERRED_SIZE)
     451:                  .addContainerGap())
     452:          );
     453:   
     454:          jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder());
     455:          jPanel3.setOpaque(false);
     456:          jPanel3.setPreferredSize(new java.awt.Dimension(243, 433));
     457:   
     458:          jTable1.setFont(new java.awt.Font("Comic Sans MS", 0, 14)); // NOI18N
     459:          jTable1.setModel(new javax.swing.table.DefaultTableModel(
     460:              new Object [][] {
     461:                  {null, null, null, null, null, null},
     462:                  {null, null, null, null, null, null},
     463:                  {null, null, null, null, null, null},
     464:                  {null, null, null, null, null, null},
     465:                  {null, null, null, null, null, null},
     466:                  {null, null, null, null, null, null},
     467:                  {null, null, null, null, null, null},
     468:                  {null, null, null, null, null, null},
     469:                  {null, null, null, null, null, null},
     470:                  {null, null, null, null, null, null}
     471:              },
     472:              new String [] {
     473:                  "Name", "Type", "Value", "Level", "Address", "size"
     474:              }
     475:          ) {
     476:              Class[] types = new Class [] {
     477:                  java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Object.class
     478:              };
     479:   
     480:              public Class getColumnClass(int columnIndex) {
     481:                  return types [columnIndex];
     482:              }
     483:          });
     484:          jTable1.setOpaque(false);
     485:          jTable1.getTableHeader().setReorderingAllowed(false);
     486:          jScrollPane2.setViewportView(jTable1);
     487:          if (jTable1.getColumnModel().getColumnCount() > 0) {
     488:              jTable1.getColumnModel().getColumn(0).setResizable(false);
     489:              jTable1.getColumnModel().getColumn(1).setResizable(false);
     490:              jTable1.getColumnModel().getColumn(2).setResizable(false);
     491:              jTable1.getColumnModel().getColumn(3).setResizable(false);
     492:              jTable1.getColumnModel().getColumn(4).setResizable(false);
     493:              jTable1.getColumnModel().getColumn(5).setResizable(false);
     494:          }
     495:   
     496:          jLabel5.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
     497:          jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
     498:          jLabel5.setText("Symbol Table");
     499:   
     500:          jTextArea4.setEditable(false);
     501:          jTextArea4.setColumns(20);
     502:          jTextArea4.setFont(new java.awt.Font("Comic Sans MS", 1, 14)); // NOI18N
     503:          jTextArea4.setRows(5);
     504:          jScrollPane7.setViewportView(jTextArea4);
     505:   
     506:          javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
     507:          jPanel3.setLayout(jPanel3Layout);
     508:          jPanel3Layout.setHorizontalGroup(
     509:              jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     510:              .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
     511:              .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
     512:              .addComponent(jScrollPane7)
     513:          );
     514:          jPanel3Layout.setVerticalGroup(
     515:              jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     516:              .addGroup(jPanel3Layout.createSequentialGroup()
     517:                  .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
     518:                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
     519:                  .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 228, javax.swing.GroupLayout.PREFERRED_SIZE)
     520:                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
     521:                  .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE)
     522:                  .addContainerGap())
     523:          );
     524:   
     525:          jPanel4.setBorder(javax.swing.BorderFactory.createEtchedBorder());
     526:          jPanel4.setOpaque(false);
     527:          jPanel4.setPreferredSize(new java.awt.Dimension(271, 433));
     528:   
     529:          jScrollPane3.setOpaque(false);
     530:          jScrollPane3.setPreferredSize(new java.awt.Dimension(203, 101));
     531:   
     532:          jTextArea2.setEditable(false);
     533:          jTextArea2.setBackground(new java.awt.Color(250, 250, 250));
     534:          jTextArea2.setColumns(20);
     535:          jTextArea2.setFont(new java.awt.Font("Comic Sans MS", 0, 13)); // NOI18N
     536:          jTextArea2.setRows(5);
     537:          jTextArea2.setName(""); // NOI18N
     538:          jTextArea2.setOpaque(false);
     539:          jScrollPane3.setViewportView(jTextArea2);
     540:   
     541:          jLabel6.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
     542:          jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
     543:          jLabel6.setText("Generated P-code");
     544:   
     545:          javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
     546:          jPanel4.setLayout(jPanel4Layout);
     547:          jPanel4Layout.setHorizontalGroup(
     548:              jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     549:              .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 267, Short.MAX_VALUE)
     550:              .addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
     551:          );
     552:          jPanel4Layout.setVerticalGroup(
     553:              jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     554:              .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
     555:                  .addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE, 43, Short.MAX_VALUE)
     556:                  .addGap(0, 0, 0)
     557:                  .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 386, javax.swing.GroupLayout.PREFERRED_SIZE))
     558:          );
     559:   
     560:          jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder());
     561:          jPanel5.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
     562:          jPanel5.setOpaque(false);
     563:          jPanel5.setPreferredSize(new java.awt.Dimension(352, 433));
     564:   
     565:          jTextField1.setEditable(false);
     566:          jTextField1.setFont(new java.awt.Font("Monaco", 0, 12)); // NOI18N
     567:          jTextField1.addActionListener(new java.awt.event.ActionListener() {
     568:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     569:                  jTextField1ActionPerformed(evt);
     570:              }
     571:          });
     572:   
     573:          jButton2.setFont(new java.awt.Font("微软雅黑", 1, 14)); // NOI18N
     574:          jButton2.setText("打开文件");
     575:          jButton2.setOpaque(false);
     576:          jButton2.addActionListener(new java.awt.event.ActionListener() {
     577:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     578:                  jButton2ActionPerformed(evt);
     579:              }
     580:          });
     581:   
     582:          jButton1.setFont(new java.awt.Font("微软雅黑", 1, 14)); // NOI18N
     583:          jButton1.setText("编译");
     584:          jButton1.setOpaque(false);
     585:          jButton1.addActionListener(new java.awt.event.ActionListener() {
     586:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     587:                  jButton1ActionPerformed(evt);
     588:              }
     589:          });
     590:   
     591:          jButton3.setFont(new java.awt.Font("微软雅黑", 1, 14)); // NOI18N
     592:          jButton3.setText("运行");
     593:          jButton3.setOpaque(false);
     594:          jButton3.addActionListener(new java.awt.event.ActionListener() {
     595:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     596:                  jButton3ActionPerformed(evt);
     597:              }
     598:          });
     599:   
     600:          jButton4.setFont(new java.awt.Font("微软雅黑", 1, 14)); // NOI18N
     601:          jButton4.setText("符号表");
     602:          jButton4.setMaximumSize(new java.awt.Dimension(100, 100));
     603:          jButton4.setMinimumSize(new java.awt.Dimension(100, 100));
     604:          jButton4.setOpaque(false);
     605:          jButton4.setPreferredSize(new java.awt.Dimension(100, 100));
     606:          jButton4.addActionListener(new java.awt.event.ActionListener() {
     607:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     608:                  jButton4ActionPerformed(evt);
     609:              }
     610:          });
     611:   
     612:          jButton5.setFont(new java.awt.Font("微软雅黑", 1, 14)); // NOI18N
       1:          jButton5.setText("pcode");
       2:          jButton5.setMaximumSize(new java.awt.Dimension(100, 100));
       3:          jButton5.setMinimumSize(new java.awt.Dimension(100, 100));
       4:          jButton5.setOpaque(false);
       5:          jButton5.setPreferredSize(new java.awt.Dimension(100, 100));
       6:          jButton5.addActionListener(new java.awt.event.ActionListener() {
       7:              public void actionPerformed(java.awt.event.ActionEvent evt) {
       8:                  jButton5ActionPerformed(evt);
       9:              }
      10:          });
      11:   
      12:          jLabel7.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
      13:          jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
      14:          jLabel7.setText("DashBoard");
      15:   
      16:          jLabel8.setFont(new java.awt.Font("Comic Sans MS", 1, 16)); // NOI18N
      17:          jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
      18:          jLabel8.setText("File Name:");
      19:   
      20:          jButton7.setFont(new java.awt.Font("微软雅黑", 1, 14)); // NOI18N
      21:          jButton7.setText("错误信息");
      22:          jButton7.addActionListener(new java.awt.event.ActionListener() {
      23:              public void actionPerformed(java.awt.event.ActionEvent evt) {
      24:                  jButton7ActionPerformed(evt);
      25:              }
      26:          });
      27:   
      28:          javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
      29:          jPanel5.setLayout(jPanel5Layout);
      30:          jPanel5Layout.setHorizontalGroup(
      31:              jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      32:              .addGroup(jPanel5Layout.createSequentialGroup()
      33:                  .addContainerGap()
      34:                  .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
      35:                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      36:                  .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
      37:                  .addGap(0, 29, Short.MAX_VALUE))
      38:              .addGroup(jPanel5Layout.createSequentialGroup()
      39:                  .addGap(30, 30, 30)
      40:                  .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      41:                      .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)
      42:                      .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      43:                      .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      44:                  .addGap(18, 18, 18)
      45:                  .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
      46:                      .addComponent(jButton5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      47:                      .addComponent(jButton4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      48:                      .addComponent(jButton7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      49:                  .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      50:              .addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      51:          );
      52:          jPanel5Layout.setVerticalGroup(
      53:              jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      54:              .addGroup(jPanel5Layout.createSequentialGroup()
      55:                  .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
      56:                  .addGap(18, 18, 18)
      57:                  .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      58:                      .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
      59:                      .addComponent(jTextField1))
      60:                  .addGap(18, 18, 18)
      61:                  .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      62:                      .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
      63:                      .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
      64:                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      65:                  .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      66:                      .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      67:                      .addComponent(jButton5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      68:                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      69:                  .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      70:                      .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)
      71:                      .addComponent(jButton7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      72:                  .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      73:          );
      74:   
      75:          javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
      76:          jPanel1.setLayout(jPanel1Layout);
      77:          jPanel1Layout.setHorizontalGroup(
      78:              jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      79:              .addGroup(jPanel1Layout.createSequentialGroup()
      80:                  .addGap(305, 305, 305)
      81:                  .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 272, javax.swing.GroupLayout.PREFERRED_SIZE)
      82:                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      83:                  .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, 238, Short.MAX_VALUE)
      84:                  .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      85:                  .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, 364, javax.swing.GroupLayout.PREFERRED_SIZE))
      86:              .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      87:                  .addGroup(jPanel1Layout.createSequentialGroup()
      88:                      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
      89:                      .addGap(0, 891, Short.MAX_VALUE)))
      90:          );
      91:          jPanel1Layout.setVerticalGroup(
      92:              jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      93:              .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      94:              .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      95:              .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      96:              .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      97:                  .addGroup(jPanel1Layout.createSequentialGroup()
      98:                      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      99:                      .addGap(0, 0, Short.MAX_VALUE)))
     100:          );
     101:   
     102:          jPanel6.setPreferredSize(new java.awt.Dimension(1185, 450));
     103:   
     104:          jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/background3.jpg"))); // NOI18N
     105:          jLabel1.setPreferredSize(new java.awt.Dimension(1185, 450));
     106:   
     107:          javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
     108:          jPanel6.setLayout(jPanel6Layout);
     109:          jPanel6Layout.setHorizontalGroup(
     110:              jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     111:              .addGroup(jPanel6Layout.createSequentialGroup()
     112:                  .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
     113:                  .addGap(0, 0, Short.MAX_VALUE))
     114:          );
     115:          jPanel6Layout.setVerticalGroup(
     116:              jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     117:              .addGroup(jPanel6Layout.createSequentialGroup()
     118:                  .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
     119:                  .addGap(0, 0, Short.MAX_VALUE))
     120:          );
     121:   
     122:          javax.swing.GroupLayout jLayeredPane1Layout = new javax.swing.GroupLayout(jLayeredPane1);
     123:          jLayeredPane1.setLayout(jLayeredPane1Layout);
     124:          jLayeredPane1Layout.setHorizontalGroup(
     125:              jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     126:              .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
     127:              .addGroup(jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     128:                  .addGroup(jLayeredPane1Layout.createSequentialGroup()
     129:                      .addGap(0, 0, Short.MAX_VALUE)
     130:                      .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
     131:                      .addGap(0, 0, Short.MAX_VALUE)))
     132:          );
     133:          jLayeredPane1Layout.setVerticalGroup(
     134:              jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     135:              .addGroup(jLayeredPane1Layout.createSequentialGroup()
     136:                  .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
     137:                  .addGap(0, 17, Short.MAX_VALUE))
     138:              .addGroup(jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     139:                  .addGroup(jLayeredPane1Layout.createSequentialGroup()
     140:                      .addGap(0, 0, Short.MAX_VALUE)
     141:                      .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
     142:                      .addGap(0, 0, Short.MAX_VALUE)))
     143:          );
     144:          jLayeredPane1.setLayer(jPanel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
     145:          jLayeredPane1.setLayer(jPanel6, javax.swing.JLayeredPane.DEFAULT_LAYER);
     146:   
     147:          jMenuBar1.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     148:          jMenuBar1.setOpaque(false);
     149:   
     150:          jMenu1.setText("文件(F)");
     151:          jMenu1.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     152:   
     153:          jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
     154:          jMenuItem1.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     155:          jMenuItem1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/PowerPoint-icon.png"))); // NOI18N
     156:          jMenuItem1.setText("新建(N)");
     157:          jMenu1.add(jMenuItem1);
     158:   
     159:          jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
     160:          jMenuItem2.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     161:          jMenuItem2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/PowerPoint-icon.png"))); // NOI18N
     162:          jMenuItem2.setText("打开(O)");
     163:          jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
     164:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     165:                  jMenuItem2ActionPerformed(evt);
     166:              }
     167:          });
     168:          jMenu1.add(jMenuItem2);
     169:   
     170:          jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
     171:          jMenuItem3.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     172:          jMenuItem3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/PowerPoint-icon.png"))); // NOI18N
     173:          jMenuItem3.setText("保存(S)");
     174:          jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
     175:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     176:                  jMenuItem3ActionPerformed(evt);
     177:              }
     178:          });
     179:          jMenu1.add(jMenuItem3);
     180:          jMenu1.add(jSeparator1);
     181:   
     182:          jMenuItem5.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_MASK));
     183:          jMenuItem5.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     184:          jMenuItem5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/PowerPoint-icon.png"))); // NOI18N
     185:          jMenuItem5.setText("退出");
     186:          jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
     187:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     188:                  jMenuItem5ActionPerformed(evt);
     189:              }
     190:          });
     191:          jMenu1.add(jMenuItem5);
     192:   
     193:          jMenuBar1.add(jMenu1);
     194:   
     195:          jMenu2.setText("编辑");
     196:          jMenu2.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     197:          jMenuBar1.add(jMenu2);
     198:   
     199:          jMenu4.setText("运行");
     200:          jMenu4.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     201:   
     202:          jMenuItem6.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.CTRL_MASK));
     203:          jMenuItem6.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     204:          jMenuItem6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/PowerPoint-icon.png"))); // NOI18N
     205:          jMenuItem6.setText("编译(L)");
     206:          jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
     207:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     208:                  jMenuItem6ActionPerformed(evt);
     209:              }
     210:          });
     211:          jMenu4.add(jMenuItem6);
     212:          jMenu4.add(jSeparator2);
     213:   
     214:          jMenuItem7.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, java.awt.event.InputEvent.CTRL_MASK));
     215:          jMenuItem7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/PowerPoint-icon.png"))); // NOI18N
     216:          jMenuItem7.setText("运行(R)");
     217:          jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
     218:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     219:                  jMenuItem7ActionPerformed(evt);
     220:              }
     221:          });
     222:          jMenu4.add(jMenuItem7);
     223:   
     224:          jMenuBar1.add(jMenu4);
     225:   
     226:          jMenu3.setText("帮助(H)");
     227:          jMenu3.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     228:   
     229:          jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_G, java.awt.event.InputEvent.CTRL_MASK));
     230:          jMenuItem4.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 14)); // NOI18N
     231:          jMenuItem4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/PowerPoint-icon.png"))); // NOI18N
     232:          jMenuItem4.setText("关于(G)...");
     233:          jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
     234:              public void actionPerformed(java.awt.event.ActionEvent evt) {
     235:                  jMenuItem4ActionPerformed(evt);
     236:              }
     237:          });
     238:          jMenu3.add(jMenuItem4);
     239:   
     240:          jMenuBar1.add(jMenu3);
     241:   
     242:          setJMenuBar(jMenuBar1);
     243:   
     244:          javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
     245:          getContentPane().setLayout(layout);
     246:          layout.setHorizontalGroup(
     247:              layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     248:              .addGroup(layout.createSequentialGroup()
     249:                  .addGap(0, 0, Short.MAX_VALUE)
     250:                  .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
     251:                  .addGap(0, 0, Short.MAX_VALUE))
     252:          );
     253:          layout.setVerticalGroup(
     254:              layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
     255:              .addGroup(layout.createSequentialGroup()
     256:                  .addGap(0, 0, Short.MAX_VALUE)
     257:                  .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
     258:                  .addGap(0, 0, Short.MAX_VALUE))
     259:          );
     260:   
     261:          pack();
     262:      }// </editor-fold>//GEN-END:initComponents
     263:   
     264:      private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
     265:          JFileChooser filechooser = new JFileChooser();
     266:          filechooser.addChoosableFileFilter(new fileFilter("pl0"));
     267:          filechooser.addChoosableFileFilter(new fileFilter("txt"));
     268:          int ret = filechooser.showOpenDialog(MainFrame.this);
     269:          if (ret == JFileChooser.APPROVE_OPTION) {
     270:              try {
     271:                  selected = filechooser.getSelectedFile();
     272:                  jTextField1.setText(selected.getName());
     273:                  BufferedReader br = new BufferedReader(new FileReader(selected));
     274:                  jTextArea1.read(br, "GBK");
     275:                  br.close();
     276:              } catch (Exception e) {
     277:                  e.printStackTrace();
     278:                  System.out.println("***can't open selected File***");
     279:              }
     280:          }
     281:   
     282:   
     283:      }//GEN-LAST:event_jButton2ActionPerformed
     284:   
     285:      private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
     286:   
     287:          if (selected != null) {
     288:              compiler = new PL0(selected.getPath());
     289:              boolean compileRet = compiler.compile();
     290:              if (compileRet) {
     291:                  JOptionPane.showConfirmDialog(MainFrame.this, "编译成功", "编译结果", JOptionPane.OK_OPTION);
     292:              } else {
     293:                  JOptionPane.showConfirmDialog(MainFrame.this, "编译失败", "编译结果", JOptionPane.ERROR_MESSAGE);
     294:              }
     295:          } else {
     296:              int retbtn = JOptionPane.showConfirmDialog(MainFrame.this,
     297:                      "尚未打开文件", "ERROR",
     298:                      JOptionPane.ERROR_MESSAGE);
     299:              if (retbtn == JOptionPane.YES_OPTION) {
     300:                  JFileChooser filechooser = new JFileChooser();
     301:                  filechooser.addChoosableFileFilter(new fileFilter("pl0"));
     302:                  filechooser.addChoosableFileFilter(new fileFilter("txt"));
     303:                  int ret = filechooser.showOpenDialog(MainFrame.this);
     304:                  if (ret == JFileChooser.APPROVE_OPTION) {
     305:                      try {
     306:                          selected = filechooser.getSelectedFile();
     307:                          jTextField1.setText(selected.getName());
     308:                          BufferedReader br = new BufferedReader(new FileReader(selected));
     309:                          jTextArea1.read(br, "GBK");
     310:                          br.close();
     311:                      } catch (Exception e) {
     312:   
     313:                      }
     314:                  }
     315:              }
     316:          }
     317:   
     318:      }//GEN-LAST:event_jButton1ActionPerformed
     319:   
     320:      private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed
     321:          // TODO add your handling code here:
     322:      }//GEN-LAST:event_jTextField1ActionPerformed
     323:   
     324:      private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
     325:          // TODO add your handling code here:
     326:   
     327:      }//GEN-LAST:event_jMenuItem2ActionPerformed
     328:   
     329:      private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
     330:          // TODO add your handling code here:
     331:      }//GEN-LAST:event_jMenuItem3ActionPerformed
     332:   
     333:      private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
     334:          // TODO add your handling code here:
     335:   
     336:          jDialog1.setVisible(true);
     337:          jDialog1.setTitle("关于本作者");
     338:          jDialog1.pack();
     339:          jDialog1.setLocationRelativeTo(null);
     340:          jDialog1.setResizable(false);
     341:      }//GEN-LAST:event_jMenuItem4ActionPerformed
     342:   
     343:      private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed
     344:   
     345:          int retuenValue = JOptionPane.showConfirmDialog(null, " 确定要退出系统吗?", "是否退出", JOptionPane.YES_NO_OPTION);
     346:          if (retuenValue == JOptionPane.YES_OPTION) {
     347:              this.setVisible(false);
     348:              this.dispose();
     349:              System.exit(0);
     350:          }
     351:   
     352:      }//GEN-LAST:event_jMenuItem5ActionPerformed
     353:   
     354:      private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed
     355:          // TODO add your handling code here:
     356:   
     357:      }//GEN-LAST:event_jMenuItem6ActionPerformed
     358:   
     359:      private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
     360:          // TODO add your handling code here:
     361:      }//GEN-LAST:event_jMenuItem7ActionPerformed
     362:   
     363:      private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
     364:   
     365:          if (compiler != null) {
     366:              runtimeFrame.setVisible(true);
     367:              runtimeFrame.setTitle("RUNTIME STACK");
     368:              runtimeFrame.pack();
     369:              runtimeFrame.setLocationRelativeTo(null);
     370:              runtimeFrame.setResizable(false);
     371:   
     372:          } else {
     373:              JOptionPane.showConfirmDialog(MainFrame.this, "尚未编译,无法运行", "ERROR", JOptionPane.ERROR_MESSAGE);
     374:          }
     375:   
     376:      }//GEN-LAST:event_jButton3ActionPerformed
     377:   
     378:      private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
     379:          BufferedReader br = null;
     380:          try {
     381:              tablemodel = new DefaultTableModel() {
     382:                  @Override
     383:                  public boolean isCellEditable(int row, int cloum) {
     384:                      return false;
     385:                  }
     386:              };
     387:              for (String item : symboltableHead) {
     388:                  tablemodel.addColumn(item);
     389:              }
     390:              try {
     391:                  if (compiler != null) {
     392:                      SymbolTable.Item[] table;
     393:                      table = compiler.praser.table.table;
     394:   
     395:                      System.out.println("debug infomation");
     396:                      for (int i = 1; table[i] != null; i++) {
     397:                          System.out.println("Vector info" + i);
     398:                          Vector row = new Vector();
     399:                          row.addElement(table[i].name);
     400:                          row.addElement(table[i].type);
     401:                          row.addElement(table[i].value);
     402:                          row.addElement(table[i].lev);
     403:                          row.addElement(table[i].addr);
     404:                          row.addElement(table[i].size);
     405:                          tablemodel.addRow(row);
     406:                      }
     407:   
     408:                  }
     409:              } catch (Exception ex) {
     410:                  ex.printStackTrace();
     411:                  System.out.println("***Symbol Table meet with error while reading***");
     412:              }
     413:              System.out.println("out of try catch ");
     414:              br = new BufferedReader(new FileReader(PL0.tableFile));
     415:              jTextArea4.read(br, "");
     416:              System.out.println("jTextArea4 set content ");
     417:              br.close();
     418:              jTable1.setModel(tablemodel);
     419:              jTable1.updateUI();
     420:          } catch (Exception ex) {
     421:              Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
     422:          }
     423:   
     424:   
     425:      }//GEN-LAST:event_jButton4ActionPerformed
     426:   
     427:      private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
     428:          try {
     429:              BufferedReader br = new BufferedReader(new FileReader(PL0.pcodeFile));
     430:              jTextArea2.read(br, "GBK");
     431:              br.close();
     432:          } catch (Exception ex) {
     433:              ex.printStackTrace();
     434:              System.out.println("***pcode reading meet with error***");
     435:          }
     436:   
     437:      }//GEN-LAST:event_jButton5ActionPerformed
     438:   
     439:      private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed
     440:          // TODO add your handling code here:
     441:          jDialog1.setVisible(false);
     442:          jDialog1.dispose();
     443:      }//GEN-LAST:event_jButton6ActionPerformed
     444:   
     445:      private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed
     446:          try {
     447:              BufferedReader br = new BufferedReader(new FileReader(PL0.errFile));
     448:              jTextArea5.read(br, "");
     449:              br.close();
     450:          } catch (Exception ex) {
     451:              ex.printStackTrace();
     452:              System.out.println("***can't not print error intformation***");
     453:          }
     454:   
     455:          jDialog3.setVisible(true);
     456:          jDialog3.setTitle("编译错误信息");
     457:          jDialog3.setSize(509, 422);
     458:          jDialog3.setLocationRelativeTo(null);
     459:          jDialog3.setResizable(false);
     460:   
     461:   
     462:      }//GEN-LAST:event_jButton7ActionPerformed
     463:   
     464:      private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton9ActionPerformed
     465:          // TODO add your handling code here:
     466:          jTextArea5.setText(null);
     467:          jDialog3.setVisible(false);
     468:          jDialog3.dispose();
     469:      }//GEN-LAST:event_jButton9ActionPerformed
     470:   
     471:      private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton10ActionPerformed
     472:          // TODO add your handling code here:
     473:          runtimeFrame.setVisible(false);
     474:          runtimeFrame.dispose();
     475:      }//GEN-LAST:event_jButton10ActionPerformed
     476:   
     477:      private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton8ActionPerformed
     478:          Interpreter interp = new Interpreter();
     479:          interp.pcodeArray = compiler.praser.interp.pcodeArray.clone();
     480:          System.out.println("I'm trying to debug pcodeArray");
     481:          Pcode item = interp.pcodeArray[0];
     482:          for (int i = 0; item != null;) {
     483:              System.out.println(i + " " + Pcode.pcode[item.f] + "  " + item.l + "  " + item.a);
     484:              item = interp.pcodeArray[++i];
     485:          }
     486:          try {
     487:              BufferedWriter indata = new BufferedWriter(new FileWriter(PL0.inputFile));
     488:              String str = jTextArea3.getText();
     489:              String[] lines = str.split("
    ");
     490:              for (String line : lines) {
     491:                  indata.write(line + "
    ");
     492:              }
     493:              indata.flush();
     494:              indata.close();
     495:          } catch (IOException ex) {
     496:              ex.printStackTrace();
     497:              System.out.println("***saving input data meet with error***");
     498:          }
     499:          System.out.println("***saving input data succeed***");
     500:          try {
     501:   
     502:              BufferedReader br = new BufferedReader(new FileReader(PL0.inputFile));
     503:              BufferedWriter bw = new BufferedWriter(new FileWriter(PL0.runtimeFile));
     504:              interp.interpret(br, bw);
     505:              br.close();
     506:              bw.close();
     507:   
     508:          } catch (Exception ex) {
     509:              ex.printStackTrace();
     510:              System.out.println("***interpret meet with error***");
     511:          }
     512:          try{
     513:          BufferedReader ansRead = new BufferedReader(new FileReader(PL0.runtimeFile));
     514:          jTextArea6.read(ansRead, " ");
     515:          ansRead.close();
     516:          }catch(Exception e){
     517:              e.printStackTrace();
     518:              System.out.println("***read answer failed***");
     519:          }
     520:      }//GEN-LAST:event_jButton8ActionPerformed
     521:   
     522:      /**
     523:       * @param args the command line arguments
     524:       */
     525:      public static void main(String args[]) {
     526:          /* Set the Nimbus look and feel */
     527:          //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
     528:          /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     529:           * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     530:           */
     531:          try {
     532:              for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
     533:                  if ("Nimbus".equals(info.getName())) {
     534:                      javax.swing.UIManager.setLookAndFeel(info.getClassName());
     535:                      break;
     536:                  }
     537:              }
     538:          } catch (ClassNotFoundException ex) {
     539:              java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
     540:          } catch (InstantiationException ex) {
     541:              java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
     542:          } catch (IllegalAccessException ex) {
     543:              java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
     544:          } catch (javax.swing.UnsupportedLookAndFeelException ex) {
     545:              java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
     546:          }
     547:          //</editor-fold>
     548:   
     549:          /* Create and display the form */
     550:          java.awt.EventQueue.invokeLater(new Runnable() {
     551:              public void run() {
     552:                  JFrame mainFrame = new MainFrame();
     553:                  mainFrame.setVisible(true);
     554:                  mainFrame.setLocationRelativeTo(null);
     555:              }
     556:          });
     557:      }
     558:   
     559:      Interpreter interp;
     560:      private File selected = null;
     561:      private PL0 compiler;
     562:      private final static String[] symboltableHead = {"name", "type", "value", "level", "address", "size"};
     563:      // public ResultSet resultset;
     564:      private DefaultTableModel tablemodel;
     565:      private ImageIcon image = new ImageIcon(this.getClass().getResource("/image/Pandora alt.png"));
     566:      // Variables declaration - do not modify//GEN-BEGIN:variables
     567:      private javax.swing.JButton jButton1;
     568:      private javax.swing.JButton jButton10;
     569:      private javax.swing.JButton jButton2;
     570:      private javax.swing.JButton jButton3;
     571:      private javax.swing.JButton jButton4;
     572:      private javax.swing.JButton jButton5;
     573:      private javax.swing.JButton jButton6;
     574:      private javax.swing.JButton jButton7;
     575:      private javax.swing.JButton jButton8;
     576:      private javax.swing.JButton jButton9;
     577:      private javax.swing.JDialog jDialog1;
     578:      private javax.swing.JDialog jDialog3;
     579:      private javax.swing.JLabel jLabel1;
     580:      private javax.swing.JLabel jLabel10;
     581:      private javax.swing.JLabel jLabel11;
     582:      private javax.swing.JLabel jLabel12;
     583:      private javax.swing.JLabel jLabel2;
     584:      private javax.swing.JLabel jLabel3;
     585:      private javax.swing.JLabel jLabel4;
     586:      private javax.swing.JLabel jLabel5;
     587:      private javax.swing.JLabel jLabel6;
     588:      private javax.swing.JLabel jLabel7;
     589:      private javax.swing.JLabel jLabel8;
     590:      private javax.swing.JLabel jLabel9;
     591:      private javax.swing.JLayeredPane jLayeredPane1;
     592:      private javax.swing.JLayeredPane jLayeredPane2;
     593:      private javax.swing.JLayeredPane jLayeredPane3;
     594:      private javax.swing.JMenu jMenu1;
     595:      private javax.swing.JMenu jMenu2;
     596:      private javax.swing.JMenu jMenu3;
     597:      private javax.swing.JMenu jMenu4;
     598:      private javax.swing.JMenuBar jMenuBar1;
     599:      private javax.swing.JMenuItem jMenuItem1;
     600:      private javax.swing.JMenuItem jMenuItem2;
     601:      private javax.swing.JMenuItem jMenuItem3;
     602:      private javax.swing.JMenuItem jMenuItem4;
     603:      private javax.swing.JMenuItem jMenuItem5;
     604:      private javax.swing.JMenuItem jMenuItem6;
     605:      private javax.swing.JMenuItem jMenuItem7;
     606:      private javax.swing.JPanel jPanel1;
     607:      private javax.swing.JPanel jPanel10;
     608:      private javax.swing.JPanel jPanel11;
     609:      private javax.swing.JPanel jPanel2;
     610:      private javax.swing.JPanel jPanel3;
     611:      private javax.swing.JPanel jPanel4;
     612:      private javax.swing.JPanel jPanel5;
     613:      private javax.swing.JPanel jPanel6;
     614:      private javax.swing.JPanel jPanel7;
     615:      private javax.swing.JPanel jPanel8;
     616:      private javax.swing.JPanel jPanel9;
     617:      private javax.swing.JScrollPane jScrollPane1;
     618:      private javax.swing.JScrollPane jScrollPane2;
     619:      private javax.swing.JScrollPane jScrollPane3;
     620:      private javax.swing.JScrollPane jScrollPane4;
       1:      private javax.swing.JScrollPane jScrollPane5;
       2:      private javax.swing.JScrollPane jScrollPane7;
       3:      private javax.swing.JScrollPane jScrollPane8;
       4:      private javax.swing.JPopupMenu.Separator jSeparator1;
       5:      private javax.swing.JPopupMenu.Separator jSeparator2;
       6:      private javax.swing.JTable jTable1;
       7:      private javax.swing.JTextArea jTextArea1;
       8:      private javax.swing.JTextArea jTextArea2;
       9:      private javax.swing.JTextArea jTextArea3;
      10:      private javax.swing.JTextArea jTextArea4;
      11:      private javax.swing.JTextArea jTextArea5;
      12:      private javax.swing.JTextArea jTextArea6;
      13:      private javax.swing.JTextField jTextField1;
      14:      private javax.swing.JFrame runtimeFrame;
      15:      // End of variables declaration//GEN-END:variables
      16:  }
  • 相关阅读:
    蓝桥杯省赛模拟:村庄建设、郊外植树。
    Andrew 算法(构造凸包)
    Codeforces Round #635 (Div. 2)(A, B, C, D)
    级边凸包构造法(extreme edge)
    极点的凸包构造算法(extreme point)
    Codeforces Round #633 (Div. 2)(A, B, C)
    凸包---graham scan算法 + 例题P2742
    Element-ui中ElScrollBar组件滚动条的使用
    HTTP:Web的基础
    HTTP报文
  • 原文地址:https://www.cnblogs.com/ZJUT-jiangnan/p/3560942.html
Copyright © 2011-2022 走看看