develooper Front page | perl.cvs.parrot | Postings from January 2009

[svn:parrot] r34994 - trunk/compilers/pirc/src

From:
kjs
Date:
January 5, 2009 08:12
Subject:
[svn:parrot] r34994 - trunk/compilers/pirc/src
Message ID:
20090105161240.351D7CB9F9@x12.develooper.com
Author: kjs
Date: Mon Jan  5 08:12:39 2009
New Revision: 34994

Modified:
   trunk/compilers/pirc/src/pir.y
   trunk/compilers/pirc/src/pircompiler.h
   trunk/compilers/pirc/src/pircompunit.c
   trunk/compilers/pirc/src/pircompunit.h
   trunk/compilers/pirc/src/pirparser.c

Log:
[pirc] improve support for annotations. 

Modified: trunk/compilers/pirc/src/pir.y
==============================================================================
--- trunk/compilers/pirc/src/pir.y	(original)
+++ trunk/compilers/pirc/src/pir.y	Mon Jan  5 08:12:39 2009
@@ -667,7 +667,7 @@
                         { lexer->filename = $2; }
                   ;
 
-annotation        : ".annotate" TK_STRINGC ',' TK_STRINGC
+annotation        : ".annotate" TK_STRINGC ',' constant
                         { annotate(lexer, $2, $4); }
                   ;
 

Modified: trunk/compilers/pirc/src/pircompiler.h
==============================================================================
--- trunk/compilers/pirc/src/pircompiler.h	(original)
+++ trunk/compilers/pirc/src/pircompiler.h	Mon Jan  5 08:12:39 2009
@@ -143,6 +143,9 @@
     struct bytecode          *bc;
     unsigned                  codesize;
 
+    annotation               *annotations;
+    unsigned                  num_annotations;
+
 } lexer_state;
 
 /* accessor for current macro; always first on the list. */

Modified: trunk/compilers/pirc/src/pircompunit.c
==============================================================================
--- trunk/compilers/pirc/src/pircompunit.c	(original)
+++ trunk/compilers/pirc/src/pircompunit.c	Mon Jan  5 08:12:39 2009
@@ -2480,7 +2480,7 @@
 /*
 
 =item C<void
-annotate(lexer_state * const lexer, char const * const key, char const * const value)>
+annotate(lexer_state * const lexer, char const * const key, constant * const value)>
 
 Add a new annotation with key C<key> and value C<value>.
 
@@ -2488,8 +2488,17 @@
 
 */
 void
-annotate(lexer_state * const lexer, char const * const key, char const * const value) {
-    /* XXX todo */
+annotate(lexer_state * const lexer, char const * const key, constant * const value) {
+    annotation *ann     = (annotation *)pir_mem_allocate(lexer, sizeof (annotation));
+    ann->key            = key;
+    ann->value          = value;
+    /* store the current statement counter value */
+    ann->bytecode_index = lexer->stmt_counter;
+    ++lexer->num_annotations; /* keep track of number of annotations */
+
+    /* store the annotation in a list, managed by the lexer */
+    ann->next = lexer->annotations;
+    lexer->annotations = ann;
 }
 
 

Modified: trunk/compilers/pirc/src/pircompunit.h
==============================================================================
--- trunk/compilers/pirc/src/pircompunit.h	(original)
+++ trunk/compilers/pirc/src/pircompunit.h	Mon Jan  5 08:12:39 2009
@@ -331,6 +331,16 @@
 } hashtable;
 
 
+/* struct to represent bytecode annotation */
+typedef struct annotation {
+    int bytecode_index;    /* index in bytecode stream from where this annotation is active */
+    char const *key;       /* key of annotation */
+    constant   *value;     /* value of annotation */
+
+    struct annotation *next; /* next annotation; annotations are stored in a list */
+
+} annotation;
+
 /* forward declaration of structs */
 struct symbol;
 struct label;
@@ -492,7 +502,7 @@
 void new_sub_instr(struct lexer_state * const lexer, int opcode, char const * const opname,
               unsigned num_var_args);
 
-void annotate(struct lexer_state * const lexer, char const * const key, char const * const value);
+void annotate(struct lexer_state * const lexer, char const * const key, constant * const value);
 
 #endif /* PARROT_PIR_PIRCOMPUNIT_H_GUARD */
 

