The fortran function prints user-defined operators as such, but probably should print them using ordinary function notation (i.e., function name then arguments in parentheses) since Fortran doesn't admit new operators.
prefix ("foo");
infix ("bar");
postfix ("baz");
nofix ("quux");
matchfix ("blurfle", "blart");
nary ("mumble");
fortran (foo a + b bar c + d baz + quux + blurfle e, f, g blart + h mumble j mumble k);
=>
h mumble j mumble k+blurflee,f,gblart+d baz+b bar
c+foo a+quux
should probably be
mumble(h, j, k) + blurfle(e, f, g) + baz(d) + bar(b, c) + foo(a) + quux()
I don't know how hard we should try to fix this. Maybe gentran (in share/) already handles this.
For the record,
f90also prints the same incorrect output.gentranhandles it mostly correctly, although thenofixoperator above should be output asquux()instead of justquux; the other operators (prefix,infix,matchfix,postfix, andnary) are all OK.