Created Tuesday 18 November 2008
Ready to be merged
Allow more than 26 names for generic parameters
Generic parameters instead of being one letter will be composed of:
diff -r 66ff74a91036 src/parser.li --- a/src/parser.li Sat Aug 30 21:52:37 2008 +0200 +++ b/src/parser.li Sat Aug 30 21:57:17 2008 +0200 @@ -1513,6 +1513,7 @@ + continue:BOOLEAN; + t,result:ITM_TYPE_MONO; + old_pos,old_derive,sav_derive:INTEGER; + + type_parameter:BOOLEAN; (read_cap_identifier).if { old_pos := position; @@ -1553,9 +1554,16 @@ (! read_character ']').if { warning_error (current_position,"Added ']'."); }; // if - } else { - // Simple type. - (name.count = 1).if { + } else { + type_parameter := TRUE; + // Simple type. + (name.lower+1).to (name.upper) do { i:INTEGER; + name.item i.is_digit.if_false { + type_parameter := FALSE; + }; + }; + // (name.count = 1).if { + type_parameter.if { (style != NULL).if { string_tmp.copy "Style `"; string_tmp.append style;
Make this information public in the reference manual