Modified: trunk/compilers/pirc/src/pirparser.c
==============================================================================
--- trunk/compilers/pirc/src/pirparser.c	(original)
+++ trunk/compilers/pirc/src/pirparser.c	Mon Jan  5 08:12:39 2009
@@ -939,7 +939,7 @@
      296,    -1,    -1,   153,    -1,   154,    -1,   153,   154,    -1,
      155,    35,    -1,   156,    -1,   157,    -1,   107,   109,    -1,
      106,   292,   110,    -1,     5,    46,    -1,    10,    48,    -1,
-      11,    46,    -1,    34,    46,   121,    46,    -1,     3,    46,
+      11,    46,    -1,    34,    46,   121,   289,    -1,     3,    46,
       -1,     4,    46,   122,    46,    -1,    13,   123,   164,   124,
       -1,    -1,   165,    -1,   166,    -1,   165,   125,   166,    -1,
       46,    -1,   169,   171,    35,   177,   185,   168,    -1,     7,
@@ -1401,95 +1401,95 @@
 #define YYPACT_NINF -591
 static const yytype_int16 yypact[] =
 {
-      11,    -2,    -2,    53,  -591,  -591,  -591,    74,  -591,   192,
-    -591,    -1,    34,    47,   -44,   142,  -591,   697,    67,    -7,
-    -591,   103,  -591,  -591,    28,   132,   146,  -591,   666,  -591,
-      74,  -591,  -591,   142,  -591,  -591,   154,    71,   158,   166,
-     553,   131,   177,   173,  -591,  -591,  -591,  -591,  -591,  -591,
-    -591,  -591,  -591,  -591,  -591,  -591,   106,  -591,  -591,   178,
+      11,    -2,    -2,    45,  -591,  -591,  -591,    74,  -591,   192,
+    -591,    36,    56,    47,   -70,   144,  -591,   697,    42,    -7,
+    -591,    82,  -591,  -591,    41,   117,   145,  -591,   666,  -591,
+      74,  -591,  -591,   144,  -591,  -591,   149,   148,   158,   166,
+     553,   189,   185,   173,  -591,  -591,  -591,  -591,  -591,  -591,
+    -591,  -591,  -591,  -591,  -591,  -591,   112,  -591,  -591,   197,
     -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
-    -591,  -591,  -591,  -591,  -591,   114,    33,   195,  -591,   697,
-    -591,  -591,  -591,  -591,  -591,  -591,   108,  -591,  -591,  -591,
-     810,   198,   122,  -591,  -591,  -591,  -591,   112,  -591,  -591,
-    -591,   124,  -591,  -591,   721,  -591,  -591,   126,  -591,  -591,
-    -591,  -591,   697,   697,   697,  -591,   129,    46,  -591,   387,
-    1034,  -591,   128,   133,  -591,  -591,    -7,  -591,  -591,  -591,
-     136,   139,  -591,  -591,  -591,   143,   141,  -591,  -591,  -591,
-      82,  -591,  -591,  -591,  -591,  -591,  -591,  -591,   666,  -591,
-    -591,  -591,  -591,  -591,  -591,   134,   145,   134,  -591,   147,
-    -591,  -591,   134,   134,   134,  -591,   219,   149,   150,   151,
-     221,  -591,  -591,  -591,   233,  -591,  -591,   178,  -591,    29,
-    -591,    33,   234,   697,  -591,   810,  -591,   228,  -591,  -591,
-     553,  -591,    32,  -591,  -591,  -591,  -591,  -591,   227,   229,
-     231,  -591,  -591,   271,  -591,  -591,  -591,    -7,  -591,  -591,
-    -591,  -591,  -591,    45,  -591,  -591,   160,   161,  -591,   163,
-     167,  -591,  -591,  -591,  -591,  -591,  -591,   275,   200,  -591,
-    -591,   200,   180,   185,    45,  -591,   260,  -591,  -591,  -591,
-    -591,  -591,    32,  -591,   200,   131,   119,   183,   183,   274,
-     287,   288,   187,  1020,   533,   704,   827,   850,  1003,   697,
-    -591,    20,   459,   289,  -591,  -591,  -591,  -591,  -591,  -591,
-    -591,  -591,  -591,  -591,  -591,   303,   666,  -591,  -591,   305,
-    -591,   306,   867,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
-     308,  -591,  -591,  -591,   183,   217,   224,  -591,  -591,  -591,
-    -591,  -591,  -591,  -591,   313,  -591,  -591,   764,   -87,   112,
-    -591,  -591,  -591,  -591,  -591,   697,   239,  -591,  -591,  -591,
-    -591,  -591,   697,  -591,   697,  -591,  -591,  -591,   884,   315,
-     316,   332,   335,   323,   322,   324,  -591,   325,   326,   236,
-     310,   242,   244,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
-     245,  -591,  -591,   -23,   -23,   -23,   -23,   -23,   -23,   -23,
-     292,   -14,   162,   162,   162,   321,   -23,   162,   -23,  -591,
+    -591,  -591,  -591,  -591,  -591,   121,    33,   212,  -591,   697,
+    -591,  -591,  -591,  -591,  -591,  -591,   125,  -591,  -591,  -591,
+     810,   215,   132,  -591,  -591,  -591,  -591,   129,  -591,  -591,
+    -591,   133,  -591,  -591,   721,  -591,  -591,   136,  -591,  -591,
+    -591,  -591,   697,   697,   697,  -591,   139,    46,  -591,   387,
+    1034,  -591,   138,   141,  -591,  -591,    -7,  -591,  -591,  -591,
+     143,   146,  -591,  -591,  -591,   151,   147,  -591,  -591,  -591,
+      14,  -591,  -591,  -591,  -591,  -591,  -591,  -591,   666,  -591,
+    -591,  -591,  -591,  -591,  -591,   150,   153,   150,  -591,   154,
+    -591,  -591,   150,   150,   150,  -591,   218,   152,   155,   156,
+     140,  -591,  -591,  -591,   230,  -591,  -591,   197,  -591,    29,
+    -591,    33,   240,   697,  -591,   810,  -591,   233,  -591,  -591,
+     553,  -591,    32,  -591,  -591,  -591,  -591,  -591,   232,   234,
+     235,  -591,  -591,   280,  -591,  -591,  -591,    -7,  -591,  -591,
+    -591,  -591,  -591,   100,  -591,  -591,   169,   170,  -591,   175,
+     181,  -591,  -591,  -591,  -591,  -591,  -591,   275,   200,  -591,
+    -591,   200,   213,   201,   100,  -591,   274,  -591,  -591,  -591,
+    -591,  -591,    32,  -591,   200,   189,   131,   204,   204,   289,
+     303,   305,   222,  1020,   533,   704,   827,   850,  1003,   697,
+    -591,    39,   459,   308,  -591,  -591,  -591,  -591,  -591,  -591,
+    -591,  -591,  -591,  -591,  -591,   310,   666,  -591,  -591,   311,
+    -591,   313,   867,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
+     314,  -591,  -591,  -591,   204,   223,   228,  -591,  -591,  -591,
+    -591,  -591,  -591,  -591,   317,  -591,  -591,   764,   -87,   129,
+    -591,  -591,  -591,  -591,  -591,   697,   243,  -591,  -591,  -591,
+    -591,  -591,   697,  -591,   697,  -591,  -591,  -591,   884,   321,
+     322,   338,   339,   329,   326,   327,  -591,   330,   331,   242,
+     315,   247,   249,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
+     246,  -591,  -591,   -23,   -23,   -23,   -23,   -23,   -23,   -23,
+     292,   -14,   162,   162,   162,   328,   -23,   162,   -23,  -591,
     -591,   411,  1020,  -591,  -591,  -591,  -591,   597,   711,  -591,
     -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,   616,   810,
-     246,    31,  -591,  -591,   -15,  -591,   272,   248,   319,   254,
-     255,  -591,  -591,  -591,  -591,  -591,  -591,  -591,   810,   352,
-     332,  -591,   810,   354,   335,  -591,   810,    87,   323,  -591,
+     252,    31,  -591,  -591,   -15,  -591,   278,   254,   323,   259,
+     263,  -591,  -591,  -591,  -591,  -591,  -591,  -591,   810,   357,
+     338,  -591,   810,   360,   339,  -591,   810,    87,   329,  -591,
     -591,  -591,  -591,  -591,   810,  1003,  -591,   459,   -10,   810,
-    -591,  -591,   697,   697,   697,   697,   697,   697,   697,   339,
-     340,   342,   344,   345,   346,   348,   350,  1061,   -23,   697,
+    -591,  -591,   697,   697,   697,   697,   697,   697,   697,   342,
+     344,   345,   346,   348,   350,   351,   352,  1061,   -23,   697,
      697,   697,  -591,  -591,  -591,  -591,  -591,  -591,   901,   918,
-     935,   697,   697,   810,   697,  -591,  -591,  -591,   183,  -591,
+     935,   697,   697,   810,   697,  -591,  -591,  -591,   204,  -591,
     -591,  -591,  -591,  -591,  -591,  -591,  -591,   649,   545,   665,
-     665,    20,  -591,  -591,  -591,   666,  -591,  -591,  -591,  -591,
-     665,   361,   -18,   810,  -591,   810,  -591,  -591,   134,  -591,
-    -591,  -591,   258,  -591,  -591,  -591,  -591,  -591,   697,  -591,
-    -591,  1048,   810,  -591,   884,    94,   362,   363,  -591,   365,
-     366,  -591,   367,  1034,  1020,  1034,   368,  -591,  -591,  -591,
+     665,    39,  -591,  -591,  -591,   666,  -591,  -591,  -591,  -591,
+     665,   363,   -18,   810,  -591,   810,  -591,  -591,   150,  -591,
+    -591,  -591,   281,  -591,  -591,  -591,  -591,  -591,   697,  -591,
+    -591,  1048,   810,  -591,   884,    92,   366,   367,  -591,   368,
+     369,  -591,   374,  1034,  1020,  1034,   376,  -591,  -591,  -591,
     -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
      697,   697,   697,   697,   697,   697,   697,   697,   697,  -591,
      697,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
     -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
     -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
     -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
-    -591,  -591,  -591,  -591,  -591,   986,   952,   969,  -591,   259,
-     283,   810,  -591,  -591,  -591,  -591,    32,  -591,  -591,  -591,
-    -591,  -591,  -591,   134,  -591,  -591,  -591,  -591,  -591,  -591,
-    -591,   374,   290,  -591,  -591,    27,  -591,  -591,  -591,  -591,
+    -591,  -591,  -591,  -591,  -591,   986,   952,   969,  -591,   291,
+     293,   810,  -591,  -591,  -591,  -591,    32,  -591,  -591,  -591,
+    -591,  -591,  -591,   150,  -591,  -591,  -591,  -591,  -591,  -591,
+    -591,   388,   304,  -591,  -591,    27,  -591,  -591,  -591,  -591,
     -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,
-    -591,  -591,  -591,  -591,   666,   666,  -591,   294,  -591,   397,
-    1034,  -591,   459,  -591,   396,    27,  -591,   122,   122,  -591,
-     411,  -591,   389,   390,  -591,  -591,  -591,  -591
+    -591,  -591,  -591,  -591,   666,   666,  -591,   306,  -591,   409,
+    1034,  -591,   459,  -591,   400,    27,  -591,   132,   132,  -591,
+     411,  -591,   393,   394,  -591,  -591,  -591,  -591
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -591,  -591,  -591,    17,  -591,   309,     3,  -591,  -591,  -591,
-    -591,  -591,   252,  -591,  -591,   193,  -591,  -591,  -591,  -591,
-       7,  -591,  -591,  -591,     5,  -591,  -591,   251,  -591,  -591,
-    -591,   241,   376,  -591,  -591,  -591,  -591,  -234,  -591,  -591,
-    -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,   182,  -591,
-    -193,  -105,  -591,  -591,   256,  -591,  -591,  -591,  -173,  -591,
-    -160,  -591,  -591,  -591,  -591,  -217,  -591,   164,  -483,  -591,
-     291,   -43,  -591,   -93,  -591,  -591,  -591,  -591,  -591,  -591,
-    -591,  -591,  -591,  -591,  -591,  -330,  -591,  -590,  -591,   -67,
-    -591,  -141,  -591,  -591,  -591,  -591,  -591,    25,  -591,  -591,
-    -591,  -591,  -209,  -591,  -591,  -235,  -591,  -591,   -65,  -196,
-    -118,   213,  -591,  -591,  -420,  -591,    38,  -591,  -591,  -591,
-    -591,  -239,  -591,  -591,   -47,  -591,  -228,   -26,  -591,  -591,
-    -591,  -591,    59,  -591,  -591,    73,  -591,  -591,  -151,    37,
-    -591,  -591,  -591,  -591,  -591,  -591,   -31,  -591,  -591,   -85,
-     -27,    97,  -177,  -201,  -214,  -591,   -25,   -17,  -212,  -591,
-    -365,  -591,  -591,  -591,  -591,   458,  -591,   456,  -591,  -591,
+    -591,  -591,  -591,    17,  -591,   318,     3,  -591,  -591,  -591,
+    -591,  -591,   248,  -591,  -591,   202,  -591,  -591,  -591,  -591,
+       7,  -591,  -591,  -591,     5,  -591,  -591,   260,  -591,  -591,
+    -591,   250,   386,  -591,  -591,  -591,  -591,  -234,  -591,  -591,
+    -591,  -591,  -591,  -591,  -591,  -591,  -591,  -591,   187,  -591,
+    -193,  -105,  -591,  -591,   261,  -591,  -591,  -591,  -173,  -591,
+    -160,  -591,  -591,  -591,  -591,  -217,  -591,   167,  -430,  -591,
+     298,   -26,  -591,   -93,  -591,  -591,  -591,  -591,  -591,  -591,
+    -591,  -591,  -591,  -591,  -591,  -330,  -591,  -590,  -591,   -44,
+    -591,  -141,  -591,  -591,  -591,  -591,  -591,    48,  -591,  -591,
+    -591,  -591,  -190,  -591,  -591,  -235,  -591,  -591,   -57,  -191,
+    -118,   236,  -591,  -591,  -420,  -591,    57,  -591,  -591,  -591,
+    -591,  -239,  -591,  -591,   -28,  -591,  -251,   -20,  -591,  -591,
+    -591,  -591,    77,  -591,  -591,    76,  -591,  -591,  -151,    37,
+    -591,  -591,  -591,  -591,  -591,  -591,   -22,  -591,  -591,   -85,
+     -27,   101,  -216,  -201,  -214,  -591,   -25,   -17,  -212,  -591,
+    -365,  -591,  -591,  -591,  -591,   463,  -591,   462,  -591,  -591,
       75
 };
 
