Index: trunk/lib/Text/FormBuilder/grammar
===================================================================
--- trunk/lib/Text/FormBuilder/grammar	(revision 84)
+++ trunk/lib/Text/FormBuilder/grammar	(revision 87)
@@ -40,5 +40,5 @@
 	%formspec = ();  # clear the old formspec data
     }
-    (list_def | description_def | group_def | note | unknown_block_directive | line)(s)
+    (list_def | description_def | group_def | note | fb_params | unknown_block_directive | line)(s)
     {
 	# grab the last section, if there is any
@@ -53,17 +53,18 @@
 	
 	$return = {
-	    title    => $formspec{title},
-	    author   => $formspec{author},
+	    fb_params   => $formspec{fb_params},
+	    title       => $formspec{title},
+	    author      => $formspec{author},
 	    description => $formspec{description},
-	    lists    => \%lists,
-	    patterns => \%patterns,
-	    subs     => \%subs,
-	    groups   => \%groups,
-	    sections => \@sections,
+	    lists       => \%lists,
+	    patterns    => \%patterns,
+	    subs        => \%subs,
+	    groups      => \%groups,
+	    sections    => \@sections,
 	    ( @submit ? 
 		(submit => @submit == 1 ? $submit[0] : \@submit) :
 		()
 	    ),
-	    reset => $formspec{reset},
+	    reset       => $formspec{reset},
 	}
     }
@@ -173,4 +174,8 @@
 group_name: /%[A-Z_]+/
 
+# parameters that get passed to the FB constructor; these are serialized in YAML
+fb_params: '!fb' block
+    { $formspec{fb_params} .= $item{block}; }
+
 field_group: name label(?) hint(?) group_type comment(?)
     {
@@ -189,5 +194,5 @@
 # this is the real heart of the thing
 field: name field_size(?) growable(?) label(?) hint(?) type(?) multi(?) other(?) default(?) option_list(?) validate(?) comment(?)
-    {
+    {	
 	my $field = {
 	    name     => $item{name},
