diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-10-22 12:08:10 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-10-22 12:08:10 -0700 |
commit | ada5eb55cb185edf30dcac48b25cc485d44677ef (patch) | |
tree | e147838f053a582e33146ac4fc4ab30ac8434e0e /052tangle.cc | |
parent | a6deb48067f8049922f16ed3489896f7749fd39f (diff) | |
download | mu-ada5eb55cb185edf30dcac48b25cc485d44677ef.tar.gz |
3552
Stop requiring jump instructions to explicitly provide a ':label' type for jump targets. This has been a source of repeated confusion for my students: a) They'd add the ':label' to the label definition rather than the jump target (label use) b) They'd spend time thinking about whether the initial '+' prefix was part of the label name. In the process I cleaned up a couple of things: - the space of names is more cleanly partitioned into labels and non-labels (clarifying that '_' and '-' are non-label prefixes) - you can't use label names as regular variables anymore - you can infer the type of a label just from its name
Diffstat (limited to '052tangle.cc')
-rw-r--r-- | 052tangle.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/052tangle.cc b/052tangle.cc index 39e9856d..f53e8736 100644 --- a/052tangle.cc +++ b/052tangle.cc @@ -148,8 +148,7 @@ void append_fragment(vector<instruction>& base, const vector<instruction>& patch } for (int j = 0; j < SIZE(inst.ingredients); ++j) { reagent& x = inst.ingredients.at(j); - if (!is_literal(x)) continue; - if (x.type->name == "label" && contains_key(jump_targets, x.name)) + if (is_jump_target(x.name) && contains_key(jump_targets, x.name)) x.name = prefix+x.name; } base.push_back(inst); |