@@ -1504,52 +1504,52 @@
      276,   101,    45,   307,    51,   309,    47,  -160,   335,     9,
      507,   178,   430,   111,   433,   434,   435,   436,   437,   438,
      316,   450,  -274,     4,   268,   653,   462,   276,   464,   244,
-     307,  -274,   309,   322,   337,    56,    -6,    36,   344,    37,
-      38,    39,    40,    10,   269,   370,    12,    13,   652,    14,
+     307,  -274,   309,   322,   337,    10,    -6,    36,   344,    37,
+      38,    39,    40,    59,   269,   370,    12,    13,   652,    14,
      118,   268,   138,    41,   206,   653,   496,   271,   367,    64,
-      65,    66,    67,    68,    69,    70,    71,    72,   218,    59,
-      42,   269,    57,    11,    12,    13,   285,    14,   498,   499,
+      65,    66,    67,    68,    69,    70,    71,    72,   218,    75,
+      42,   269,    56,    11,    12,    13,   285,    14,   498,   499,
       63,   500,   501,    58,   271,   167,   168,   169,   431,   222,
-     215,   523,   230,   175,    75,    90,   508,   451,    63,   295,
-      15,    16,    76,   285,   596,   597,   524,   106,   550,   525,
+     215,   523,   230,   175,    57,    90,   508,   451,    63,   295,
+      15,    16,    76,   285,   596,   597,   524,    78,   550,   525,
       45,    98,    51,   100,    47,   601,     1,     2,   497,   498,
