Just some notes here that providing C syntax with Felix leads
to some interesting ambiguities such as:
int f(long q) { return x; }
being interpreted as
call (int f) (long q) { return x; };
i.e. as a call, because all the terms here are valid expressions
in Felix. OTOH 'int' isn't a keyword. Even worse:
int f(long q) { return x; }
f 1L;
becomes:
call (int f) (long q) { return x; } f 1L;
This is worse because whilst in the first case we
might prefer the C interpretation when merging two GLR
parses of a statement, that won't work in the second
case because we're preferring 1 C then 1 Felix/C statement
opposed to a single Felix statement.
The merge for this is currently:
statements statement
that is, ALL the previous statements are merged to the next one.
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language