[Forensics-changes] [yara] 213/368: Update grammar.c with changes introduced in 9c044f32763fa793f7e0a2c0e00dd3606e891b90

Hilko Bengen bengen at moszumanska.debian.org
Sat Jul 1 10:30:41 UTC 2017


This is an automated email from the git hooks/post-receive script.

bengen pushed a commit to annotated tag v3.5.0
in repository yara.

commit d60e5b24f0af1acd86c9232037a823bf4ded5aa9
Author: plusvic <plusvic at gmail.com>
Date:   Mon Feb 29 17:15:28 2016 +0100

    Update grammar.c with changes introduced in 9c044f32763fa793f7e0a2c0e00dd3606e891b90
---
 libyara/grammar.c | 799 ++++++++++++++++++++++++++++--------------------------
 1 file changed, 408 insertions(+), 391 deletions(-)

diff --git a/libyara/grammar.c b/libyara/grammar.c
index 4ced59d..8d29eaa 100644
--- a/libyara/grammar.c
+++ b/libyara/grammar.c
@@ -507,16 +507,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  2
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   390
+#define YYLAST   399
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  72
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  41
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  120
+#define YYNRULES  121
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  207
+#define YYNSTATES  209
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -569,16 +569,16 @@ static const yytype_uint16 yyprhs[] =
        0,     0,     3,     4,     7,    10,    14,    18,    22,    25,
       26,    27,    39,    40,    44,    45,    49,    53,    54,    57,
       59,    61,    62,    65,    67,    70,    72,    75,    79,    83,
-      87,    91,    93,    96,    97,   103,   104,   110,   114,   115,
-     118,   120,   122,   124,   126,   128,   132,   137,   142,   143,
-     145,   147,   151,   153,   155,   157,   159,   163,   167,   169,
-     173,   177,   178,   179,   191,   192,   202,   206,   209,   210,
-     215,   216,   221,   225,   229,   233,   237,   241,   245,   247,
-     251,   255,   257,   263,   265,   269,   270,   275,   277,   279,
-     283,   285,   287,   289,   291,   293,   297,   299,   301,   306,
-     308,   310,   312,   314,   319,   321,   326,   328,   330,   333,
-     337,   341,   345,   349,   353,   357,   361,   365,   368,   372,
-     376
+      88,    92,    96,    98,   101,   102,   108,   109,   115,   119,
+     120,   123,   125,   127,   129,   131,   133,   137,   142,   147,
+     148,   150,   152,   156,   158,   160,   162,   164,   168,   172,
+     174,   178,   182,   183,   184,   196,   197,   207,   211,   214,
+     215,   220,   221,   226,   230,   234,   238,   242,   246,   250,
+     252,   256,   260,   262,   268,   270,   274,   275,   280,   282,
+     284,   288,   290,   292,   294,   296,   298,   302,   304,   306,
+     311,   313,   315,   317,   319,   324,   326,   331,   333,   335,
+     338,   342,   346,   350,   354,   358,   362,   366,   370,   373,
+     377,   381
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
@@ -592,36 +592,37 @@ static const yytype_int8 yyrhs[] =
       64,    97,    -1,    -1,    81,    82,    -1,     5,    -1,     6,
       -1,    -1,    64,    84,    -1,    10,    -1,    84,    10,    -1,
       86,    -1,    85,    86,    -1,    10,    65,    19,    -1,    10,
-      65,    16,    -1,    10,    65,    38,    -1,    10,    65,    39,
-      -1,    88,    -1,    87,    88,    -1,    -1,    11,    65,    89,
-      19,    91,    -1,    -1,    11,    65,    90,    21,    91,    -1,
-      11,    65,    20,    -1,    -1,    91,    92,    -1,    23,    -1,
-      22,    -1,    24,    -1,    25,    -1,    10,    -1,    93,    66,
-      10,    -1,    93,    67,   112,    68,    -1,    93,    69,    94,
-      70,    -1,    -1,    95,    -1,    98,    -1,    95,    71,    98,
-      -1,    21,    -1,    98,    -1,    38,    -1,    39,    -1,   112,
-      35,    96,    -1,   112,    36,   112,    -1,    11,    -1,    11,
-      26,   112,    -1,    11,    31,   105,    -1,    -1,    -1,    33,
-     111,    10,    31,    99,   104,    64,   100,    69,    97,    70,
-      -1,    -1,    33,   111,    32,   107,    64,   101,    69,    97,
-      70,    -1,   111,    32,   107,    -1,    60,    97,    -1,    -1,
-      97,    41,   102,    97,    -1,    -1,    97,    40,   103,    97,
-      -1,   112,    50,   112,    -1,   112,    48,   112,    -1,   112,
-      49,   112,    -1,   112,    47,   112,    -1,   112,    46,   112,
-      -1,   112,    45,   112,    -1,   112,    -1,    69,    98,    70,
-      -1,    69,   106,    70,    -1,   105,    -1,    69,   112,     3,
-     112,    70,    -1,   112,    -1,   106,    71,   112,    -1,    -1,
-      69,   108,   109,    70,    -1,    34,    -1,   110,    -1,   109,
-      71,   110,    -1,    11,    -1,    15,    -1,   112,    -1,    29,
-      -1,    30,    -1,    69,   112,    70,    -1,    27,    -1,    28,
-      -1,    18,    69,   112,    70,    -1,    16,    -1,    17,    -1,
-      19,    -1,    12,    -1,    13,    67,   112,    68,    -1,    13,
-      -1,    14,    67,   112,    68,    -1,    14,    -1,    93,    -1,
-      54,   112,    -1,   112,    53,   112,    -1,   112,    54,   112,
-      -1,   112,    55,   112,    -1,   112,    56,   112,    -1,   112,
-      57,   112,    -1,   112,    43,   112,    -1,   112,    44,   112,
-      -1,   112,    42,   112,    -1,    58,   112,    -1,   112,    52,
-     112,    -1,   112,    51,   112,    -1,    96,    -1
+      65,    16,    -1,    10,    65,    54,    16,    -1,    10,    65,
+      38,    -1,    10,    65,    39,    -1,    88,    -1,    87,    88,
+      -1,    -1,    11,    65,    89,    19,    91,    -1,    -1,    11,
+      65,    90,    21,    91,    -1,    11,    65,    20,    -1,    -1,
+      91,    92,    -1,    23,    -1,    22,    -1,    24,    -1,    25,
+      -1,    10,    -1,    93,    66,    10,    -1,    93,    67,   112,
+      68,    -1,    93,    69,    94,    70,    -1,    -1,    95,    -1,
+      98,    -1,    95,    71,    98,    -1,    21,    -1,    98,    -1,
+      38,    -1,    39,    -1,   112,    35,    96,    -1,   112,    36,
+     112,    -1,    11,    -1,    11,    26,   112,    -1,    11,    31,
+     105,    -1,    -1,    -1,    33,   111,    10,    31,    99,   104,
+      64,   100,    69,    97,    70,    -1,    -1,    33,   111,    32,
+     107,    64,   101,    69,    97,    70,    -1,   111,    32,   107,
+      -1,    60,    97,    -1,    -1,    97,    41,   102,    97,    -1,
+      -1,    97,    40,   103,    97,    -1,   112,    50,   112,    -1,
+     112,    48,   112,    -1,   112,    49,   112,    -1,   112,    47,
+     112,    -1,   112,    46,   112,    -1,   112,    45,   112,    -1,
+     112,    -1,    69,    98,    70,    -1,    69,   106,    70,    -1,
+     105,    -1,    69,   112,     3,   112,    70,    -1,   112,    -1,
+     106,    71,   112,    -1,    -1,    69,   108,   109,    70,    -1,
+      34,    -1,   110,    -1,   109,    71,   110,    -1,    11,    -1,
+      15,    -1,   112,    -1,    29,    -1,    30,    -1,    69,   112,
+      70,    -1,    27,    -1,    28,    -1,    18,    69,   112,    70,
+      -1,    16,    -1,    17,    -1,    19,    -1,    12,    -1,    13,
+      67,   112,    68,    -1,    13,    -1,    14,    67,   112,    68,
+      -1,    14,    -1,    93,    -1,    54,   112,    -1,   112,    53,
+     112,    -1,   112,    54,   112,    -1,   112,    55,   112,    -1,
+     112,    56,   112,    -1,   112,    57,   112,    -1,   112,    43,
+     112,    -1,   112,    44,   112,    -1,   112,    42,   112,    -1,
+      58,   112,    -1,   112,    52,   112,    -1,   112,    51,   112,
+      -1,    96,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -630,16 +631,16 @@ static const yytype_uint16 yyrline[] =
        0,   200,   200,   202,   203,   204,   205,   206,   211,   224,
      233,   223,   256,   259,   287,   290,   317,   322,   323,   328,
      329,   335,   338,   356,   369,   406,   407,   412,   428,   441,
