diff options
author | Ori Bernstein <ori@eigenstate.org> | 2017-01-28 17:13:56 -0800 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2017-01-28 17:13:56 -0800 |
commit | 6e86aec813afcb79caf42dc5c01a422c60fa50f3 (patch) | |
tree | ed1bf2e89d96e1eaa4cc61840ff444f93113cc80 /mi | |
parent | 31ed0906c7d3191c81ae5e0f35b91ed9518e22c3 (diff) | |
download | mc-6e86aec813afcb79caf42dc5c01a422c60fa50f3.tar.gz |
Describe lvalues and rvalues.
Diffstat (limited to 'mi')
-rw-r--r-- | mi/flatten.c | 6 |
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; |