Untitled
unknown
plain_text
3 years ago
3.8 kB
7
Indexable
package pass1; import java.io.*; import java.util.*; public class pass1 { public static void main(String[] args) { Vector<String> pntab = new Vector<String>(); Vector<String> kpdtab = new Vector<String>(); Vector<MNT> mnt = new Vector<MNT>(); Vector<MDT> mdt = new Vector<MDT>(); try { File Obj = new File("pass1.txt"); Scanner Reader = new Scanner(Obj); boolean begin = false; while (Reader.hasNextLine()) { String data = Reader.nextLine(); String[] tokens = data.split("\t"); if(tokens[0] == "MACRO") { begin = true; continue; } if(begin) { int pp = 0; int kp = 0; int mdtp = mdt.size(); int kpdtp = kpdtab.size(); String name = tokens[0]; for(int i=1; i<tokens.length; i++) { if(tokens[i].contains("=")) { kp++; String[] temp = tokens[i].split("="); if(temp.length == 2) kpdtab.add(temp[1]); else kpdtab.add(""); pntab.add(temp[0].replace("&", "")); } else { pp++; pntab.add(tokens[i].replace("&", "")); } } if(kp == 0) kpdtp = -1; begin = false; MNT obj = new MNT(name, pp, kp, mdtp, kpdtp); mnt.add(obj); } else { if(tokens.length == 1) { MDT obj = new MDT("MEND", " ", " "); mdt.add(obj); pntab.clear(); continue; } else { String operand1; String operand2; String n = tokens[0]; if(tokens[1].contains("=")) { operand1 = tokens[1]; } else { int a = pntab.indexOf(tokens[1].replace("&", "")); operand1 = "p," + a; } if(tokens[2].contains("=")) { operand2 = tokens[2]; } else { int a = pntab.indexOf(tokens[2].replace("&", "")); operand2 = "p," + a; } MDT obj = new MDT(n, operand1, operand2); mdt.add(obj); continue; } } } Reader.close(); } catch (FileNotFoundException e) { System.out.println("File not found or error opening the file!!"); } try { FileWriter writer = new FileWriter("MNT.txt", true); for(int i=0; i<mnt.size(); i++) { MNT obj = mnt.get(i); writer.write(obj.name + "\t" + obj.pp + "\t" + obj.kp + "\t" + obj.mdtp + "\t" + obj.kpdtp + "\n"); } writer.close(); } catch(IOException e) { System.out.println("An error has occurred."); } try { FileWriter writer = new FileWriter("KPDTAB.txt", true); for(int i=0; i<kpdtab.size(); i++) { KPDTAB obj = mnt.get(i); writer.write(obj.name + "\t" + obj.pp + "\t" + obj.kp + "\t" + obj.mdtp + "\t" + obj.kpdtp + "\n"); } writer.close(); } catch(IOException e) { System.out.println("An error has occurred."); } } }
Editor is loading...