app function
void
app()
This method contains the entire app/interpreter. This is the only method you need to call!
Implementation
void app(
List<String> arguments,
String versionString,
String preAmble,
String quitStatement,
Map<String, dynamic> tokenMap,
Map<String, dynamic> grammar,
List<String> cosmeticTokens,
Map<String, dynamic> functionMap) {
if (arguments.length == 1) {
if (arguments[0] == '--version') {
print(versionString);
} else if (arguments[0] == '--shell') {
shell(preAmble, quitStatement, tokenMap, grammar, cosmeticTokens,
functionMap);
} else {
readFile(arguments[0], tokenMap, grammar, cosmeticTokens, functionMap);
}
} else if (arguments[0] == '--diagnostics') {
String text = File(arguments[1]).readAsStringSync();
List<dynamic> parsedTokens = parseText(tokenMap, text);
List<dynamic> parseTree =
constructParseTree(grammar, cosmeticTokens, parsedTokens);
visualParseTree(parseTree);
} else {
print('Invalid options supplied!');
exit(0);
}
}