-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainCalculette.java
27 lines (24 loc) · 966 Bytes
/
MainCalculette.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.io.*;
import org.antlr.v4.runtime.*;
public class MainCalculette {
public static void main(String args[]) throws Exception {
CalculetteLexer lex;
if (args.length == 0)
lex = new CalculetteLexer(CharStreams.fromStream(System.in));
else
lex = new CalculetteLexer(CharStreams.fromFileName(args[0]));
CommonTokenStream tokens = new CommonTokenStream(lex);
CalculetteParser parser = new CalculetteParser(tokens);
BufferedWriter writer = new BufferedWriter(new FileWriter("test.mvap"));
try {
// parser.start(); // start l'axiome de la grammaire
writer.write(parser.start().a.code);
writer.close();
System.out.println("Résultat écrit dans le fichier 'test.mvap'");
} catch (RecognitionException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}