Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.DataInputStream;
- import java.io.FileInputStream;
- import java.io.FileWriter;
- import java.io.InputStreamReader;
- public class MakingDotSource {
- /*
- 1 2 3
- a b
- 1
- 3
- 1 a 2
- 2 b 1
- 2 b 3\
- digraph G{
- i1 [shape=point, style=invis];
- i1 -> 1;
- 3 [shape=doublecircle];
- i1 -> 1;
- 1 -> 2 [label=a];
- 2 -> 1 [label=b];
- 2 -> 3 [label=b];
- }*/
- public static String[] splitLine(String string) {
- String[] temp;
- String delimiter = " ";
- temp = string.split(delimiter);
- return temp;
- }
- // public static String[] returnNodes(String[] temp) {
- //
- // String[] nodes = new String[temp.length];
- // for(int i =0; i < temp.length ; i++){
- //
- // nodes[i]=temp[i];
- // }
- //
- // return nodes;
- // }
- // public static String[] returnEdges(String[] temp) {
- //
- // String[] edges = new String[temp.length];
- // for(int i =0; i < temp.length ; i++){
- //
- // edges[i]=temp[i];
- // }
- //
- // return edges;
- // }
- public static String returnTransition(String[] temp) {
- // 1 -> 2 [label=a];
- String transition = (temp[0] + " -> " + temp[2] + "[label=" + temp[1] + "];");
- return transition;
- }
- public static void main(String args[]) {
- try{
- FileInputStream fistream = new FileInputStream("D:\\Egyetem\\5.felev\\FormalisNyelvek\\peldaprog\\input.txt");
- DataInputStream in = new DataInputStream(fistream);
- BufferedReader br = new BufferedReader(new InputStreamReader(in));
- String strLine;
- FileWriter fw = new FileWriter("D:\\Egyetem\\5.felev\\FormalisNyelvek\\peldaprog\\out.txt");
- BufferedWriter bw = new BufferedWriter(fw);
- bw.write("digraph G{ ");
- bw.newLine();
- bw.write(" ranksep=0.5;");
- bw.newLine();
- bw.write(" nodesep=0.5;");
- bw.newLine();
- bw.write(" rankdir=LR;");
- bw.newLine();
- bw.write(" node [shape=\"circle\",fontsize=\"16\"];");
- bw.newLine();
- bw.write(" fontsize=\"10\";");
- bw.newLine();
- bw.write(" compound=true;");
- bw.newLine();
- bw.newLine();
- bw.write("i1 [shape=point, style=invis];");
- strLine = br.readLine();
- String[] sl;
- strLine = br.readLine();
- strLine = br.readLine();
- sl = splitLine(strLine);
- String firstNode = sl[0];
- System.out.println(firstNode);
- strLine = br.readLine();
- sl = splitLine(strLine);
- String lastNode = sl[0];
- System.out.println(lastNode);
- bw.newLine();
- bw.write(lastNode + " [shape=doublecircle];");
- bw.newLine();
- bw.newLine();
- bw.write("i1 -> " + firstNode );
- // for(int i =0; i < edges.length ; i++)
- // System.out.println(edges[i] + ' ');
- String[] string;
- String transition;
- while ((strLine = br.readLine()) != null) {
- System.out.println (strLine);
- string = splitLine(strLine);
- transition = returnTransition(string);
- bw.newLine();
- bw.write(transition);
- }
- bw.newLine();
- bw.write("}");
- in.close();
- bw.close();
- }catch (Exception e){//Catch exception if any
- System.err.println("Error: " + e.getMessage());
- }
- }
- }
Add Comment
Please, Sign In to add comment