[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