-     499,   101,   500,   501,   502,   295,   295,   470,    78,  -275,
-     207,   208,   209,    90,   126,   127,   128,    79,  -275,   222,
-      17,   231,   232,   488,    18,    90,   210,   112,   113,   129,
-     114,   657,   658,   473,   476,   324,   138,    80,   339,   112,
-     113,   485,   114,   111,   490,   223,   492,    60,    17,    16,
-     516,    81,    18,   350,   519,    19,   459,   460,   522,   105,
-     463,    20,   613,    36,   614,    37,    38,    39,    40,   194,
-     195,   196,    12,    13,   107,    14,   184,   185,   117,    41,
-     308,   529,   108,   344,   323,   326,   390,   452,   453,   454,
-     455,   456,   457,   116,   121,   223,    42,   120,   125,   571,
-     134,  -275,   662,   147,   263,    90,   175,   308,   310,   311,
-     312,   313,   338,   148,   558,   562,   566,  -274,   166,    98,
-     170,   100,   176,   187,   295,   366,   180,   368,   177,   101,
-     181,   263,   183,   182,   190,   197,   192,   201,   204,   213,
-     295,   198,   199,   200,   216,   224,    36,   226,   225,   228,
-     239,   240,   243,   241,    11,    12,    13,   244,   242,   317,
-     318,   245,   246,   247,   248,   320,    17,   249,   392,   250,
-      18,   251,   328,   252,   494,   396,   262,   397,   253,   331,
+     499,   101,   500,   501,   502,   295,   295,   470,   184,   185,
+     207,   208,   209,   201,   126,   127,   128,   459,   460,   222,
+      17,   463,    80,   488,    18,    90,   210,   516,  -275,   129,
+      79,   519,    90,   473,   476,   522,   138,  -275,   339,   112,
+     113,   485,   114,   111,   490,   223,   492,   324,    17,    60,
+      81,    16,    18,   350,   105,    19,    82,    83,    84,    85,
+     613,    20,   614,    36,   106,    37,    38,    39,    40,   194,
+     195,   196,    12,    13,   107,    14,   231,   232,   117,    41,
+     308,   529,   108,   344,   657,   658,   390,   452,   453,   454,
+     455,   456,   457,   323,   326,   223,    42,   112,   113,   571,
+     114,   116,   662,   120,   263,   125,   175,   308,   310,   311,
+     312,   313,   338,   121,   558,   562,   566,   134,  -275,    98,
+     147,   100,    90,   148,   295,   366,  -274,   368,   166,   101,
+     170,   263,   176,   180,   197,   204,   177,   181,   183,   187,
+     295,   182,   190,   192,   198,   213,    36,   199,   200,   216,
+     224,   226,   243,   225,    11,    12,    13,   244,   228,   239,
+     240,   245,   246,   247,   248,   241,    17,   249,   392,   250,
+      18,   251,   242,   252,   494,   396,   318,   397,   253,   320,
       60,   254,   255,    65,    66,    67,    68,   256,   257,   258,
