[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