<div dir="ltr">On Thu, Aug 22, 2013 at 6:42 PM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im"><span style="color:rgb(34,34,34)">These are the changes I plan to make, and some questions that I have</span><br>
</div>
<br>
a) Define a new contentType for DefinedAtoms to say 'Expression' </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

b) Create a new class ExprnAtom derived from DefinedAtom<br>
c) The expression could also contain various functions that could be set in the expression, how should that be represented ?<br>
d) The actual content of the Atom would be a string representation of the expression, that can be used to emit YAML information<br>
e)The expression tree needs to be stored into the Native intermediate representation too right ? Store them as atoms ? How to represent constants and functions ?<br>
f) What about lld core ?<br>
g) Create a new reference type, How does (ExpressionAtom, ExpressionFunction, ExpressionConstant) this sound ?<br></blockquote><div><br></div><div>We only need one reference type, as the resolver only cares that it is referenced.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
h) I still need to figure out, what are the ways this symbol can be overridden, if the same symbol is defined in a file, does it override, (Resolver may need to handle it).</blockquote><div><br></div><div>It would also be useful to keep source location information about expressions so we can give nice diagnostics for things that can only be detected by the backend.</div>
<div><br></div><div>I'm not completely convinced that DefinedAtom is the correct thing to use for this case, as it follows completely different layout rules.</div><div><br></div><div>- Michael Spencer</div><div> </div>
</div></div></div>