-     259,   260,   332,   333,   345,   261,    87,    88,    89,   439,
-     440,   441,   442,   443,   444,   445,   446,   447,   346,   528,
-     351,   352,   448,   369,   532,   371,   372,   605,   373,   393,
-     406,   407,   408,   416,   469,   175,   412,   420,   424,   421,
-     422,   423,   426,   491,   425,   427,   461,   429,   495,   509,
-     511,   308,   647,   512,   513,   517,   514,   606,   569,   520,
-     644,   637,   640,   643,   540,   541,    19,   542,   598,   543,
-     544,   545,   600,   546,   262,   547,  -164,   616,   617,   602,
-     618,   619,   620,   625,   645,   621,   623,   624,   603,   649,
-     604,   650,   660,   449,   659,   533,   534,   535,   536,   537,
-     538,   539,   172,   663,   666,   667,   171,   319,   205,   119,
-     549,   217,   551,   552,   553,   214,   336,   212,   344,   186,
-     348,   607,   599,   527,   567,   568,   664,   570,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,   465,    98,   622,
-     100,   466,   648,   467,   665,   334,   531,   612,   101,   518,
+     259,   260,   317,   328,   331,   261,    87,    88,    89,   439,
+     440,   441,   442,   443,   444,   445,   446,   447,   332,   528,
+     333,   262,   448,   345,   532,   346,   351,   605,   352,   369,
+     372,   371,   373,   393,   469,   175,   406,   407,   408,   416,
+     412,   420,   421,   491,   424,   422,   423,   426,   429,   425,
+     427,   308,   647,   461,   495,   509,   511,   512,   569,   513,
+     517,   637,   640,   643,   514,   520,    19,   540,   598,   541,
+     542,   543,   600,   544,   262,   545,   546,   547,  -164,   602,
+     606,   616,   617,   618,   619,   621,   623,   624,   603,   620,
+     604,   625,   644,   449,   645,   533,   534,   535,   536,   537,
+     538,   539,   172,   649,   660,   650,   659,   663,   666,   667,
+     549,   214,   551,   552,   553,   171,   319,   205,   344,   119,
+     217,   336,   212,   348,   567,   568,   186,   570,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,   465,    98,   599,
+     100,   466,   648,   467,   607,   664,   527,   622,   101,   665,
      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   609,   489,   611,   521,   102,   103,
