0
здесь кусок кода:печать из переключателя заявление Явы
class Main {
public static void main(String[] args) {
try {
CLI.parse (args, new String[0]);
InputStream inputStream = args.length == 0 ?
System.in : new java.io.FileInputStream(CLI.infile);
ANTLRInputStream antlrIOS = new ANTLRInputStream(inputStream);
if (CLI.target == CLI.SCAN || CLI.target == CLI.DEFAULT)
{
DecafScanner lexer = new DecafScanner(antlrIOS);
Token token;
boolean done = false;
while (!done)
{
try
{
for (token=lexer.nextToken();
token.getType()!=Token.EOF; token=lexer.nextToken())
{
String type = "";
String text = token.getText();
switch (token.getType())
{
case DecafScanner.ID:
type = " CHARLITERAL";
break;
}
System.out.println (token.getLine() + type + " " + text);
}
done = true;
} catch(Exception e) {
// print the error:
System.out.println(CLI.infile+" "+e);
}
}
}
else if (CLI.target == CLI.PARSE)
{
DecafScanner lexer = new DecafScanner(antlrIOS);
CommonTokenStream tokens = new CommonTokenStream(lexer);
DecafParser parser = new DecafParser (tokens);
parser.program();
}
} catch(Exception e) {
// print the error:
System.out.println(CLI.infile+" "+e);
}
}
}
Он печатает как это, но так или иначе она не выводит тип только значение по умолчанию его, который является пустой строкой. Как я могу сделать это для печати из инструкции switch?
Спасибо!
Может быть поставлен оператор печати внутри вашего 'case'? – ha9u63ar
Вы пробовали отлаживать, чтобы вы могли видеть, что такое тип токена? – elefont
Я думал о преобразовании всей вещи в строку и распечатывал случай, но я не уверен, что это лучший способ. не говоря уже позже, мне нужно создать больше случаев. – user4496331