Index: trunk/lib/Text/FormBuilder/grammar
===================================================================
--- trunk/lib/Text/FormBuilder/grammar	(revision 55)
+++ trunk/lib/Text/FormBuilder/grammar	(revision 56)
@@ -19,4 +19,5 @@
 	$list_var,
 	$size,
+	$maxlength,
 	$rows,
 	$cols,
@@ -157,4 +158,5 @@
 	$$field{cols} = $cols if defined $cols;
 	$$field{size} = $size if defined $size;
+	$$field{maxlength} = $maxlength if defined $maxlength;
 	
 	#warn "[$thisline] field $item{name}; context $context\n";
@@ -171,4 +173,5 @@
 	$rows = undef;
 	$cols = undef;
+	$maxlength = undef;
 	@options = ();
         
@@ -181,6 +184,8 @@
 field_size: '[' ( row_col | size ) ']'
 
-size: /\d+/
-    { $size = $item[1] }
+size: /\d+/ bang(?)
+    { $maxlength = $item[1] if $item[2][0]; $size = $item[1] }
+
+bang: '!'
 
 row_col: /\d+/ /,\s*/ /\d+/
