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
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to