From: <no...@so...> - 2001-06-15 05:37:31
|
Bugs item #433133, was updated on 2001-06-14 07:46 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=102228&aid=433133&group_id=2228 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Allen Bell (apbell) >Assigned to: Robert Colquhoun (rjc) Summary: Problem with EQU and @vars Initial Comment: There appears to be a probem with name collisions when using equated symbols and @ variables that have identical names (after the @ sign). For example: EQU AM to CHAR(254) XXCNT = DCOUNT(HELP,@AM) The DCOUNT reference to @AM is being built improperly including CHAR and FMT. This sample is extracted from the LED program. COMPILER_BACKEND=JAVA_SOURCE (not tested with byte code) ---------------------------------------------------------------------- >Comment By: Robert Colquhoun (rjc) Date: 2001-06-14 22:37 Message: Logged In: YES user_id=11445 This is a problem because sometimes you want substitution and sometimes you don't ie EQU COMMAND TO ARR(10) COMMAND = "MYSUB" A = @COMMAND CALL @COMMAND(A) The first @COMMAND should not be substituted but the second should(at least i think so). At the moment equates just work alot like C #defines substituting every time they see the identifier(ie COMMAND which breaks the A = line). Previously this problem was hidden by the lexer matching the @COMMAND as an AT_VARIABLE causing breakages in the CALL line as the EQU substitution would not occur. Needs double checking in other compilers to see what the proper handling is. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=102228&aid=433133&group_id=2228 |