-     454,   471,   472,   478,   477,   493,   492,   508,   522,   523,
-     528,   529,   530,   531,   536,   621,   667,   725,   770,   771,
-     775,   800,   836,   882,   904,   913,   922,   937,   949,   963,
-     976,   988,  1018,   987,  1134,  1133,  1213,  1219,  1226,  1225,
-    1288,  1287,  1348,  1357,  1366,  1375,  1384,  1393,  1402,  1406,
-    1414,  1415,  1420,  1442,  1454,  1470,  1469,  1475,  1486,  1487,
-    1492,  1499,  1510,  1511,  1515,  1523,  1527,  1537,  1551,  1567,
-    1577,  1586,  1611,  1623,  1635,  1651,  1663,  1679,  1724,  1743,
-    1761,  1779,  1797,  1823,  1841,  1851,  1861,  1871,  1881,  1891,
-    1901
+     454,   467,   484,   485,   491,   490,   506,   505,   521,   535,
+     536,   541,   542,   543,   544,   549,   634,   680,   738,   783,
+     784,   788,   813,   849,   895,   917,   926,   935,   950,   962,
+     976,   989,  1001,  1031,  1000,  1147,  1146,  1226,  1232,  1239,
+    1238,  1301,  1300,  1361,  1370,  1379,  1388,  1397,  1406,  1415,
+    1419,  1427,  1428,  1433,  1455,  1467,  1483,  1482,  1488,  1499,
+    1500,  1505,  1512,  1523,  1524,  1528,  1536,  1540,  1550,  1564,
+    1580,  1590,  1599,  1624,  1636,  1648,  1664,  1676,  1692,  1737,
+    1756,  1774,  1792,  1810,  1836,  1854,  1864,  1874,  1884,  1894,
+    1904,  1914
 };
 #endif
 
@@ -694,16 +695,16 @@ static const yytype_uint8 yyr1[] =
        0,    72,    73,    73,    73,    73,    73,    73,    74,    76,
       77,    75,    78,    78,    79,    79,    80,    81,    81,    82,
       82,    83,    83,    84,    84,    85,    85,    86,    86,    86,
-      86,    87,    87,    89,    88,    90,    88,    88,    91,    91,
-      92,    92,    92,    92,    93,    93,    93,    93,    94,    94,
-      95,    95,    96,    97,    98,    98,    98,    98,    98,    98,
-      98,    99,   100,    98,   101,    98,    98,    98,   102,    98,
-     103,    98,    98,    98,    98,    98,    98,    98,    98,    98,
-     104,   104,   105,   106,   106,   108,   107,   107,   109,   109,
-     110,   110,   111,   111,   111,   112,   112,   112,   112,   112,
+      86,    86,    87,    87,    89,    88,    90,    88,    88,    91,
+      91,    92,    92,    92,    92,    93,    93,    93,    93,    94,
+      94,    95,    95,    96,    97,    98,    98,    98,    98,    98,
+      98,    98,    99,   100,    98,   101,    98,    98,    98,   102,
+      98,   103,    98,    98,    98,    98,    98,    98,    98,    98,
+      98,   104,   104,   105,   106,   106,   108,   107,   107,   109,
+     109,   110,   110,   111,   111,   111,   112,   112,   112,   112,
      112,   112,   112,   112,   112,   112,   112,   112,   112,   112,
      112,   112,   112,   112,   112,   112,   112,   112,   112,   112,
