The Console object also provides input and output streams that are true character streams, through its reader and writer methods. Using JShell, you can enter program elements one at a time, immediately see the result, and make adjustments as needed.
There are two schools of thought on how one might go about writing an interpreter for it. Edit it.
This is a single, predefined object of type Console that has most of the features provided by the Standard Streams, and others besides. Run the program. By the way, this was required when all you had was a teletype.
Java program development typically involves the following process: Write a complete program. A standard way of modifying that object, perhaps in the form of an interface, that allows the program and the environment to be combined to achieve useful results. The lexical analyzer I designed for this interpreter falls right in the middle of the complexity range.
This allows me to store the variable directly after I receive it in the parser, without having to create a new object instance to hold it.