-       0,   396,     0,     0,   610,     0,    64,    65,    66,    67,
+     161,   162,   163,   164,   609,   531,   612,   518,   334,   489,
+     521,   396,   611,   102,   610,   103,    64,    65,    66,    67,
       68,    69,    70,    71,    72,   340,   175,   175,   175,   139,
       87,    88,    89,   222,     0,     0,   646,     0,     0,     0,
        0,     0,     0,   626,   627,   628,   629,   630,   631,   632,
@@ -1619,52 +1619,52 @@
      227,    28,     9,   227,     9,   227,     9,    35,   253,     2,
       35,   126,    45,    40,   354,   355,   356,   357,   358,   359,
      231,    45,   119,    35,   227,   625,   366,   254,   368,    12,
-     254,   128,   254,   244,   258,    46,     0,     1,   262,     3,
-       4,     5,     6,     0,   227,   294,    10,    11,    31,    13,
+     254,   128,   254,   244,   258,     0,     0,     1,   262,     3,
+       4,     5,     6,   123,   227,   294,    10,    11,    31,    13,
       43,   254,    79,    17,    35,   655,    35,   227,   282,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,   123,
-      34,   254,    48,     9,    10,    11,   227,    13,    98,    99,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    37,
+      34,   254,    46,     9,    10,    11,   227,    13,    98,    99,
       15,   101,   102,    46,   254,   112,   113,   114,   121,   192,
