From ada5eb55cb185edf30dcac48b25cc485d44677ef Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sat, 22 Oct 2016 12:08:10 -0700 Subject: 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 --- 011load.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '011load.cc') diff --git a/011load.cc b/011load.cc index c129ba4b..5dd64335 100644 --- a/011load.cc +++ b/011load.cc @@ -178,7 +178,7 @@ string next_word(istream& in) { bool is_label_word(const string& word) { assert(!word.empty()); - return !isalnum(word.at(0)) && word.at(0) != '$'; + return !isalnum(word.at(0)) && string("$_-").find(word.at(0)) == string::npos; } bool ends_with(const string& s, const char c) { -- cgit 1.4.1-2-gfad0