I mean, suppose I have this expression:
2 + 2
I want to get something like this:
Plus[2, 2]
as an output. I've tried FullForm, but this just evaluates 2+2 and returns 4. Is this even possible?
I mean, suppose I have this expression:
2 + 2
I want to get something like this:
Plus[2, 2]
as an output. I've tried FullForm, but this just evaluates 2+2 and returns 4. Is this even possible?
tree = Function[x, Defer @ FullForm @ x, HoldAll];
Now:
2 + 2 // tree
Plus[2, 2]
I used Defer to allow the output to be evaluated. If you do not prefer this replace it with HoldForm.
For some explanation of the mechanics of this code see: Why doesn't "Defer" work with "TableForm"?
See also my standard methods for analyzing parsing.
2+2//Hold//FullForm– C. E. Aug 27 '14 at 21:44HoldForm– mfvonh Aug 27 '14 at 21:44Hold[2+2] // FullForm. You might also likeTreeFormfor this purpose. – evanb Aug 27 '14 at 21:45Holdand its ilk (Defer,Unevaluated,Inactive, etc.) are the mechanisms for this, depending on precisely what you want. Look at this page for more information. – mfvonh Aug 27 '14 at 21:49