a37aa07ede67c3c1d130ce8457d025b212624ff2
continuous-integration/appveyor/branch AppVeyor build succeeded
159.341 Assignment 1 - String Interpreter 
A basic interpreter for a simple programming language.
There is only one implicit type definition - strings.
This program is written in C# (.NET Core 3.0*) and specifically avoids the use of the regex class and the
string.split()
method to show an understanding of the implementation.
* .NET Core 3.0 should be supported on the lab machines
The application accepts piped input streams via StreamReader and piped input via type <file> | <application>
There are preconfigured build options that will automatically pipe the example files:
These examples are automatically copied to the output directory at build.
This stream is navigated character-by-character (not byte-by-byte)
Example usage:
set somevar "NewValue";
set othervar somevar + SPACE + ";";
list;
exit;
Would output:
┌─────────────┬──────────────────────┬─────────┐
│ Symbol │ Value │ Flags │
├─────────────┼──────────────────────┼─────────┤
│somevar │NewValue │00000000 │
├─────────────┼──────────────────────┼─────────┤
│othervar │NewValue ; │00000000 │
└─────────────┴──────────────────────┴─────────┘
Additional Parameters | Behaviours
- The option
list;may be augmented with the parameterall(i.e.list all;), which will additionally list the constant/global symbols. - It is possible to save the command list on
exit;; this is prompted and guided. - The program instances its operation; at
exit;you will have the option to load a new file or write a new program. - A quick help option is available by using the command
h(semi-colon not required).
Languages
C#
100%
