[M3commit] CVS Update: cm3
Rodney M. Bates
rodney at elego.de
Thu May 19 22:16:49 CEST 2011
CVSROOT: /usr/cvs
Changes by: rodney at birch. 11/05/19 22:16:49
Modified files:
cm3/m3-tools/m3tk/src/sem/: M3CExpValue.m3
cm3/m3-tools/m3tk/src/syn/: M3CLex.m3
cm3/m3-tools/m3tk/src/target/: M3CBackEnd_C.m3
Log message:
More fixes for problems with LONGINT based literals in m3tk:
1) Procedure HexValue in M3CLex was accepting any letter as a hex digit.
For a LONGINT based literal, the 'L' was treated as a hex digit that
was out of range, leading to an error message. This affected INTEGER
based literals too, but it probably rarely/never happened.
2) With that fixed, scanning of a based LONGINT literal ignored the 'L'.
3) Scanning of an unbased LONGINT literal was detecting the 'L' and setting
the literal type to LONGINT, but didn't put the 'L' into the accumulated
string for the literal.
4) Those exposed that TextTo.Longint in M3CBackEnd_C did not count the 'L'
as used, generating another error.
Also:
5) Renamed some variables from "l" to "len". In my editor font, letter
'l' and digit '1' are indistinguishable without resorting to xmag,
leading to things like: "IF l>1".
6) Added acceptance of capital 'X' as a flag for hex escape sequences in
character and text literals.
More information about the M3commit
mailing list