-     112
+     112,   112
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -711,17 +712,17 @@ static const yytype_uint8 yyr2[] =
 {
        0,     2,     0,     2,     2,     3,     3,     3,     2,     0,
        0,    11,     0,     3,     0,     3,     3,     0,     2,     1,
-       1,     0,     2,     1,     2,     1,     2,     3,     3,     3,
-       3,     1,     2,     0,     5,     0,     5,     3,     0,     2,
-       1,     1,     1,     1,     1,     3,     4,     4,     0,     1,
-       1,     3,     1,     1,     1,     1,     3,     3,     1,     3,
-       3,     0,     0,    11,     0,     9,     3,     2,     0,     4,
-       0,     4,     3,     3,     3,     3,     3,     3,     1,     3,
-       3,     1,     5,     1,     3,     0,     4,     1,     1,     3,
-       1,     1,     1,     1,     1,     3,     1,     1,     4,     1,
-       1,     1,     1,     4,     1,     4,     1,     1,     2,     3,
-       3,     3,     3,     3,     3,     3,     3,     2,     3,     3,
-       1
+       1,     0,     2,     1,     2,     1,     2,     3,     3,     4,
+       3,     3,     1,     2,     0,     5,     0,     5,     3,     0,
+       2,     1,     1,     1,     1,     1,     3,     4,     4,     0,
+       1,     1,     3,     1,     1,     1,     1,     3,     3,     1,
+       3,     3,     0,     0,    11,     0,     9,     3,     2,     0,
+       4,     0,     4,     3,     3,     3,     3,     3,     3,     1,
+       3,     3,     1,     5,     1,     3,     0,     4,     1,     1,
+       3,     1,     1,     1,     1,     1,     3,     1,     1,     4,
+       1,     1,     1,     1,     4,     1,     4,     1,     1,     2,
+       3,     3,     3,     3,     3,     3,     3,     3,     2,     3,
+       3,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -732,151 +733,151 @@ static const yytype_uint8 yydefact[] =
        2,     0,     1,    17,     0,     4,     3,     0,     7,     6,
        5,     8,     0,    19,    20,    18,     9,    21,     0,     0,
       23,    22,    12,    24,     0,    14,     0,     0,    10,     0,
-      13,    25,     0,     0,     0,    26,     0,    15,    31,     0,
-       0,    28,    27,    29,    30,    33,    32,     0,    11,    37,
-       0,     0,    44,    58,   102,   104,   106,    99,   100,     0,
-     101,    52,    96,    97,    93,    94,     0,    54,    55,     0,
-       0,     0,     0,   107,   120,    16,    53,     0,    78,    38,
-      38,     0,     0,     0,     0,     0,     0,     0,    92,   108,
-     117,    67,     0,    53,    78,     0,     0,    48,    70,    68,
+      13,    25,     0,     0,     0,    26,     0,    15,    32,     0,
+       0,    28,    27,    30,    31,     0,    34,    33,     0,    11,
+      29,    38,     0,     0,    45,    59,   103,   105,   107,   100,
+     101,     0,   102,    53,    97,    98,    94,    95,     0,    55,
+      56,     0,     0,     0,     0,   108,   121,    16,    54,     0,
+      79,    39,    39,     0,     0,     0,     0,     0,     0,     0,
+      93,   109,   118,    68,     0,    54,    79,     0,     0,    49,
+      71,    69,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
-      36,    59,     0,    60,     0,     0,     0,     0,     0,     0,
-      79,    95,    45,     0,     0,    49,    50,     0,     0,    87,
-      85,    66,    56,    57,   116,   114,   115,    77,    76,    75,
-      73,    74,    72,   119,   118,   109,   110,   111,   112,   113,
-      41,    40,    42,    43,    39,     0,   103,   105,    98,    61,
-       0,    46,    47,     0,    71,    69,     0,     0,     0,    64,
-      51,    90,    91,     0,    88,     0,     0,     0,    81,     0,
-      86,     0,    82,     0,    83,    62,     0,    89,    80,     0,
-       0,     0,    84,     0,    65,     0,    63
+       0,    35,    37,    60,     0,    61,     0,     0,     0,     0,
+       0,     0,    80,    96,    46,     0,     0,    50,    51,     0,
+       0,    88,    86,    67,    57,    58,   117,   115,   116,    78,
+      77,    76,    74,    75,    73,   120,   119,   110,   111,   112,
+     113,   114,    42,    41,    43,    44,    40,     0,   104,   106,
+      99,    62,     0,    47,    48,     0,    72,    70,     0,     0,
+       0,    65,    52,    91,    92,     0,    89,     0,     0,     0,
+      82,     0,    87,     0,    83,     0,    84,    63,     0,    90,
+      81,     0,     0,     0,    85,     0,    66,     0,    64
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
       -1,     1,     5,     6,    17,    33,    25,    28,    40,     7,
-      15,    19,    21,    30,    31,    37,    38,    50,    51,   119,
-     164,    73,   134,   135,    74,    92,    76,   178,   200,   189,
-     138,   137,   187,   123,   193,   141,   176,   183,   184,    77,
-      78
+      15,    19,    21,    30,    31,    37,    38,    52,    53,   121,
+     166,    75,   136,   137,    76,    94,    78,   180,   202,   191,
+     140,   139,   189,   125,   195,   143,   178,   185,   186,    79,
+      80
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -71
+#define YYPACT_NINF -73
 static const yytype_int16 yypact[] =
 {
-     -71,   157,   -71,   -31,    -7,   -71,   -71,    68,   -71,   -71,
-     -71,   -71,     5,   -71,   -71,   -71,   -71,   -10,     7,   -33,
-     -71,    46,    61,   -71,    35,    93,   112,    59,   -71,    63,
-     112,   -71,   128,   139,    -5,   -71,    85,   128,   -71,    89,
-      91,   -71,   -71,   -71,   -71,     2,   -71,    48,   -71,   -71,
-     133,   138,   -71,   -23,   -71,    98,   100,   -71,   -71,    95,
-     -71,   -71,   -71,   -71,   -71,   -71,    97,   -71,   -71,   119,
-     119,    48,    48,    13,   -71,    64,   -71,   140,   297,   -71,
-     -71,   119,    99,   119,   119,   119,   119,     0,    41,   -71,
-     -71,   -71,    64,    90,   154,   164,   119,    48,   -71,   -71,
-      -6,   155,   119,   119,   119,   119,   119,   119,   119,   119,
-     119,   119,   119,   119,   119,   119,   119,   119,   119,   190,
-     190,    41,   119,   -71,   234,   252,   174,   194,   144,    -6,
-     -71,   -71,   -71,   270,   115,   116,    79,    48,    48,   -71,
-     -71,   -71,   -71,    41,   312,   326,   333,    41,    41,    41,
-      41,    41,    41,    88,    88,   136,   136,   -71,   -71,   -71,
-     -71,   -71,   -71,   -71,   -71,   127,   -71,   -71,   -71,   -71,
-     131,   -71,   -71,    48,   178,   -71,    -2,   119,   151,   -71,
-      79,   -71,   -71,   -35,   -71,   214,   119,   158,   -71,   152,
-     -71,    -2,   -71,    18,   127,   -71,    48,   -71,   -71,   119,
-     163,   -15,    41,    48,   -71,    30,   -71
+     -73,   148,   -73,   -31,    -9,   -73,   -73,    18,   -73,   -73,
+     -73,   -73,     2,   -73,   -73,   -73,   -73,   -38,    19,   -28,
+     -73,    26,    61,   -73,    -8,    80,    90,    56,   -73,    63,
+      90,   -73,   128,   147,    16,   -73,    98,   128,   -73,   100,
+     102,   -73,   -73,   -73,   -73,   151,    53,   -73,    48,   -73,
+     -73,   -73,   149,   153,   -73,   -23,   -73,   105,   108,   -73,
+     -73,   107,   -73,   -73,   -73,   -73,   -73,   -73,    97,   -73,
+     -73,   119,   119,    48,    48,   -52,   -73,    39,   -73,   155,
+     297,   -73,   -73,   119,   122,   119,   119,   119,   119,     1,
+     313,   -73,   -73,   -73,    39,   123,   154,   182,   119,    48,
+     -73,   -73,    -6,   173,   119,   119,   119,   119,   119,   119,
+     119,   119,   119,   119,   119,   119,   119,   119,   119,   119,
+     119,    60,    60,   313,   119,   -73,   234,   252,   174,   194,
+     164,    -6,   -73,   -73,   -73,   270,   142,   143,    64,    48,
+      48,   -73,   -73,   -73,   -73,   313,   328,   342,    42,   313,
+     313,   313,   313,   313,   313,    88,    88,   103,   103,   -73,
+     -73,   -73,   -73,   -73,   -73,   -73,   -73,   127,   -73,   -73,
+     -73,   -73,   156,   -73,   -73,    48,   172,   -73,    -2,   119,
+     146,   -73,    64,   -73,   -73,    52,   -73,   214,   119,   157,
+     -73,   150,   -73,    -2,   -73,    91,   127,   -73,    48,   -73,
+     -73,   119,   163,    31,   313,    48,   -73,    49,   -73
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-     -71,   -71,   220,   230,   -71,   -71,   -71,   -71,   -71,   -71,
-     -71,   -71,   -71,   -71,   204,   -71,   198,   -71,   -71,   159,
-     -71,   -71,   -71,   -71,   141,   -47,   -70,   -71,   -71,   -71,
-     -71,   -71,   -71,    62,   -71,   114,   -71,   -71,    50,   186,
-     -65
+     -73,   -73,   219,   220,   -73,   -73,   -73,   -73,   -73,   -73,
+     -73,   -73,   -73,   -73,   203,   -73,   197,   -73,   -73,   158,
+     -73,   -73,   -73,   -73,   132,   -48,   -72,   -73,   -73,   -73,
+     -73,   -73,   -73,    59,   -73,   110,   -73,   -73,    50,   184,
+     -67
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -93
+#define YYTABLE_NINF -94
 static const yytype_int16 yytable[] =
 {
-      75,    88,    93,    81,    89,    90,     4,    94,    82,   181,
-     128,    41,    11,   182,    42,    16,   121,    20,   124,   125,
-     126,   127,    49,   -35,    91,    98,    99,   136,   139,    22,
-       8,   133,   129,    43,    44,   190,   191,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,    18,   204,    23,   165,    52,    53,
-      54,    55,    56,   140,    57,    58,    59,    60,    24,    61,
-      98,    99,    12,    13,    14,    62,    63,    64,    65,    95,
-      96,    66,    97,   103,   104,   105,    67,    68,   198,   199,
-     174,   175,   112,   113,   114,   115,   116,   117,   118,    26,
-     206,    27,    69,   180,    98,    99,    70,    52,    71,    54,
-      55,    56,   185,    57,    58,    59,    60,    72,    61,   -53,
-     -53,   194,    29,    32,    62,    63,    64,    65,    34,    52,
-     177,    54,    55,    56,   202,    57,    58,    59,    60,    36,
-      61,   114,   115,   116,   117,   118,    62,    63,    39,   201,
-      45,    69,    79,    47,    48,    70,   205,     2,     3,    80,
-     130,   -17,   -17,   -17,    85,    83,    86,    84,   122,   103,
-     104,   105,   100,    69,   132,   169,    61,    70,   112,   113,
-     114,   115,   116,   117,   118,   172,   -92,   173,    86,   101,
-     102,   116,   117,   118,     4,   179,   103,   104,   105,   106,
-     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
-     117,   118,   160,   161,   162,   163,   103,   104,   105,    99,
-     186,   196,   195,     9,   131,   112,   113,   114,   115,   116,
-     117,   118,   203,    10,    35,    46,   103,   104,   105,   120,
-     188,   197,   142,   170,   168,   112,   113,   114,   115,   116,
-     117,   118,    87,     0,     0,     0,   103,   104,   105,     0,
-       0,     0,     0,     0,   131,   112,   113,   114,   115,   116,
-     117,   118,     0,     0,     0,     0,   103,   104,   105,     0,
-       0,     0,     0,     0,   192,   112,   113,   114,   115,   116,
-     117,   118,     0,     0,   103,   104,   105,     0,     0,     0,
-       0,     0,   166,   112,   113,   114,   115,   116,   117,   118,
-       0,     0,   103,   104,   105,     0,     0,     0,     0,     0,
-     167,   112,   113,   114,   115,   116,   117,   118,     0,   -92,
-       0,     0,   101,   102,     0,     0,     0,     0,   171,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   104,   105,     0,     0,     0,
-       0,     0,     0,   112,   113,   114,   115,   116,   117,   118,
-     105,     0,     0,     0,     0,     0,     0,   112,   113,   114,
-     115,   116,   117,   118,   112,   113,   114,   115,   116,   117,
-     118
+      77,    90,    95,    83,    91,    92,     4,    96,    84,   183,
+      11,   130,    16,   184,    97,    98,   123,    99,   126,   127,
+     128,   129,    12,    13,    14,    93,    18,   138,   141,    20,
+       8,   135,    41,   131,    22,    42,    23,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,    43,    44,    26,   167,    54,    55,
+      56,    57,    58,   142,    59,    60,    61,    62,    24,    63,
+      45,   100,   101,    51,   -36,    64,    65,    66,    67,   100,
+     101,    68,   162,   163,   164,   165,    69,    70,    27,   100,
+     101,   176,   177,   114,   115,   116,   117,   118,   119,   120,
+      29,   206,    71,   182,   -54,   -54,    72,    54,    73,    56,
+      57,    58,   187,    59,    60,    61,    62,    74,    63,   208,
+      32,   196,   192,   193,    64,    65,    66,    67,    34,    54,
+     179,    56,    57,    58,   204,    59,    60,    61,    62,    36,
+      63,   116,   117,   118,   119,   120,    64,    65,     2,     3,
+     203,    71,   -17,   -17,   -17,    72,    39,   207,   118,   119,
+     120,   200,   201,    46,    48,    49,    88,    50,    81,   105,
+     106,   107,    85,    71,    82,    86,    87,    72,   114,   115,
+     116,   117,   118,   119,   120,     4,   -93,   102,    88,   103,
+     104,   124,   134,   132,    63,   171,   105,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   120,   174,   101,   175,   188,   105,   106,   107,   198,
+     181,   197,     9,    10,   133,   114,   115,   116,   117,   118,
+     119,   120,   205,    35,    47,   144,   105,   106,   107,   190,
+     122,   172,     0,   199,   170,   114,   115,   116,   117,   118,
+     119,   120,    89,     0,     0,     0,   105,   106,   107,     0,
+       0,     0,     0,     0,   133,   114,   115,   116,   117,   118,
+     119,   120,     0,     0,     0,     0,   105,   106,   107,     0,
+       0,     0,     0,     0,   194,   114,   115,   116,   117,   118,
+     119,   120,     0,     0,   105,   106,   107,     0,     0,     0,
+       0,     0,   168,   114,   115,   116,   117,   118,   119,   120,
+       0,     0,   105,   106,   107,     0,     0,     0,     0,     0,
+     169,   114,   115,   116,   117,   118,   119,   120,     0,   -93,
+       0,     0,   103,   104,     0,     0,     0,     0,   173,   105,
+     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+     116,   117,   118,   119,   120,   105,   106,   107,     0,     0,
+       0,     0,     0,     0,   114,   115,   116,   117,   118,   119,
+     120,   106,   107,     0,     0,     0,     0,     0,     0,   114,
+     115,   116,   117,   118,   119,   120,   107,     0,     0,     0,
+       0,     0,     0,   114,   115,   116,   117,   118,   119,   120
 };
 
 static const yytype_int16 yycheck[] =
 {
-      47,    66,    72,    26,    69,    70,    37,    72,    31,    11,
-      10,    16,    19,    15,    19,    10,    81,    10,    83,    84,
-      85,    86,    20,    21,    71,    40,    41,    97,    34,    62,
-      61,    96,    32,    38,    39,    70,    71,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
-     115,   116,   117,   118,    64,    70,    10,   122,    10,    11,
+      48,    68,    74,    26,    71,    72,    37,    74,    31,    11,
+      19,    10,    10,    15,    66,    67,    83,    69,    85,    86,
+      87,    88,     4,     5,     6,    73,    64,    99,    34,    10,
+      61,    98,    16,    32,    62,    19,    10,   104,   105,   106,
+     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
+     117,   118,   119,   120,    38,    39,    64,   124,    10,    11,
       12,    13,    14,    69,    16,    17,    18,    19,     7,    21,
-      40,    41,     4,     5,     6,    27,    28,    29,    30,    66,
-      67,    33,    69,    42,    43,    44,    38,    39,    70,    71,
-     137,   138,    51,    52,    53,    54,    55,    56,    57,    64,
-      70,     8,    54,   173,    40,    41,    58,    10,    60,    12,
-      13,    14,   177,    16,    17,    18,    19,    69,    21,    40,
-      41,   186,    10,    64,    27,    28,    29,    30,    65,    10,
-       3,    12,    13,    14,   199,    16,    17,    18,    19,    11,
-      21,    53,    54,    55,    56,    57,    27,    28,     9,   196,
-      65,    54,    19,    64,    63,    58,   203,     0,     1,    21,
-      70,     4,     5,     6,    69,    67,    69,    67,    69,    42,
-      43,    44,    32,    54,    10,    31,    21,    58,    51,    52,
-      53,    54,    55,    56,    57,    70,    32,    71,    69,    35,
-      36,    55,    56,    57,    37,    64,    42,    43,    44,    45,
+      54,    40,    41,    20,    21,    27,    28,    29,    30,    40,
+      41,    33,    22,    23,    24,    25,    38,    39,     8,    40,
+      41,   139,   140,    51,    52,    53,    54,    55,    56,    57,
+      10,    70,    54,   175,    40,    41,    58,    10,    60,    12,
+      13,    14,   179,    16,    17,    18,    19,    69,    21,    70,
+      64,   188,    70,    71,    27,    28,    29,    30,    65,    10,
+       3,    12,    13,    14,   201,    16,    17,    18,    19,    11,
+      21,    53,    54,    55,    56,    57,    27,    28,     0,     1,
+     198,    54,     4,     5,     6,    58,     9,   205,    55,    56,
+      57,    70,    71,    65,    64,    63,    69,    16,    19,    42,
+      43,    44,    67,    54,    21,    67,    69,    58,    51,    52,
+      53,    54,    55,    56,    57,    37,    32,    32,    69,    35,
+      36,    69,    10,    70,    21,    31,    42,    43,    44,    45,
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    22,    23,    24,    25,    42,    43,    44,    41,
-      69,    69,    64,     3,    70,    51,    52,    53,    54,    55,
-      56,    57,    69,     3,    30,    37,    42,    43,    44,    80,
-     178,   191,   101,   129,    70,    51,    52,    53,    54,    55,
-      56,    57,    66,    -1,    -1,    -1,    42,    43,    44,    -1,
+      56,    57,    70,    41,    71,    69,    42,    43,    44,    69,
+      64,    64,     3,     3,    70,    51,    52,    53,    54,    55,
+      56,    57,    69,    30,    37,   103,    42,    43,    44,   180,
+      82,   131,    -1,   193,    70,    51,    52,    53,    54,    55,
+      56,    57,    68,    -1,    -1,    -1,    42,    43,    44,    -1,
       -1,    -1,    -1,    -1,    70,    51,    52,    53,    54,    55,
       56,    57,    -1,    -1,    -1,    -1,    42,    43,    44,    -1,
       -1,    -1,    -1,    -1,    70,    51,    52,    53,    54,    55,
@@ -886,11 +887,11 @@ static const yytype_int16 yycheck[] =
       68,    51,    52,    53,    54,    55,    56,    57,    -1,    32,
       -1,    -1,    35,    36,    -1,    -1,    -1,    -1,    68,    42,
       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    55,    56,    57,    43,    44,    -1,    -1,    -1,
-      -1,    -1,    -1,    51,    52,    53,    54,    55,    56,    57,
-      44,    -1,    -1,    -1,    -1,    -1,    -1,    51,    52,    53,
-      54,    55,    56,    57,    51,    52,    53,    54,    55,    56,
-      57
+      53,    54,    55,    56,    57,    42,    43,    44,    -1,    -1,
+      -1,    -1,    -1,    -1,    51,    52,    53,    54,    55,    56,
+      57,    43,    44,    -1,    -1,    -1,    -1,    -1,    -1,    51,
+      52,    53,    54,    55,    56,    57,    44,    -1,    -1,    -1,
+      -1,    -1,    -1,    51,    52,    53,    54,    55,    56,    57
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -901,23 +902,23 @@ static const yytype_uint8 yystos[] =
       75,    19,     4,     5,     6,    82,    10,    76,    64,    83,
       10,    84,    62,    10,     7,    78,    64,     8,    79,    10,
       85,    86,    64,    77,    65,    86,    11,    87,    88,     9,
-      80,    16,    19,    38,    39,    65,    88,    64,    63,    20,
-      89,    90,    10,    11,    12,    13,    14,    16,    17,    18,
-      19,    21,    27,    28,    29,    30,    33,    38,    39,    54,
-      58,    60,    69,    93,    96,    97,    98,   111,   112,    19,
-      21,    26,    31,    67,    67,    69,    69,   111,   112,   112,
-     112,    97,    97,    98,   112,    66,    67,    69,    40,    41,
-      32,    35,    36,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    91,
-      91,   112,    69,   105,   112,   112,   112,   112,    10,    32,
-      70,    70,    10,   112,    94,    95,    98,   103,   102,    34,
-      69,   107,    96,   112,   112,   112,   112,   112,   112,   112,
+      80,    16,    19,    38,    39,    54,    65,    88,    64,    63,
+      16,    20,    89,    90,    10,    11,    12,    13,    14,    16,
+      17,    18,    19,    21,    27,    28,    29,    30,    33,    38,
+      39,    54,    58,    60,    69,    93,    96,    97,    98,   111,
+     112,    19,    21,    26,    31,    67,    67,    69,    69,   111,
+     112,   112,   112,    97,    97,    98,   112,    66,    67,    69,
+      40,    41,    32,    35,    36,    42,    43,    44,    45,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    91,    91,   112,    69,   105,   112,   112,   112,   112,
+      10,    32,    70,    70,    10,   112,    94,    95,    98,   103,
+     102,    34,    69,   107,    96,   112,   112,   112,   112,   112,
      112,   112,   112,   112,   112,   112,   112,   112,   112,   112,
-      22,    23,    24,    25,    92,   112,    68,    68,    70,    31,
-     107,    68,    70,    71,    97,    97,   108,     3,    99,    64,
-      98,    11,    15,   109,   110,   112,    69,   104,   105,   101,
-      70,    71,    70,   106,   112,    64,    69,   110,    70,    71,
-     100,    97,   112,    69,    70,    97,    70
+     112,   112,    22,    23,    24,    25,    92,   112,    68,    68,
+      70,    31,   107,    68,    70,    71,    97,    97,   108,     3,
+      99,    64,    98,    11,    15,   109,   110,   112,    69,   104,
+     105,   101,    70,    71,    70,   106,   112,    64,    69,   110,
+      70,    71,   100,    97,   112,    69,    70,    97,    70
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -1440,47 +1441,47 @@ yydestruct (yymsg, yytype, yyvaluep, yyscanner, compiler)
       case 10: /* "_IDENTIFIER_" */
 #line 176 "grammar.y"
 	{ yr_free((yyvaluep->c_string)); };
-#line 1444 "grammar.c"
+#line 1445 "grammar.c"
 	break;
       case 11: /* "_STRING_IDENTIFIER_" */
 #line 180 "grammar.y"
 	{ yr_free((yyvaluep->c_string)); };
-#line 1449 "grammar.c"
+#line 1450 "grammar.c"
 	break;
       case 12: /* "_STRING_COUNT_" */
 #line 177 "grammar.y"
 	{ yr_free((yyvaluep->c_string)); };
-#line 1454 "grammar.c"
+#line 1455 "grammar.c"
 	break;
       case 13: /* "_STRING_OFFSET_" */
 #line 178 "grammar.y"
 	{ yr_free((yyvaluep->c_string)); };
-#line 1459 "grammar.c"
+#line 1460 "grammar.c"
 	break;
       case 14: /* "_STRING_LENGTH_" */
 #line 179 "grammar.y"
 	{ yr_free((yyvaluep->c_string)); };
-#line 1464 "grammar.c"
+#line 1465 "grammar.c"
 	break;
       case 15: /* "_STRING_IDENTIFIER_WITH_WILDCARD_" */
 #line 181 "grammar.y"
 	{ yr_free((yyvaluep->c_string)); };
-#line 1469 "grammar.c"
+#line 1470 "grammar.c"
 	break;
       case 19: /* "_TEXT_STRING_" */
 #line 182 "grammar.y"
 	{ yr_free((yyvaluep->sized_string)); };
-#line 1474 "grammar.c"
+#line 1475 "grammar.c"
 	break;
       case 20: /* "_HEX_STRING_" */
 #line 183 "grammar.y"
 	{ yr_free((yyvaluep->sized_string)); };
-#line 1479 "grammar.c"
+#line 1480 "grammar.c"
 	break;
       case 21: /* "_REGEXP_" */
 #line 184 "grammar.y"
 	{ yr_free((yyvaluep->sized_string)); };
-#line 1484 "grammar.c"
+#line 1485 "grammar.c"
 	break;
 
       default:
@@ -2048,6 +2049,22 @@ yyreduce:
     {
         (yyval.meta) = yr_parser_reduce_meta_declaration(
             yyscanner,
+            META_TYPE_INTEGER,
+            (yyvsp[(1) - (4)].c_string),
+            NULL,
+            -(yyvsp[(4) - (4)].integer));
+
+        yr_free((yyvsp[(1) - (4)].c_string));
+
+        ERROR_IF((yyval.meta) == NULL);
+      }
+    break;
+
+  case 30:
+#line 455 "grammar.y"
+    {
+        (yyval.meta) = yr_parser_reduce_meta_declaration(
+            yyscanner,
             META_TYPE_BOOLEAN,
             (yyvsp[(1) - (3)].c_string),
             NULL,
@@ -2059,8 +2076,8 @@ yyreduce:
       }
     break;
 
-  case 30:
-#line 455 "grammar.y"
+  case 31:
+#line 468 "grammar.y"
     {
         (yyval.meta) = yr_parser_reduce_meta_declaration(
             yyscanner,
@@ -2075,25 +2092,25 @@ yyreduce:
       }
     break;
 
-  case 31:
-#line 471 "grammar.y"
+  case 32:
+#line 484 "grammar.y"
     { (yyval.string) = (yyvsp[(1) - (1)].string); }
     break;
 
-  case 32:
-#line 472 "grammar.y"
+  case 33:
+#line 485 "grammar.y"
     { (yyval.string) = (yyvsp[(1) - (2)].string); }
     break;
 
-  case 33:
-#line 478 "grammar.y"
+  case 34:
+#line 491 "grammar.y"
     {
         compiler->error_line = yyget_lineno(yyscanner);
       }
     break;
 
-  case 34:
-#line 482 "grammar.y"
+  case 35:
+#line 495 "grammar.y"
     {
         (yyval.string) = yr_parser_reduce_string_declaration(
             yyscanner, (int32_t) (yyvsp[(5) - (5)].integer), (yyvsp[(1) - (5)].c_string), (yyvsp[(4) - (5)].sized_string));
@@ -2106,15 +2123,15 @@ yyreduce:
       }
     break;
 
-  case 35:
-#line 493 "grammar.y"
+  case 36:
+#line 506 "grammar.y"
     {
         compiler->error_line = yyget_lineno(yyscanner);
       }
     break;
 
-  case 36:
-#line 497 "grammar.y"
+  case 37:
+#line 510 "grammar.y"
     {
         (yyval.string) = yr_parser_reduce_string_declaration(
             yyscanner, (int32_t) (yyvsp[(5) - (5)].integer) | STRING_GFLAGS_REGEXP, (yyvsp[(1) - (5)].c_string), (yyvsp[(4) - (5)].sized_string));
@@ -2128,8 +2145,8 @@ yyreduce:
       }
     break;
 
-  case 37:
-#line 509 "grammar.y"
+  case 38:
+#line 522 "grammar.y"
     {
         (yyval.string) = yr_parser_reduce_string_declaration(
             yyscanner, STRING_GFLAGS_HEXADECIMAL, (yyvsp[(1) - (3)].c_string), (yyvsp[(3) - (3)].sized_string));
@@ -2141,38 +2158,38 @@ yyreduce:
       }
     break;
 
-  case 38:
-#line 522 "grammar.y"
+  case 39:
+#line 535 "grammar.y"
     { (yyval.integer) = 0; }
     break;
 
-  case 39:
-#line 523 "grammar.y"
+  case 40:
+#line 536 "grammar.y"
     { (yyval.integer) = (yyvsp[(1) - (2)].integer) | (yyvsp[(2) - (2)].integer); }
     break;
 
-  case 40:
-#line 528 "grammar.y"
+  case 41:
+#line 541 "grammar.y"
     { (yyval.integer) = STRING_GFLAGS_WIDE; }
     break;
 
-  case 41:
-#line 529 "grammar.y"
+  case 42:
+#line 542 "grammar.y"
     { (yyval.integer) = STRING_GFLAGS_ASCII; }
     break;
 
-  case 42:
-#line 530 "grammar.y"
+  case 43:
+#line 543 "grammar.y"
     { (yyval.integer) = STRING_GFLAGS_NO_CASE; }
     break;
 
-  case 43:
-#line 531 "grammar.y"
+  case 44:
+#line 544 "grammar.y"
     { (yyval.integer) = STRING_GFLAGS_FULL_WORD; }
     break;
 
-  case 44:
-#line 537 "grammar.y"
+  case 45:
+#line 550 "grammar.y"
     {
         int var_index = yr_parser_lookup_loop_variable(yyscanner, (yyvsp[(1) - (1)].c_string));
 
@@ -2259,8 +2276,8 @@ yyreduce:
       }
     break;
 
-  case 45:
-#line 622 "grammar.y"
+  case 46:
+#line 635 "grammar.y"
     {
         YR_OBJECT* field = NULL;
 
@@ -2308,8 +2325,8 @@ yyreduce:
       }
     break;
 
-  case 46:
-#line 668 "grammar.y"
+  case 47:
+#line 681 "grammar.y"
     {
         YR_OBJECT_ARRAY* array;
         YR_OBJECT_DICTIONARY* dict;
@@ -2368,8 +2385,8 @@ yyreduce:
       }
     break;
 
-  case 47:
-#line 726 "grammar.y"
+  case 48:
+#line 739 "grammar.y"
     {
         YR_OBJECT_FUNCTION* function;
         char* args_fmt;
@@ -2412,18 +2429,18 @@ yyreduce:
       }
     break;
 
-  case 48:
-#line 770 "grammar.y"
+  case 49:
+#line 783 "grammar.y"
     { (yyval.c_string) = yr_strdup(""); }
     break;
 
-  case 49:
-#line 771 "grammar.y"
+  case 50:
+#line 784 "grammar.y"
     { (yyval.c_string) = (yyvsp[(1) - (1)].c_string); }
     break;
 
-  case 50:
-#line 776 "grammar.y"
+  case 51:
+#line 789 "grammar.y"
     {
         (yyval.c_string) = (char*) yr_malloc(MAX_FUNCTION_ARGS + 1);
 
@@ -2450,8 +2467,8 @@ yyreduce:
       }
     break;
 
-  case 51:
-#line 801 "grammar.y"
+  case 52:
+#line 814 "grammar.y"
     {
         if (strlen((yyvsp[(1) - (3)].c_string)) == MAX_FUNCTION_ARGS)
         {
@@ -2485,8 +2502,8 @@ yyreduce:
       }
     break;
 
-  case 52:
-#line 837 "grammar.y"
+  case 53:
+#line 850 "grammar.y"
     {
         SIZED_STRING* sized_string = (yyvsp[(1) - (1)].sized_string);
         RE* re;
@@ -2530,8 +2547,8 @@ yyreduce:
       }
     break;
 
-  case 53:
-#line 883 "grammar.y"
+  case 54:
+#line 896 "grammar.y"
     {
         if ((yyvsp[(1) - (1)].expression).type == EXPRESSION_TYPE_STRING)
         {
@@ -2552,8 +2569,8 @@ yyreduce:
       }
     break;
 
-  case 54:
-#line 905 "grammar.y"
+  case 55:
+#line 918 "grammar.y"
     {
         compiler->last_result = yr_parser_emit_with_arg(
             yyscanner, OP_PUSH, 1, NULL, NULL);
@@ -2564,8 +2581,8 @@ yyreduce:
       }
     break;
 
-  case 55:
-#line 914 "grammar.y"
+  case 56:
+#line 927 "grammar.y"
     {
         compiler->last_result = yr_parser_emit_with_arg(
             yyscanner, OP_PUSH, 0, NULL, NULL);
@@ -2576,8 +2593,8 @@ yyreduce:
       }
     break;
 
-  case 56:
-#line 923 "grammar.y"
+  case 57:
+#line 936 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(1) - (3)].expression), EXPRESSION_TYPE_STRING, "matches");
         CHECK_TYPE((yyvsp[(3) - (3)].expression), EXPRESSION_TYPE_REGEXP, "matches");
@@ -2594,8 +2611,8 @@ yyreduce:
       }
     break;
 
-  case 57:
-#line 938 "grammar.y"
+  case 58:
+#line 951 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(1) - (3)].expression), EXPRESSION_TYPE_STRING, "contains");
         CHECK_TYPE((yyvsp[(3) - (3)].expression), EXPRESSION_TYPE_STRING, "contains");
@@ -2609,8 +2626,8 @@ yyreduce:
       }
     break;
 
-  case 58:
-#line 950 "grammar.y"
+  case 59:
+#line 963 "grammar.y"
     {
         int result = yr_parser_reduce_string_identifier(
             yyscanner,
@@ -2626,8 +2643,8 @@ yyreduce:
       }
     break;
 
-  case 59:
-#line 964 "grammar.y"
+  case 60:
+#line 977 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(3) - (3)].expression), EXPRESSION_TYPE_INTEGER, "at");
 
@@ -2642,8 +2659,8 @@ yyreduce:
       }
     break;
 
-  case 60:
-#line 977 "grammar.y"
+  case 61:
+#line 990 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_string_identifier(
             yyscanner, (yyvsp[(1) - (3)].c_string), OP_FOUND_IN, UNDEFINED);
@@ -2656,8 +2673,8 @@ yyreduce:
       }
     break;
 
-  case 61:
-#line 988 "grammar.y"
+  case 62:
+#line 1001 "grammar.y"
     {
         int var_index;
 
@@ -2689,8 +2706,8 @@ yyreduce:
       }
     break;
 
-  case 62:
-#line 1018 "grammar.y"
+  case 63:
+#line 1031 "grammar.y"
     {
         int mem_offset = LOOP_LOCAL_VARS * compiler->loop_depth;
         uint8_t* addr;
@@ -2727,8 +2744,8 @@ yyreduce:
       }
     break;
 
-  case 63:
-#line 1053 "grammar.y"
+  case 64:
+#line 1066 "grammar.y"
     {
         int mem_offset;
 
@@ -2811,8 +2828,8 @@ yyreduce:
       }
     break;
 
-  case 64:
-#line 1134 "grammar.y"
+  case 65:
+#line 1147 "grammar.y"
     {
         int mem_offset = LOOP_LOCAL_VARS * compiler->loop_depth;
         uint8_t* addr;
@@ -2844,8 +2861,8 @@ yyreduce:
       }
     break;
 
-  case 65:
-#line 1164 "grammar.y"
+  case 66:
+#line 1177 "grammar.y"
     {
         int mem_offset;
 
@@ -2897,8 +2914,8 @@ yyreduce:
       }
     break;
 
-  case 66:
-#line 1214 "grammar.y"
+  case 67:
+#line 1227 "grammar.y"
     {
         yr_parser_emit(yyscanner, OP_OF, NULL);
 
@@ -2906,8 +2923,8 @@ yyreduce:
       }
     break;
 
-  case 67:
-#line 1220 "grammar.y"
+  case 68:
+#line 1233 "grammar.y"
     {
         yr_parser_emit(yyscanner, OP_NOT, NULL);
 
@@ -2915,8 +2932,8 @@ yyreduce:
       }
     break;
 
-  case 68:
-#line 1226 "grammar.y"
+  case 69:
+#line 1239 "grammar.y"
     {
         YR_FIXUP* fixup;
         int64_t* jmp_destination_addr;
@@ -2944,8 +2961,8 @@ yyreduce:
       }
     break;
 
-  case 69:
-#line 1252 "grammar.y"
+  case 70:
+#line 1265 "grammar.y"
     {
         YR_FIXUP* fixup;
         uint8_t* and_addr;
@@ -2983,8 +3000,8 @@ yyreduce:
       }
     break;
 
-  case 70:
-#line 1288 "grammar.y"
+  case 71:
+#line 1301 "grammar.y"
     {
         YR_FIXUP* fixup;
         int64_t* jmp_destination_addr;
@@ -3011,8 +3028,8 @@ yyreduce:
       }
     break;
 
-  case 71:
-#line 1313 "grammar.y"
+  case 72:
+#line 1326 "grammar.y"
     {
         YR_FIXUP* fixup;
         uint8_t* or_addr;
@@ -3050,8 +3067,8 @@ yyreduce:
       }
     break;
 
-  case 72:
-#line 1349 "grammar.y"
+  case 73:
+#line 1362 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, "<", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3062,8 +3079,8 @@ yyreduce:
       }
     break;
 
-  case 73:
-#line 1358 "grammar.y"
+  case 74:
+#line 1371 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, ">", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3074,8 +3091,8 @@ yyreduce:
       }
     break;
 
-  case 74:
-#line 1367 "grammar.y"
+  case 75:
+#line 1380 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, "<=", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3086,8 +3103,8 @@ yyreduce:
       }
     break;
 
