summaryrefslogtreecommitdiff
path: root/mi
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2017-01-28 17:13:56 -0800
committerOri Bernstein <ori@eigenstate.org>2017-01-28 17:13:56 -0800
commit6e86aec813afcb79caf42dc5c01a422c60fa50f3 (patch)
treeed1bf2e89d96e1eaa4cc61840ff444f93113cc80 /mi
parent31ed0906c7d3191c81ae5e0f35b91ed9518e22c3 (diff)
downloadmc-6e86aec813afcb79caf42dc5c01a422c60fa50f3.tar.gz
Describe lvalues and rvalues.
Diffstat (limited to 'mi')
-rw-r--r--mi/flatten.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mi/flatten.c b/mi/flatten.c
index 2da6435..d79ceb3 100644
--- a/mi/flatten.c
+++ b/mi/flatten.c
@@ -527,15 +527,17 @@ static Node *lval(Flattenctx *s, Node *n)
switch (exprop(n)) {
case Ovar: r = n; break;
- case Oidx: r = rval(s, n); break;//loadidx(s, args[0], args[1]); break;
+ case Oidx: r = rval(s, n); break;
case Oderef: r = rval(s, n); break;
case Omemb: r = rval(s, n); break;
case Ostruct: r = rval(s, n); break;
+
+ /* for chaining */
case Oucon: r = rval(s, n); break;
case Oarr: r = rval(s, n); break;
case Ogap: r = temp(s, n); break;
- /* not actually expressible as lvalues in syntax, but we generate them */
+ /* not actually expressible as lvalues in syntax, but we generate them */
case Oudata: r = rval(s, n); break;
case Outag: r = rval(s, n); break;
case Otupget: r = rval(s, n); break;