jai un grand probleme.... je veut ecrire dans un fichier OUT.txt quelque jetons de type caractere spciaux (SC) depuis un fichier IN.txt qui contient un simple code pascal et jai construit un simple analyseur lexical qui va faire ca malgré que l'execution sa lence le fichier OUT.txt rest tjr vide !!!!! quelle qu'un peut m'aider
et voici le code de lanalyseur lexical ecrit en java
package tpcomp;
import java.util.Scanner;
import java.io.File;
import java.io.PrintWriter;
import java.io.IOException;;
public class AnalyseLex {
private static Scanner sc;
private static PrintWriter f;
public static void main(String[] args) {
try { sc = new Scanner (new File("C:\\Users\\adelred\\Documents\\java\\tpcomp\\src\\tpcomp\\IN.txt"));
f = new PrintWriter(new File("C:\\Users\\adelred\\Documents\\java\\tpcomp\\src\\tpcomp\\OUT.txt"));
String c,c1;
String[] TabLigne;
while (sc.hasNextLine()){
TabLigne = sc.nextLine().split("");
for(int i=0;i<TabLigne.length-1;i++){
c=TabLigne[i];
c1=TabLigne[i+1];
switch(c) {
case "<":{ switch(c1){
case "=": { f.println("('<=',CS)");
break;}
case ">": { f.println("('<>',CS)");
break;}
default: {f.println("('<',CS)");
break;}
}
}
case ">":{ switch(c1){
case "=": { f.println("('>=',CS)");
break;}
default: {f.println("('<',CS)");
break;}
}
}
case "=":{ f.println("('=',CS)");
break;}
case ":":{ switch(c1){
case "=": { f.println("(':=',CS)");
break;}
default: {f.println("(':',CS)");
break;}
}
}
case ",":{ f.println("(',',CS)");
break; }
case ";":{ f.println("(';',CS)");
break; }
}
}
}
}
catch (IOException e) {
e.printStackTrace(); System.out.println("done"); }
System.out.println("done");}}
et voici le continu du fichier IN.txt
program adel;
var a,b,c,d,s:integer;
begin
a:=100; b:=56;
if (a<=b )and (d>s) then a:=b; b:=a
else if z>=f then a=0:
else if z<f then write('erreur');
end.
A voir également:
Le fichier que je peut ecrit sur lui reste vide !!!!!!!!