-  case 75:
-#line 1376 "grammar.y"
+  case 76:
+#line 1389 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, ">=", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3098,8 +3115,8 @@ yyreduce:
       }
     break;
 
-  case 76:
-#line 1385 "grammar.y"
+  case 77:
+#line 1398 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, "==", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3110,8 +3127,8 @@ yyreduce:
       }
     break;
 
-  case 77:
-#line 1394 "grammar.y"
+  case 78:
+#line 1407 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, "!=", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3122,32 +3139,32 @@ yyreduce:
       }
     break;
 
-  case 78:
-#line 1403 "grammar.y"
+  case 79:
+#line 1416 "grammar.y"
     {
         (yyval.expression) = (yyvsp[(1) - (1)].expression);
       }
     break;
 
-  case 79:
-#line 1407 "grammar.y"
+  case 80:
+#line 1420 "grammar.y"
     {
         (yyval.expression) = (yyvsp[(2) - (3)].expression);
       }
     break;
 
-  case 80:
-#line 1414 "grammar.y"
+  case 81:
+#line 1427 "grammar.y"
     { (yyval.integer) = INTEGER_SET_ENUMERATION; }
     break;
 
-  case 81:
-#line 1415 "grammar.y"
+  case 82:
+#line 1428 "grammar.y"
     { (yyval.integer) = INTEGER_SET_RANGE; }
     break;
 
