Lectura de comandos de STDIN y ejecución de cada uno a medida que se ingresa

Me gustaría adaptar el siguiente código para usar un, ANTLRReaderStreamasí no tengo que crear un nuevo analizador para cada línea. Pero necesita procesar cada línea individualmente, lo que no tengo idea de cómo hacer actualmente, y no veo ninguna manera de preguntarle al analizador si tiene datos listos (o lo que sea equivalente a eso String line = stdin.readLine().

bucle principal:

stdin = new BufferedReader(new InputStreamReader(System.in));

while (true) {
    String line = stdin.readLine();
    if (line == null) {
        System.exit(0);
    }

    processLine(line.trim());
}

manejar una sola línea:

public void processLine(String line) throws IOException {
    try {
        QuotaControlCommandsLexer lexer = new QuotaControlCommandsLexer();
        lexer.setCharStream(new ANTLRStringStream(line));           
        CommonTokenStream tokens = new CommonTokenStream(lexer);
        QuotaControlCommandsParser parser = new QuotaControlCommandsParser(tokens);

        Command cmd = parser.command();
        boolean result = cmd.execute();         
        output(result ? "1" : "0");
        stdout.flush();
    }
    catch (RecognitionException e) {
        logger.error("invalid command: " + line);
        output("ERROR: invalid command `" + line + "`");
    }
}
Respuesta 1

Estoy tratando de analizar el valor de cadena "87306E107" usando hasNextDouble. Este valor es una cadena y debe devolver falso cuando se utiliza hasNextDouble pero devuelve verdadero. Quiero saber si es posible ...

¿Alguien conoce un tipo de proyecto gratuito de Windows Explorer escrito en Java? Básicamente, solo quiero implementar un explorador de Windows simple, pero no quiero comenzar desde cero con todo el arrastrar y soltar, ...

Estoy tratando de autenticar mi aplicación Vaadin con OpenID y tengo dificultades para manejar los redireccionamientos en la aplicación. Al cargar la aplicación, a los usuarios se les presenta una utilidad de inicio de sesión OpenID que es ...

¿Cuál es la forma más efectiva de escribir esta consulta sql en HQL? Seleccione uar. *, (A.default_user_asset_role_id no es nulo) como is_default de User_asset_role uar dejó la cuenta de unión externa a en un ...