package org.softlang.company.features;
import static org.softlang.company.features.parsing.Token.*;
import org.softlang.company.features.parsing.Recognizer;
import org.softlang.company.features.parsing.Token;
import java.io.Writer;
import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
import java.io.IOException;
public class Cut {
public Cut(String in, String out) throws IOException {
Recognizer recognizer = new Recognizer(in);
Writer writer = new OutputStreamWriter(new FileOutputStream(out));
Token current = null;
Token previous = null;
String lexeme = null;
while (recognizer.hasNext()) {
current = recognizer.next();
lexeme = recognizer.getLexeme();
// Cut salary in half
if (current == FLOAT && previous == SALARY)
lexeme = Double.toString(
(Double.parseDouble(recognizer.getLexeme())
/ 2.0d));
// Copy possibly modified lexeme
writer.write(lexeme);
if (current!=WS)
previous = current;
}
writer.close();
}
}