-  case 82:
-#line 1421 "grammar.y"
+  case 83:
+#line 1434 "grammar.y"
     {
         if ((yyvsp[(2) - (5)].expression).type != EXPRESSION_TYPE_INTEGER)
         {
@@ -3167,8 +3184,8 @@ yyreduce:
       }
     break;
 
-  case 83:
-#line 1443 "grammar.y"
+  case 84:
+#line 1456 "grammar.y"
     {
         if ((yyvsp[(1) - (1)].expression).type != EXPRESSION_TYPE_INTEGER)
         {
@@ -3182,8 +3199,8 @@ yyreduce:
       }
     break;
 
-  case 84:
-#line 1455 "grammar.y"
+  case 85:
+#line 1468 "grammar.y"
     {
         if ((yyvsp[(3) - (3)].expression).type != EXPRESSION_TYPE_INTEGER)
         {
@@ -3196,16 +3213,16 @@ yyreduce:
       }
     break;
 
-  case 85:
-#line 1470 "grammar.y"
+  case 86:
+#line 1483 "grammar.y"
     {
         // Push end-of-list marker
         yr_parser_emit_with_arg(yyscanner, OP_PUSH, UNDEFINED, NULL, NULL);
       }
     break;
 
-  case 87:
-#line 1476 "grammar.y"
+  case 88:
+#line 1489 "grammar.y"
     {
         yr_parser_emit_with_arg(yyscanner, OP_PUSH, UNDEFINED, NULL, NULL);
         yr_parser_emit_pushes_for_strings(yyscanner, "$*");
@@ -3214,8 +3231,8 @@ yyreduce:
       }
     break;
 
-  case 90:
-#line 1493 "grammar.y"
+  case 91:
+#line 1506 "grammar.y"
     {
         yr_parser_emit_pushes_for_strings(yyscanner, (yyvsp[(1) - (1)].c_string));
         yr_free((yyvsp[(1) - (1)].c_string));
@@ -3224,8 +3241,8 @@ yyreduce:
       }
     break;
 
-  case 91:
-#line 1500 "grammar.y"
+  case 92:
+#line 1513 "grammar.y"
     {
         yr_parser_emit_pushes_for_strings(yyscanner, (yyvsp[(1) - (1)].c_string));
         yr_free((yyvsp[(1) - (1)].c_string));
@@ -3234,29 +3251,29 @@ yyreduce:
       }
     break;
 
-  case 93:
-#line 1512 "grammar.y"
+  case 94:
+#line 1525 "grammar.y"
     {
         yr_parser_emit_with_arg(yyscanner, OP_PUSH, UNDEFINED, NULL, NULL);
       }
     break;
 
-  case 94:
-#line 1516 "grammar.y"
+  case 95:
+#line 1529 "grammar.y"
     {
         yr_parser_emit_with_arg(yyscanner, OP_PUSH, 1, NULL, NULL);
       }
     break;
 
-  case 95:
-#line 1524 "grammar.y"
+  case 96:
+#line 1537 "grammar.y"
     {
         (yyval.expression) = (yyvsp[(2) - (3)].expression);
       }
     break;
 
-  case 96:
-#line 1528 "grammar.y"
+  case 97:
+#line 1541 "grammar.y"
     {
         compiler->last_result = yr_parser_emit(
             yyscanner, OP_FILESIZE, NULL);
@@ -3268,8 +3285,8 @@ yyreduce:
       }
     break;
 
-  case 97:
-#line 1538 "grammar.y"
+  case 98:
+#line 1551 "grammar.y"
     {
         yywarning(yyscanner,
             "Using deprecated \"entrypoint\" keyword. Use the \"entry_point\" "
@@ -3285,8 +3302,8 @@ yyreduce:
       }
     break;
 
-  case 98:
-#line 1552 "grammar.y"
+  case 99:
+#line 1565 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(3) - (4)].expression), EXPRESSION_TYPE_INTEGER, "intXXXX or uintXXXX");
 
@@ -3304,8 +3321,8 @@ yyreduce:
       }
     break;
 
-  case 99:
-#line 1568 "grammar.y"
+  case 100:
+#line 1581 "grammar.y"
     {
         compiler->last_result = yr_parser_emit_with_arg(
             yyscanner, OP_PUSH, (yyvsp[(1) - (1)].integer), NULL, NULL);
@@ -3317,8 +3334,8 @@ yyreduce:
       }
     break;
 
-  case 100:
-#line 1578 "grammar.y"
+  case 101:
+#line 1591 "grammar.y"
     {
         compiler->last_result = yr_parser_emit_with_arg_double(
             yyscanner, OP_PUSH, (yyvsp[(1) - (1)].double_), NULL, NULL);
@@ -3329,8 +3346,8 @@ yyreduce:
       }
     break;
 
-  case 101:
-#line 1587 "grammar.y"
+  case 102:
+#line 1600 "grammar.y"
     {
         SIZED_STRING* sized_string;
 
@@ -3357,8 +3374,8 @@ yyreduce:
       }
     break;
 
-  case 102:
-#line 1612 "grammar.y"
+  case 103:
+#line 1625 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_string_identifier(
             yyscanner, (yyvsp[(1) - (1)].c_string), OP_COUNT, UNDEFINED);
@@ -3372,8 +3389,8 @@ yyreduce:
       }
     break;
 
-  case 103:
-#line 1624 "grammar.y"
+  case 104:
+#line 1637 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_string_identifier(
             yyscanner, (yyvsp[(1) - (4)].c_string), OP_OFFSET, UNDEFINED);
