From: SourceForge.net <no...@so...> - 2004-10-22 22:13:49
|
Patches item #1031507, was opened at 2004-09-20 17:22 Message generated for change (Comment added) made by msofer You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=310894&aid=1031507&group_id=10894 Category: 44. Parsing and Eval Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Reinhard Max (rmax) Assigned to: miguel sofer (msofer) Summary: TIP #201 reference implementation Initial Comment: Here is my first try on implementing TIP #201. While doing this I stumbled over a parser problem with alphanumeric operators. Initially it tried to parse 'int()' as 'in t()' after adding 'in'. This would already have happened with 'eq', and 'ne' if there had been a function that started with one of those character seqences. As a workaround I am accepting alphanumeric operands only if they are not followed by another alphanumeric character. I'd like this to be reviewed by people with more C experience than I for correctness, and whether there is a better way to do it. ---------------------------------------------------------------------- >Comment By: miguel sofer (msofer) Date: 2004-10-22 19:13 Message: Logged In: YES user_id=148712 TIP #201 has been committed on 2004-10-08 by dkf. Implementation evolved from this patch. ---------------------------------------------------------------------- Comment By: Reinhard Max (rmax) Date: 2004-09-21 04:52 Message: Logged In: YES user_id=124643 I have moved the check for all alpha operators down to the place where boolean literals and function names are checked. I think it is better to have all alphanumeric parsing at one place. The only downside I can see is that it might be somewhat slower to have them there. The way it is implemented now implies that an operator or literal will never consist of anything but alphabetic caracters, and that there will never be a function name like in3() or true_42() that starts with alpha characters that look like an operator or a literal immediately followed by a digit or underscore. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2004-09-20 17:39 Message: Logged In: YES user_id=80530 test 25.4 fails -- just a copy/paste error writing the test. more seriously, the isalpha() tests should be moved a bit to avoid reading past the end of buffer. Tests in parseExpr.test (making use of the [testexprparser] command) would be best to verify those details. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=310894&aid=1031507&group_id=10894 |