public KurumiScript(KurumiStorage storage, KurumiValueList expression) { int storage_size = storage.size(); this.storage = storage; this.expression = expression; data = new KurumiReference[storage_size]; for (int i = 0; i < storage_size; i++) { data[i] = new KurumiReference(i); } init_library(); }
parse(string string_data) { try { expression = new KurumiValueList(); goto_storage = new KurumiGotoStarage(); value_i = 0; if_statement_count = 0; storage = new KurumiStorage(); IterableString s = new IterableString(string_data); list = s.tokenize(); generate_code(); return(new KurumiScript(storage, expression)); } catch (Exception e) { Console.WriteLine("{0}", e.Message); return(null); } }
add(KurumiToken token, KurumiStorage storage) { switch (token.type) { case TokenType.String: add(new KurumiString(token.data)); break; case TokenType.Number: add(new KurumiNumber(token.data)); break; case TokenType.Identifier: add(new KurumiCommand(KurumiCommandType.REF)); add(new KurumiNumber(storage.get_index_from_name(token.data))); break; case TokenType.Operator: add(new KurumiCommand(token.optype_to_command())); break; default: break; } }