@@ -3387,8 +3404,8 @@ yyreduce:
       }
     break;
 
-  case 104:
-#line 1636 "grammar.y"
+  case 105:
+#line 1649 "grammar.y"
     {
         compiler->last_result = yr_parser_emit_with_arg(
             yyscanner, OP_PUSH, 1, NULL, NULL);
@@ -3406,8 +3423,8 @@ yyreduce:
       }
     break;
 
-  case 105:
-#line 1652 "grammar.y"
+  case 106:
+#line 1665 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_string_identifier(
             yyscanner, (yyvsp[(1) - (4)].c_string), OP_LENGTH, UNDEFINED);
@@ -3421,8 +3438,8 @@ yyreduce:
       }
     break;
 
-  case 106:
-#line 1664 "grammar.y"
+  case 107:
+#line 1677 "grammar.y"
     {
         compiler->last_result = yr_parser_emit_with_arg(
             yyscanner, OP_PUSH, 1, NULL, NULL);
@@ -3440,8 +3457,8 @@ yyreduce:
       }
     break;
 
-  case 107:
-#line 1680 "grammar.y"
+  case 108:
+#line 1693 "grammar.y"
     {
         if ((yyvsp[(1) - (1)].expression).type == EXPRESSION_TYPE_INTEGER)  // loop identifier
         {
@@ -3488,8 +3505,8 @@ yyreduce:
       }
     break;
 
-  case 108:
-#line 1725 "grammar.y"
+  case 109:
+#line 1738 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(2) - (2)].expression), EXPRESSION_TYPE_INTEGER | EXPRESSION_TYPE_FLOAT, "-");
 
@@ -3510,8 +3527,8 @@ yyreduce:
       }
     break;
 
