Brychan Dempsey 093b4455a6
All checks were successful
continuous-integration/appveyor/branch AppVeyor build succeeded
Added information to the readme
Added examples and automatic copying of them to the output directory, for launching in the example profiles
2021-03-29 12:45:37 +13:00
2021-03-29 11:43:00 +13:00
2021-03-13 17:47:06 +13:00
2021-03-11 12:56:25 +13:00
2021-03-29 12:45:37 +13:00

159.341 Assignment 1 - String Interpreter Build status

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:

VS Build Configuration

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 parameter all (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)
Description
Simple parser for a basic interpreted language
Readme 471 KiB
Languages
C# 100%