-     185,    14,   207,   120,    37,   123,   121,   121,    33,   227,
-      36,    37,   119,   254,   479,   480,    29,    46,   448,    32,
+     185,    14,   207,   120,    48,   123,   121,   121,    33,   227,
+      36,    37,   119,   254,   479,   480,    29,    35,   448,    32,
      117,   148,   117,   148,   117,   490,   115,   116,    97,    98,
-      99,   148,   101,   102,   103,   253,   254,   372,    35,   119,
-     111,   112,   113,   123,   111,   112,   113,   119,   128,   242,
-     104,   106,   107,   388,   108,   123,   127,    38,    39,   126,
-      41,   644,   645,   377,   378,    46,   183,    35,   261,    38,
-      39,   388,    41,   190,   388,   192,   388,    35,   104,    37,
-     408,    35,   108,   276,   412,   111,   363,   364,   416,    35,
-     367,   117,    98,     1,   100,     3,     4,     5,     6,   162,
-     163,   164,    10,    11,    46,    13,   124,   125,    35,    17,
-     227,   425,    46,   427,   245,   246,   309,    55,    56,    57,
-      58,    59,    60,    46,    46,   242,    34,   121,   114,   468,
-      35,   123,   652,    35,   227,   123,   253,   254,    38,    39,
-      40,    41,   259,   121,   458,   459,   460,   123,   122,   276,
-     121,   276,   124,   119,   372,   282,   120,   282,   125,   276,
-     121,   254,   121,   120,   119,    46,   119,    46,    35,    35,
-     388,   122,   122,   122,    46,    48,     1,    46,    49,     8,
-     120,   120,     7,   120,     9,    10,    11,    12,   121,   109,
-     105,    16,    17,    18,    19,    35,   104,    22,   315,    24,
-     108,    26,   119,    28,   389,   322,   119,   324,    33,    35,
+      99,   148,   101,   102,   103,   253,   254,   372,   124,   125,
+     111,   112,   113,   170,   111,   112,   113,   363,   364,   242,
+     104,   367,    35,   388,   108,   123,   127,   408,   119,   126,
+     119,   412,   123,   377,   378,   416,   183,   128,   261,    38,
+      39,   388,    41,   190,   388,   192,   388,    46,   104,    35,
+      35,    37,   108,   276,    35,   111,    46,    47,    48,    49,
+      98,   117,   100,     1,    46,     3,     4,     5,     6,   162,
+     163,   164,    10,    11,    46,    13,   106,   107,    35,    17,
+     227,   425,    46,   427,   644,   645,   309,    55,    56,    57,
+      58,    59,    60,   245,   246,   242,    34,    38,    39,   468,
+      41,    46,   652,   121,   227,   114,   253,   254,    38,    39,
+      40,    41,   259,    46,   458,   459,   460,    35,   123,   276,
+      35,   276,   123,   121,   372,   282,   123,   282,   122,   276,
+     121,   254,   124,   120,    46,    35,   125,   121,   121,   119,
+     388,   120,   119,   119,   122,    35,     1,   122,   122,    46,
+      48,    46,     7,    49,     9,    10,    11,    12,     8,   120,
+     120,    16,    17,    18,    19,   120,   104,    22,   315,    24,
+     108,    26,   121,    28,   389,   322,   105,   324,    33,    35,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    35,    35,    35,    50,    51,    52,    53,    37,
+      45,    46,   109,   119,    35,    50,    51,    52,    53,    37,
       38,    39,    40,    41,    42,    43,    44,    45,    35,   424,