-  case 109:
-#line 1744 "grammar.y"
+  case 110:
+#line 1757 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, "+", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3531,8 +3548,8 @@ yyreduce:
       }
     break;
 
-  case 110:
-#line 1762 "grammar.y"
+  case 111:
+#line 1775 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, "-", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3552,8 +3569,8 @@ yyreduce:
       }
     break;
 
-  case 111:
-#line 1780 "grammar.y"
+  case 112:
+#line 1793 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, "*", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3573,8 +3590,8 @@ yyreduce:
       }
     break;
 
-  case 112:
-#line 1798 "grammar.y"
+  case 113:
+#line 1811 "grammar.y"
     {
         compiler->last_result = yr_parser_reduce_operation(
             yyscanner, "\\", (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
@@ -3602,8 +3619,8 @@ yyreduce:
       }
     break;
 
-  case 113:
-#line 1824 "grammar.y"
+  case 114:
+#line 1837 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(1) - (3)].expression), EXPRESSION_TYPE_INTEGER, "%");
         CHECK_TYPE((yyvsp[(3) - (3)].expression), EXPRESSION_TYPE_INTEGER, "%");
@@ -3623,8 +3640,8 @@ yyreduce:
       }
     break;
 
-  case 114:
-#line 1842 "grammar.y"
+  case 115:
+#line 1855 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(1) - (3)].expression), EXPRESSION_TYPE_INTEGER, "^");
         CHECK_TYPE((yyvsp[(3) - (3)].expression), EXPRESSION_TYPE_INTEGER, "^");
@@ -3636,8 +3653,8 @@ yyreduce:
       }
     break;
 
