Guest User

Untitled

a guest
Jan 19th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.08 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.DataInputStream;
  4. import java.io.FileInputStream;
  5. import java.io.FileWriter;
  6. import java.io.InputStreamReader;
  7.  
  8.  
  9. public class MakingDotSource {
  10.  
  11.     /*
  12. 1 2 3
  13. a b
  14. 1
  15. 3
  16. 1 a 2
  17. 2 b 1
  18. 2 b 3\
  19.  
  20. digraph G{
  21.  
  22. i1 [shape=point, style=invis];
  23. i1 -> 1;
  24. 3 [shape=doublecircle];
  25. i1 -> 1;
  26. 1 -> 2 [label=a];
  27. 2 -> 1 [label=b];
  28. 2 -> 3 [label=b];
  29. }*/
  30.     public static String[] splitLine(String string) {
  31.  
  32.         String[] temp;
  33.         String delimiter = " ";
  34.         temp = string.split(delimiter);
  35.         return temp;
  36.     }
  37.  
  38.  
  39.     //  public static String[] returnNodes(String[] temp) {
  40.     //
  41.     //      String[] nodes = new String[temp.length];
  42.     //      for(int i =0; i < temp.length ; i++){
  43.     //
  44.     //          nodes[i]=temp[i];
  45.     //      }
  46.     //
  47.     //      return nodes;
  48.     //  }
  49.  
  50.     //  public static String[] returnEdges(String[] temp) {
  51.     //
  52.     //      String[] edges = new String[temp.length];
  53.     //      for(int i =0; i < temp.length ; i++){
  54.     //
  55.     //          edges[i]=temp[i];
  56.     //      }
  57.     //
  58.     //      return edges;
  59.     //  }
  60.  
  61.     public static String returnTransition(String[] temp) {
  62.         //      1 -> 2 [label=a];
  63.         String transition = (temp[0]  + " -> " +  temp[2]  + "[label=" + temp[1] + "];");
  64.         return transition;
  65.  
  66.     }
  67.     public static void main(String args[]) {
  68.         try{
  69.  
  70.             FileInputStream fistream = new FileInputStream("D:\\Egyetem\\5.felev\\FormalisNyelvek\\peldaprog\\input.txt");
  71.             DataInputStream in = new DataInputStream(fistream);
  72.             BufferedReader br = new BufferedReader(new InputStreamReader(in));
  73.             String strLine;
  74.  
  75.             FileWriter fw = new FileWriter("D:\\Egyetem\\5.felev\\FormalisNyelvek\\peldaprog\\out.txt");
  76.             BufferedWriter bw = new BufferedWriter(fw);
  77.  
  78.             bw.write("digraph G{  ");
  79.             bw.newLine();
  80.  
  81.             bw.write(" ranksep=0.5;");
  82.             bw.newLine();
  83.             bw.write(" nodesep=0.5;");
  84.             bw.newLine();
  85.             bw.write(" rankdir=LR;");
  86.             bw.newLine();
  87.             bw.write(" node [shape=\"circle\",fontsize=\"16\"];");
  88.             bw.newLine();
  89.             bw.write(" fontsize=\"10\";");
  90.             bw.newLine();
  91.             bw.write(" compound=true;");
  92.             bw.newLine();
  93.             bw.newLine();
  94.             bw.write("i1 [shape=point, style=invis];");
  95.  
  96.             strLine = br.readLine();
  97.             String[] sl;
  98.             strLine = br.readLine();
  99.             strLine = br.readLine();
  100.             sl = splitLine(strLine);
  101.             String firstNode = sl[0];
  102.             System.out.println(firstNode);
  103.  
  104.             strLine = br.readLine();
  105.             sl = splitLine(strLine);
  106.             String lastNode = sl[0];
  107.             System.out.println(lastNode);
  108.  
  109.             bw.newLine();
  110.             bw.write(lastNode + " [shape=doublecircle];");
  111.             bw.newLine();
  112.  
  113.             bw.newLine();
  114.             bw.write("i1 -> " + firstNode );
  115.  
  116.             //          for(int i =0; i < edges.length ; i++)
  117.             //              System.out.println(edges[i] + ' ');
  118.             String[] string;
  119.             String transition;
  120.             while ((strLine = br.readLine()) != null)   {
  121.                 System.out.println (strLine);
  122.                 string = splitLine(strLine);
  123.                 transition = returnTransition(string);
  124.                 bw.newLine();
  125.                 bw.write(transition);
  126.  
  127.             }
  128.  
  129.             bw.newLine();
  130.             bw.write("}");
  131.  
  132.             in.close();
  133.             bw.close();
  134.  
  135.         }catch (Exception e){//Catch exception if any
  136.             System.err.println("Error: " + e.getMessage());
  137.         }
  138.     }
  139.  
  140. }
Add Comment
Please, Sign In to add comment