vala r859 - in trunk: . vala



Author: juergbi
Date: Fri Jan 18 22:00:34 2008
New Revision: 859
URL: http://svn.gnome.org/viewvc/vala?rev=859&view=rev

Log:
2008-01-18  Juerg Billeter  <j bitron ch>

	* vala/scanner.l: support nested generic types, fixes bug 443522


Modified:
   trunk/ChangeLog
   trunk/vala/scanner.l

Modified: trunk/vala/scanner.l
==============================================================================
--- trunk/vala/scanner.l	(original)
+++ trunk/vala/scanner.l	Fri Jan 18 22:00:34 2008
@@ -63,6 +63,9 @@
 integer_literal			({decimal_integer_literal}|{hexadecimal_integer_literal}|{octal_integer_literal}){integer_suffix}?
 literal				({integer_literal}|{real_literal}|{character_literal}|{string_literal})
 
+type_name			("weak"{space})?({ident}".")?{ident}
+generic_type			{type_name}("<"{space}{type_name}("?"|"*"+)?(","{space}{type_name}("?"|"*"+)?)*">")?("?"|"*"+)?
+
 %%
 
 "/*"				{ uploc; file_comment = (yylineno == 1); BEGIN (IN_COMMENT); }
@@ -110,7 +113,7 @@
 "<="		{ uploc; return OP_LE; }
 ">="		{ uploc; return OP_GE; }
 "=>"		{ uploc; return LAMBDA; }
-"<"{space}("weak"{space})?({ident}".")?{ident}("?"|"*"+)?("[]""?"?)?(","{space}("weak"{space})?({ident}".")?{ident}("?"|"*"+)?("[]""?"?)?)*">"	{ yyless (1); uploc; return GENERIC_LT; }
+"<"{space}{generic_type}{space}(","{space}{generic_type}{space})*">"	{ yyless (1); uploc; return GENERIC_LT; }
 "<"		{ uploc; return OP_LT; }
 ">"		{ uploc; return OP_GT; }
 "!"		{ uploc; return OP_NEG; }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]