-  case 115:
-#line 1852 "grammar.y"
+  case 116:
+#line 1865 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(1) - (3)].expression), EXPRESSION_TYPE_INTEGER, "^");
         CHECK_TYPE((yyvsp[(3) - (3)].expression), EXPRESSION_TYPE_INTEGER, "^");
@@ -3649,8 +3666,8 @@ yyreduce:
       }
     break;
 
-  case 116:
-#line 1862 "grammar.y"
+  case 117:
+#line 1875 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(1) - (3)].expression), EXPRESSION_TYPE_INTEGER, "|");
         CHECK_TYPE((yyvsp[(3) - (3)].expression), EXPRESSION_TYPE_INTEGER, "|");
@@ -3662,8 +3679,8 @@ yyreduce:
       }
     break;
 
-  case 117:
-#line 1872 "grammar.y"
+  case 118:
+#line 1885 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(2) - (2)].expression), EXPRESSION_TYPE_INTEGER, "~");
 
@@ -3675,8 +3692,8 @@ yyreduce:
       }
     break;
 
-  case 118:
-#line 1882 "grammar.y"
+  case 119:
+#line 1895 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(1) - (3)].expression), EXPRESSION_TYPE_INTEGER, "<<");
         CHECK_TYPE((yyvsp[(3) - (3)].expression), EXPRESSION_TYPE_INTEGER, "<<");
@@ -3688,8 +3705,8 @@ yyreduce:
       }
     break;
 
-  case 119:
-#line 1892 "grammar.y"
+  case 120:
+#line 1905 "grammar.y"
     {
         CHECK_TYPE((yyvsp[(1) - (3)].expression), EXPRESSION_TYPE_INTEGER, ">>");
         CHECK_TYPE((yyvsp[(3) - (3)].expression), EXPRESSION_TYPE_INTEGER, ">>");
@@ -3701,8 +3718,8 @@ yyreduce:
       }
     break;
 
-  case 120:
-#line 1902 "grammar.y"
+  case 121:
+#line 1915 "grammar.y"
     {
         (yyval.expression) = (yyvsp[(1) - (1)].expression);
       }
@@ -3710,7 +3727,7 @@ yyreduce:
 
 
 /* Line 1267 of yacc.c.  */
-#line 3714 "grammar.c"
+#line 3731 "grammar.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3924,6 +3941,6 @@ yyreturn:
 }
 
 
-#line 1907 "grammar.y"
+#line 1920 "grammar.y"
 
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/forensics/yara.git



More information about the forensics-changes mailing list