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