about summary refs log tree commit diff stats
path: root/apps/tile/main.mu
Commit message (Expand)AuthorAgeFilesLines
* 7842 - new directory organizationKartik K. Agaram2021-03-031-133/+0
* 7690Kartik Agaram2021-02-071-9/+9
* 7336 - tile: back to function editingKartik Agaram2020-12-051-12/+1
* 7305 - make float-size more consistent as wellKartik Agaram2020-11-291-0/+4
* 7297 - tile: use floats everywhereKartik Agaram2020-11-291-3/+3
* 7225Kartik Agaram2020-11-111-0/+1
* 7218Kartik Agaram2020-11-091-4/+7
* 7210Kartik Agaram2020-11-071-11/+24
* 7166Kartik Agaram2020-11-031-42/+40
* 7159 - explicitly use 'return' everywhereKartik Agaram2020-11-021-20/+17
* 7156Kartik Agaram2020-11-011-2/+2
* 7123 - tile: truncate string if necessaryKartik Agaram2020-10-261-0/+4
* 7116 - tile: regression in typing in stringsKartik Agaram2020-10-261-13/+0
* 7103 - tile: first primitive for stringsKartik Agaram2020-10-251-0/+13
* 7101 - tile: remove quotes when evaluating stringsKartik Agaram2020-10-251-6/+1
* 7098 - tile: string valuesKartik Agaram2020-10-251-11/+3
* tile: process space at start of wordKartik Agaram2020-10-241-2/+13
* 7087 - defining functions now seems to be workingKartik Agaram2020-10-201-11/+2
* 7063 - tile: scaffolding for defining functionsKartik Agaram2020-10-181-1/+1
* 7061Kartik Agaram2020-10-181-1/+1
* 7059Kartik Agaram2020-10-181-1/+8
* 7058Kartik Agaram2020-10-181-7/+1
* 7053Kartik Agaram2020-10-171-1/+3
* 7037Kartik Agaram2020-10-151-6/+4
* 7035Kartik Agaram2020-10-151-2/+6
* 7034Kartik Agaram2020-10-151-0/+2
* 7021Kartik Agaram2020-10-141-0/+4
* 7020Kartik Agaram2020-10-141-5/+1
* 7018 - tile: tweak spacing between stacksKartik Agaram2020-10-131-12/+4
* 7015 - bugfix in column width computationKartik Agaram2020-10-131-1/+13
* 7011 - tile: keep garbage out of the stackKartik Agaram2020-10-121-13/+2
* 7009 - tile: real hotkey to quitKartik Agaram2020-10-121-1/+1
* 7005 - tile: move to start/end of lineKartik Agaram2020-10-111-13/+1
* 7002 - tile: next-wordKartik Agaram2020-10-111-1/+5
* 7000 - tile: previous-word also bumps up to callerKartik Agaram2020-10-111-53/+5
* 6991 - tile: nested calls now expandingKartik Agaram2020-10-101-237/+10
* 6988Kartik Agaram2020-10-101-30/+242
* 6987 - left-arrow to jump to caller/calleeKartik Agaram2020-10-101-16/+60
* 6982 - right-arrow now moves into expanded callsKartik Agaram2020-10-091-1/+21
* 6979Kartik Agaram2020-10-091-1/+1
* 6978Kartik Agaram2020-10-091-0/+36
* 6969Kartik Agaram2020-10-061-18/+0
* 6968Kartik Agaram2020-10-061-0/+18
* 6963 - tile: more idiomatic conventional replKartik Agaram2020-10-051-37/+35
* 6962Kartik Agaram2020-10-051-7/+6
* 6870Kartik Agaram2020-09-261-6/+6
* 6861 - tile: conventional replKartik Agaram2020-09-261-15/+77
* 6796Kartik Agaram2020-09-161-38/+7
* 6792Kartik Agaram2020-09-161-1/+0
* 6790 experiment: explicit flushKartik Agaram2020-09-161-0/+1
t;inline long long int& current_step_index()") inline long long int& current_step_index() { assert(!Current_routine->calls.empty()); return Current_routine->calls.front().running_step_index; } :(replace{} "inline const string& current_recipe_name()") inline const string& current_recipe_name() { assert(!Current_routine->calls.empty()); return Recipe[Current_routine->calls.front().running_recipe].name; } :(replace{} "inline const instruction& current_instruction()") inline const instruction& current_instruction() { assert(!Current_routine->calls.empty()); return Recipe[Current_routine->calls.front().running_recipe].steps.at(Current_routine->calls.front().running_step_index); } :(replace{} "default:" following "End Primitive Recipe Implementations") default: { // not a primitive; try to look up the book of recipes if (Recipe.find(current_instruction().operation) == Recipe.end()) { raise << "undefined operation " << current_instruction().operation << ": " << current_instruction().to_string() << '\n'; break; } Current_routine->calls.push_front(call(current_instruction().operation)); continue; // not done with caller; don't increment current_step_index() } //:: finally, we need to fix the termination conditions for the run loop :(replace{} "inline bool routine::completed() const") inline bool routine::completed() const { return calls.empty(); } inline const vector<instruction>& routine::steps() const { assert(!calls.empty()); return Recipe[calls.front().running_recipe].steps; } :(before "Running One Instruction") // when we reach the end of one call, we may reach the end of the one below // it, and the one below that, and so on while (current_step_index() >= SIZE(Current_routine->steps())) { Current_routine->calls.pop_front(); if (Current_routine->calls.empty()) return; // todo: no results returned warning ++current_step_index(); } :(before "End Includes") #include <stack> using std::stack;