-      35,    35,    50,    35,   429,   128,   122,   498,    35,   110,
-      35,    35,    20,    30,   371,   372,    21,    35,   122,    35,
-      35,    35,   120,   388,    54,   121,    45,   122,   122,    97,
-     122,   388,   606,    54,   120,    23,   121,   119,   463,    25,
-     121,   595,   596,   597,    45,    45,   111,    45,   481,    45,
-      45,    45,   485,    45,   119,    45,    35,    35,    35,   492,
-      35,    35,    35,    35,   121,   523,   524,   525,   493,    35,
-     495,   121,    15,   121,   120,   432,   433,   434,   435,   436,
-     437,   438,    35,    27,    35,    35,   117,   234,   177,    53,
-     447,   190,   449,   450,   451,   183,   254,   181,   652,   148,
-     276,   508,   485,   418,   461,   462,   655,   464,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,   485,   524,
-     485,    50,   613,    52,   660,   252,   428,   514,   485,   410,
+      35,   119,    50,    35,   429,    35,    35,   498,    35,    35,
+     122,   128,    35,   110,   371,   372,    35,    35,    20,    30,
+      21,    35,    35,   388,   122,    35,    35,   120,   122,    54,
+     121,   388,   606,    45,   122,    97,   122,    54,   463,   120,
+      23,   595,   596,   597,   121,    25,   111,    45,   481,    45,
+      45,    45,   485,    45,   119,    45,    45,    45,    35,   492,
+     119,    35,    35,    35,    35,   523,   524,   525,   493,    35,
+     495,    35,   121,   121,   121,   432,   433,   434,   435,   436,
+     437,   438,    35,    35,    15,   121,   120,    27,    35,    35,
+     447,   183,   449,   450,   451,   117,   234,   177,   652,    53,
+     190,   254,   181,   276,   461,   462,   148,   464,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,   485,   485,
+     485,    50,   613,    52,   508,   655,   418,   524,   485,   660,
       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
-      93,    94,    95,    96,   511,   388,   512,   414,    30,    33,
-      -1,   508,    -1,    -1,   511,    -1,    37,    38,    39,    40,
+      93,    94,    95,    96,   511,   428,   514,   410,   252,   388,
+     414,   508,   512,    30,   511,    33,    37,    38,    39,    40,
       41,    42,    43,    44,    45,    46,   523,   524,   525,    50,
       51,    52,    53,   606,    -1,    -1,   601,    -1,    -1,    -1,
       -1,    -1,    -1,   540,   541,   542,   543,   544,   545,   546,
@@ -1752,7 +1752,7 @@
      121,   144,    35,    50,   249,   296,   124,   125,   190,   195,
      120,   121,   120,   121,   124,   125,   209,   119,   277,   278,
      119,   277,   119,   173,   278,   278,   278,    46,   122,   122,
-     122,    46,   177,   178,    35,   166,    35,   111,   112,   113,
+     122,   289,   177,   178,    35,   166,    35,   111,   112,   113,
      127,   196,   193,    35,   151,   288,    46,   170,    46,   174,
      175,   176,   212,   296,    48,    49,    46,   185,     8,   179,
      190,   106,   107,   152,   153,   154,   155,   156,   157,   120,
@@ -2683,7 +2683,7 @@
 
   case 41:
 #line 671 "pir.y"
-    { annotate(lexer, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
+    { annotate(lexer, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].cval)); ;}
     break;
 
   case 42:



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About