Merge commit 'HEAD'; commit 'savannah/master'
[pspp-builds.git] / src / language / expressions / generate.pl
index 6eab24365d624174523872fa6b7e3a01bdc096cc..def34255c838d780cb1c30845e677ca196ca1948 100644 (file)
@@ -16,7 +16,7 @@ init_all_types ();
 
 # Parse input file.
 our (%ops);
-our (@funcs, @opers);
+our (@funcs, @opers, @order);
 parse_input ();
 
 # Produce output.
@@ -99,6 +99,9 @@ sub init_all_types {
     init_type ('str_var', 'leaf', C_TYPE => 'const struct variable *',
               ATOM => 'variable', MANGLE => 'Vs',
               HUMAN_NAME => 'string_variable');
+    init_type ('var', 'leaf', C_TYPE => 'const struct variable *',
+              ATOM => 'variable', MANGLE => 'V',
+              HUMAN_NAME => 'variable');
 
     # Vectors.
     init_type ('vector', 'leaf', C_TYPE => 'const struct vector *',
@@ -245,6 +248,8 @@ sub parse_input {
                $op{ABSORB_MISS} = 1;
            } elsif (match ('perm_only')) {
                $op{PERM_ONLY} = 1;
+           } elsif (match ('no_abbrev')) {
+               $op{NO_ABBREV} = 1;
            } else {
                last;
            }
@@ -375,7 +380,7 @@ sub parse_input {
                       $ops{$a}->{OPNAME} cmp $ops{$b}->{OPNAME}}
       @funcs;
     @opers = sort {$ops{$a}->{NAME} cmp $ops{$b}->{NAME}} @opers;
-    our (@order) = (@funcs, @opers);
+    @order = (@funcs, @opers);
 }
 
 # Reads the next token into $token, $toktype.