Arthur,

I am working from memory and my memory is very hazy on this, so I'm
probably wrong, but I thought OutputForm captured the structure but
not the operator precedence.

For instance,

(a + b) * c

would be encoded like:

x:OutputForm = ((+)(a)(b))
y:OutputForm = ((*)(x)(c))

and a * b + c

would be encoded like:

x:OutputForm = ((*)(a)(b))
y:OutputForm = ((+)(x)(c))

but is there any information to tell if brackets are required? If not
nested OutputForm would always have to be put in brackets. So the
second case would have to be output with unnecessary brackets like
this:

(a * b) + c

>From my hazy memory I also seem to remember that OutputForm is not
fully documented, so it may contain precedence information that I was
not aware of. It would make sense for the precedence information to be
put into OutputForm from operation.daase rather than have it seperatly
coded into every implementation of OutputForm.

Martin Baker

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to