From 117f9f4816b9a7783754d376dfc15fc91008fd6b Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 15 Feb 2006 15:06:27 +0000
Subject: [PATCH] newsl and newll to get next available loop numbers

---
 Parser/Gmsh.l         |   4 +-
 Parser/Gmsh.tab.cpp   |   2 +-
 Parser/Gmsh.yy.cpp    | 990 +++++++++++++++++++++---------------------
 doc/texinfo/gmsh.texi |   8 +-
 4 files changed, 512 insertions(+), 492 deletions(-)

diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l
index 4659e38ef4..e7937d06ba 100644
--- a/Parser/Gmsh.l
+++ b/Parser/Gmsh.l
@@ -1,5 +1,5 @@
 %{
-// $Id: Gmsh.l,v 1.76 2006-01-30 00:40:19 geuzaine Exp $
+// $Id: Gmsh.l,v 1.77 2006-02-15 15:06:25 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -90,7 +90,9 @@ stepid  {dieze}({digit})+
 "newp"  		{yylval.d = NEWPOINT(); return tDOUBLE;}
 "newl"  		{yylval.d = NEWLINE(); return tDOUBLE;}
 "newc"  		{yylval.d = NEWLINE(); return tDOUBLE;}
+"newll"  		{yylval.d = NEWLINELOOP(); return tDOUBLE;}
 "news"  		{yylval.d = NEWSURFACE(); return tDOUBLE;}
+"newsl"  		{yylval.d = NEWSURFACELOOP(); return tDOUBLE;}
 "newv"  		{yylval.d = NEWVOLUME(); return tDOUBLE;}
 "="                     return tAFFECT;
 "+="                    return tAFFECTPLUS;
diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp
index 919c7ef31b..8b95521ec3 100644
--- a/Parser/Gmsh.tab.cpp
+++ b/Parser/Gmsh.tab.cpp
@@ -125,7 +125,7 @@
 
 #line 1 "Gmsh.y"
 
-// $Id: Gmsh.tab.cpp,v 1.254 2006-01-30 00:40:19 geuzaine Exp $
+// $Id: Gmsh.tab.cpp,v 1.255 2006-02-15 15:06:25 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp
index ca26f0e42e..f4aabbbd29 100644
--- a/Parser/Gmsh.yy.cpp
+++ b/Parser/Gmsh.yy.cpp
@@ -2,7 +2,7 @@
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.253 2006-01-30 00:40:20 geuzaine Exp $
+ * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.254 2006-02-15 15:06:27 geuzaine Exp $
  */
 
 #define FLEX_SCANNER
@@ -283,74 +283,74 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
 	*yy_cp = '\0'; \
 	yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 140
-#define YY_END_OF_BUFFER 141
-static yyconst short int yy_accept[583] =
+#define YY_NUM_RULES 142
+#define YY_END_OF_BUFFER 143
+static yyconst short int yy_accept[585] =
     {   0,
-        0,    0,  141,  139,    1,    1,  139,    5,  139,    6,
-      139,  139,  139,  139,  139,  134,   18,    2,  139,   13,
-      139,  138,  138,  138,  138,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  139,  139,   26,   22,   16,   23,
-       14,   24,   15,    0,  136,    3,    4,   17,   20,  135,
-      134,    0,   28,   25,   29,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,  138,   82,   81,  138,
-
-      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
-       97,  138,  138,  138,  138,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  138,  130,  131,  138,  138,  138,
-      138,  138,  138,  138,  138,   21,   27,   19,    0,  135,
-        0,    0,  137,  138,  138,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
-      138,   49,  138,  138,  138,  138,  138,  138,  138,   62,
-      138,  138,  138,  138,   73,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,   88,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
-
-      138,  138,  138,  138,  138,  138,  111,  138,  138,  138,
-      138,  138,  138,  138,  124,  138,  138,  138,  138,  138,
-      138,  138,    0,  136,    0,    0,  135,   30,  138,  138,
-      138,  138,   34,   36,  138,  138,  138,  138,   42,   57,
-      138,   46,  138,  138,  138,  138,  138,  138,   48,  138,
-      138,   61,  138,  138,  138,  138,   69,  138,   70,  138,
-       72,  138,  138,  138,   79,  138,  138,  138,  138,  138,
-      138,   86,  138,   87,  138,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,  108,  138,  138,  138,
-      138,  120,  112,  138,  138,  110,  138,  138,  138,  138,
-
-      138,  133,  123,  138,  138,  138,  138,  138,  129,   10,
-        9,    8,  138,   11,   12,    0,  135,   32,  138,  138,
-      138,   38,  138,  138,  138,  138,  138,  138,  138,  138,
-       54,  138,  138,  138,  138,  138,  138,  138,   68,  138,
-       71,  138,  138,  138,   80,  138,  138,   84,  138,  138,
-       89,  138,  138,  138,   94,   95,  138,  138,   98,  138,
-       99,  100,  138,  138,  138,  138,  138,  107,  138,  138,
-      138,  138,  138,  138,  138,  126,  138,  138,  127,  138,
-      138,  138,   31,   35,   37,  138,  138,   41,  138,   44,
-      138,  138,   51,  138,  138,  138,  138,   58,   59,  138,
-
-      138,  138,   67,  138,  138,  138,  138,  138,  138,  138,
-       90,   85,  138,  138,   91,  138,  138,  104,  103,  138,
-      138,  109,  106,  113,  138,  117,  138,  138,  138,  138,
-      138,  138,  138,  128,    7,  138,   39,  138,   43,  138,
-      138,  138,  138,  138,   47,   53,  138,   64,  138,  138,
-       65,  138,  138,  138,  138,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  116,  138,  138,  114,  138,  138,
-      138,  125,  138,  138,  138,  138,  138,  138,  138,  138,
-       63,   66,   74,  138,  138,  138,   75,  138,  138,   92,
-       93,  138,   96,  138,  138,  138,  138,  115,  138,  138,
-
-      138,   40,  138,  138,  138,   52,  138,   60,  138,  138,
-      138,  138,   83,  138,  138,  105,  118,  138,  138,  122,
-      138,  138,   56,  138,   55,  138,  138,  138,  138,  102,
-      138,  138,  138,  138,   45,  138,  138,  138,  138,  138,
-      101,  119,  121,  138,  138,  138,  138,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,   50,  138,  138,  138,
-      138,  138,  138,  138,  138,  138,   33,  138,  138,  138,
-      138,  138,  138,  138,  138,   76,   77,   78,  138,  138,
-      132,    0
+        0,    0,  143,  141,    1,    1,  141,    5,  141,    6,
+      141,  141,  141,  141,  141,  136,   20,    2,  141,   15,
+      141,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  141,  141,   28,   24,   18,   25,
+       16,   26,   17,    0,  138,    3,    4,   19,   22,  137,
+      136,    0,   30,   27,   31,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  140,   84,   83,  140,
+
+      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+       99,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  132,  133,  140,  140,  140,
+      140,  140,  140,  140,  140,   23,   29,   21,    0,  137,
+        0,    0,  139,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,   51,  140,  140,  140,  140,  140,  140,  140,   64,
+      140,  140,  140,  140,   75,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,   90,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
+
+      140,  140,  140,  140,  140,  140,  113,  140,  140,  140,
+      140,  140,  140,  140,  126,  140,  140,  140,  140,  140,
+      140,  140,    0,  138,    0,    0,  137,   32,  140,  140,
+      140,  140,   36,   38,  140,  140,  140,  140,   44,   59,
+      140,   48,  140,  140,  140,  140,  140,  140,   50,  140,
+      140,   63,  140,  140,  140,  140,   71,  140,   72,  140,
+       74,  140,  140,  140,   81,  140,  140,  140,  140,  140,
+      140,   88,  140,   89,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  110,  140,  140,  140,
+      140,  122,  114,  140,  140,  112,  140,  140,  140,  140,
+
+      140,  135,  125,  140,  140,  140,  140,  140,  131,   10,
+        9,    8,  140,   12,   14,    0,  137,   34,  140,  140,
+      140,   40,  140,  140,  140,  140,  140,  140,  140,  140,
+       56,  140,  140,  140,  140,  140,  140,  140,   70,  140,
+       73,  140,  140,  140,   82,  140,  140,   86,  140,  140,
+       91,  140,  140,  140,   96,   97,  140,  140,  100,  140,
+      101,  102,  140,  140,  140,  140,  140,  109,  140,  140,
+      140,  140,  140,  140,  140,  128,  140,  140,  129,  140,
+       11,  140,   13,  140,   33,   37,   39,  140,  140,   43,
+      140,   46,  140,  140,   53,  140,  140,  140,  140,   60,
+
+       61,  140,  140,  140,   69,  140,  140,  140,  140,  140,
+      140,  140,   92,   87,  140,  140,   93,  140,  140,  106,
+      105,  140,  140,  111,  108,  115,  140,  119,  140,  140,
+      140,  140,  140,  140,  140,  130,    7,  140,   41,  140,
+       45,  140,  140,  140,  140,  140,   49,   55,  140,   66,
+      140,  140,   67,  140,  140,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  118,  140,  140,  116,
+      140,  140,  140,  127,  140,  140,  140,  140,  140,  140,
+      140,  140,   65,   68,   76,  140,  140,  140,   77,  140,
+      140,   94,   95,  140,   98,  140,  140,  140,  140,  117,
+
+      140,  140,  140,   42,  140,  140,  140,   54,  140,   62,
+      140,  140,  140,  140,   85,  140,  140,  107,  120,  140,
+      140,  124,  140,  140,   58,  140,   57,  140,  140,  140,
+      140,  104,  140,  140,  140,  140,   47,  140,  140,  140,
+      140,  140,  103,  121,  123,  140,  140,  140,  140,  140,
+      140,  140,  140,  140,  140,  140,  140,  140,   52,  140,
+      140,  140,  140,  140,  140,  140,  140,  140,   35,  140,
+      140,  140,  140,  140,  140,  140,  140,   78,   79,   80,
+      140,  140,  134,    0
     } ;
 
 static yyconst int yy_ec[256] =
@@ -397,143 +397,143 @@ static yyconst int yy_meta[75] =
         2,    2,    1,    1
     } ;
 
-static yyconst short int yy_base[584] =
+static yyconst short int yy_base[586] =
     {   0,
-        0,    0,  704,  705,  705,  705,  682,  705,  696,  705,
-      680,   66,   67,   65,   77,   79,  705,  705,  679,  678,
-      677,   47,   58,   66,   68,   68,   81,   48,   30,   55,
-        0,  637,   85,   46,  629,  631,   95,   97,   99,  152,
-      629,  632,  636,  639,  617,  668,  705,  705,  705,  705,
-      705,  705,  705,  677,  158,  705,  705,  705,  705,  163,
-      178,  208,  705,  705,  705,    0,  626,  630,  635,  628,
-       68,  621,  610,  614,  621,   51,  623,  630,  613,  143,
-      618,  617,  626,  611,  614,  620,  141,  621,  608,  607,
-      603,  606,  624,  598,  612,  600,  619,    0,  594,  598,
-
-      587,  597,  596,  127,  624,  603,  589,  601,  587,  579,
-        0,   96,   91,   96,  589,  146,  582,  589,  585,  585,
-       72,  580,  579,  578,  582,    0,    0,  605,  579,  587,
-      158,  581,  578,  569,  565,  705,  705,  705,  218,  223,
-      232,  238,  243,  568,  584,  236,  571,  570,  565,  570,
-      571,  566,  563,  566,  564,  564,  557,  570,  567,  557,
-      120,  562,  564,  567,  545,  555,  556,  156,  545,    0,
-      546,  544,  547,  556,    0,  556,  575,  560,  551,  541,
-      574,  548,  533,  546,  543,  544,  581,  532,  546,  525,
-      542,  538,  541,  523,  527,  532,  525,  532,  523,  528,
-
-      530,  519,  512,  530,  525,  507,  520,  518,  517,  506,
-      241,  518,  511,  542,  513,  519,  506,  506,  504,  496,
-      507,  218,  256,  274,  283,  288,  293,    0,  496,  499,
-      503,  510,    0,  542,  508,  499,  502,  502,    0,    0,
-      485,    0,  503,  492,  485,  484,  491,  488,    0,  479,
-      478,    0,  487,  480,  480,  487,    0,  472,    0,  474,
-        0,  471,  489,  487,    0,  468,  493,  468,  466,  466,
-      463,    0,  515,    0,   62,  469,  461,  461,  465,  467,
-      470,  465,  454,  455,  452,  453,    0,  457,  451,  448,
-      462,    0,    0,  452,  451,    0,  462,  445,  456,  459,
-
-      454,    0,    0,  434,  439,  444,  448,  442,    0,    0,
-        0,    0,  448,    0,    0,  298,  303,  454,  433,  437,
+        0,    0,  706,  707,  707,  707,  684,  707,  698,  707,
+      682,   66,   67,   65,   77,   79,  707,  707,  681,  680,
+      679,   47,   58,   66,   68,   68,   81,   48,   30,   55,
+        0,  639,   85,   46,  631,  633,   95,   97,   99,  152,
+      631,  634,  638,  641,  619,  670,  707,  707,  707,  707,
+      707,  707,  707,  679,  158,  707,  707,  707,  707,  163,
+      178,  208,  707,  707,  707,    0,  628,  632,  637,  630,
+       68,  623,  612,  616,  623,   51,  625,  632,  615,  143,
+      620,  619,  628,  613,  616,  622,  141,  623,  610,  609,
+      605,  608,  626,  600,  614,  602,  621,    0,  596,  600,
+
+      589,  599,  598,  127,  626,  605,  591,  603,  589,  581,
+        0,   96,   91,   96,  591,  146,  584,  591,  587,  587,
+       72,  582,  581,  580,  584,    0,    0,  607,  581,  589,
+      158,  583,  580,  571,  567,  707,  707,  707,  218,  223,
+      232,  238,  243,  570,  586,  236,  573,  572,  567,  572,
+      573,  568,  565,  568,  566,  566,  559,  572,  569,  559,
+      120,  564,  566,  569,  547,  557,  558,  156,  547,    0,
+      548,  546,  549,  558,    0,  558,  577,  562,  553,  543,
+      576,  550,  535,  548,  545,  546,  583,  534,  548,  527,
+      544,  540,  543,  525,  529,  534,  527,  534,  525,  530,
+
+      532,  521,  514,  532,  527,  509,  522,  520,  519,  508,
+      241,  520,  513,  544,  515,  521,  508,  508,  506,  498,
+      509,  218,  256,  274,  283,  288,  293,    0,  498,  501,
+      505,  512,    0,  544,  510,  501,  504,  504,    0,    0,
+      487,    0,  505,  494,  487,  486,  493,  490,    0,  481,
+      480,    0,  489,  482,  482,  489,    0,  474,    0,  476,
+        0,  473,  491,  489,    0,  470,  495,  470,  468,  468,
+      465,    0,  517,    0,   62,  471,  463,  463,  467,  469,
+      472,  467,  456,  457,  454,  455,    0,  459,  453,  450,
+      464,    0,    0,  454,  453,    0,  464,  447,  458,  461,
+
+      456,    0,    0,  436,  441,  446,  450,  444,    0,    0,
+      444,    0,  449,  442,    0,  298,  303,  454,  433,  437,
       436,    0,  445,  434,  429,  155,  434,  441,  438,  437,
       446,  427,  434,  433,  432,  433,  178,  418,    0,  430,
         0,  424,  191,  421,    0,  440,  412,    0,  411,  420,
         0,  426,  417,  411,    0,    0,  419,  420,    0,  409,
         0,    0,  415,  415,  417,  405,  412,    0,  411,  396,
       395,  408,  401,  408,  391,    0,  146,  404,    0,  403,
-      400,  397,    0,    0,  437,  385,  398,    0,  389,    0,
-      390,  381,    0,  386,  397,  392,  373,    0,    0,  394,
-
-      211,  385,    0,  388,  378,  298,  415,  370,  399,  383,
-        0,    0,  374,  361,    0,  366,  383,    0,    0,  365,
-      373,    0,    0,    0,  375,    0,  374,  378,  373,  360,
-      367,  374,  370,    0,    0,  354,    0,  358,    0,  364,
-      377,  364,  365,  365,    0,    0,  347,    0,  347,  361,
-        0,  350,  377,  372,  365,  354,  371,  354,  346,  350,
-      337,  342,  334,  338,    0,  341,  330,    0,  324,  334,
-      327,    0,  337,  327,  366,  328,  324,  335,  328,  337,
-        0,    0,    0,  347,  346,  357,    0,  358,  314,    0,
-        0,  323,    0,  322,  325,  306,  319,    0,  318,  321,
-
-      335,    0,  310,  311,  313,    0,  316,    0,  327,  326,
-      335,  322,    0,  313,  301,    0,    0,  293,  294,    0,
-      297,  288,    0,  292,    0,  309,  308,  307,  322,    0,
-      292,  299,  298,  283,    0,  282,  303,  302,  301,  307,
-        0,    0,    0,  287,  286,  314,  313,  312,  302,  276,
-      286,  295,  294,  293,  285,  271,    0,  289,  287,  286,
-      285,  260,  293,  292,  291,  270,    0,  257,  248,  247,
-      244,  229,  228,  226,  192,    0,    0,    0,  174,  159,
-        0,  705,  102
+        0,  400,    0,  397,    0,    0,  437,  385,  398,    0,
+      389,    0,  390,  381,    0,  386,  397,  392,  373,    0,
+
+        0,  394,  211,  385,    0,  388,  378,  298,  415,  370,
+      399,  383,    0,    0,  374,  361,    0,  366,  383,    0,
+        0,  365,  373,    0,    0,    0,  375,    0,  374,  378,
+      373,  360,  367,  374,  370,    0,    0,  354,    0,  358,
+        0,  364,  377,  364,  365,  365,    0,    0,  347,    0,
+      347,  361,    0,  350,  377,  372,  365,  354,  371,  354,
+      346,  350,  337,  342,  334,  338,    0,  341,  330,    0,
+      324,  334,  327,    0,  337,  327,  366,  328,  324,  335,
+      328,  337,    0,    0,    0,  347,  346,  357,    0,  358,
+      314,    0,    0,  323,    0,  322,  325,  306,  319,    0,
+
+      318,  321,  335,    0,  310,  311,  313,    0,  316,    0,
+      327,  326,  335,  322,    0,  313,  301,    0,    0,  293,
+      294,    0,  297,  288,    0,  292,    0,  309,  308,  307,
+      322,    0,  292,  299,  298,  283,    0,  282,  303,  302,
+      301,  307,    0,    0,    0,  287,  286,  314,  313,  312,
+      302,  276,  286,  295,  294,  293,  285,  271,    0,  289,
+      287,  286,  285,  260,  293,  292,  291,  270,    0,  257,
+      248,  247,  244,  229,  228,  226,  192,    0,    0,    0,
+      174,  159,    0,  707,  102
     } ;
 
-static yyconst short int yy_def[584] =
+static yyconst short int yy_def[586] =
     {   0,
-      582,    1,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  582,  582,  582,  582,  582,
-      582,  582,  582,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  582,  582,  582,  582,  582,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  582,  582,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,    0,  582
+      584,    1,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  584,  584,  584,  584,  584,
+      584,  584,  584,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  584,  584,  584,  584,  584,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  584,  584,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,  585,  585,  585,  585,  585,  585,  585,
+      585,  585,  585,    0,  584
     } ;
 
-static yyconst short int yy_nxt[780] =
+static yyconst short int yy_nxt[782] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
        14,   15,   16,   16,   16,   16,   16,   17,   18,   19,
@@ -554,75 +554,76 @@ static yyconst short int yy_nxt[780] =
       111,  199,  112,  119,  120,  113,  200,  117,  114,  198,
       121,  122,  196,  118,  123,  124,  126,  127,  247,  125,
        55,   55,   55,   55,   55,  140,  140,  140,  140,  140,
-      187,  248,  128,  255,  139,  581,  256,  188,   60,  141,
-       61,   61,   61,   61,   61,  202,  169,  159,  431,  129,
+      187,  248,  128,  255,  139,  583,  256,  188,   60,  141,
+       61,   61,   61,   61,   61,  202,  169,  159,  433,  129,
 
-      160,  161,  170,  432,   62,  217,  171,  162,  580,  139,
-      389,  203,  130,  218,  141,  131,  142,  142,  579,  390,
-      143,  143,  143,  143,  143,  406,  223,  223,  407,   62,
+      160,  161,  170,  434,   62,  217,  171,  162,  582,  139,
+      391,  203,  130,  218,  141,  131,  142,  142,  581,  392,
+      143,  143,  143,  143,  143,  408,  223,  223,  409,   62,
       224,  224,  224,  224,  224,  140,  140,  140,  140,  140,
-      226,  226,  401,  402,  227,  227,  227,  227,  227,  225,
+      226,  226,  403,  404,  227,  227,  227,  227,  227,  225,
       143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      230,  578,  448,  577,  576,  297,  449,  310,  224,  224,
-      224,  224,  224,  575,  225,  311,  231,  232,  298,  312,
-      299,  313,  314,  574,  573,  315,  224,  224,  224,  224,
-      224,  316,  316,  572,  571,  317,  317,  317,  317,  317,
+      230,  580,  450,  579,  578,  297,  451,  310,  224,  224,
+      224,  224,  224,  577,  225,  311,  231,  232,  298,  312,
+      299,  313,  314,  576,  575,  315,  224,  224,  224,  224,
+      224,  316,  316,  574,  573,  317,  317,  317,  317,  317,
 
       227,  227,  227,  227,  227,  227,  227,  227,  227,  227,
       317,  317,  317,  317,  317,  317,  317,  317,  317,  317,
-      453,  570,  569,  568,  567,  566,  565,  564,  454,  563,
-      562,  561,  560,  559,  558,  557,  556,  555,  554,  553,
-      552,  551,  550,  549,  548,  547,  546,  545,  544,  543,
-      542,  541,  540,  539,  538,  537,  536,  535,  534,  533,
-      532,  531,  530,  529,  528,  527,  526,  525,  524,  523,
-      522,  521,  520,  519,  518,  517,  516,  515,  514,  513,
-      512,  511,  510,  509,  508,  507,  506,  505,  504,  503,
-      502,  501,  500,  499,  498,  497,  496,  495,  494,  493,
-
-      492,  491,  490,  489,  488,  487,  486,  485,  484,  483,
-      482,  481,  480,  479,  478,  477,  476,  475,  474,  473,
-      472,  471,  470,  469,  468,  467,  466,  465,  464,  463,
-      462,  461,  460,  459,  458,  457,  456,  455,  452,  451,
-      450,  447,  446,  445,  444,  443,  442,  441,  440,  439,
-      438,  437,  436,  435,  434,  433,  430,  429,  428,  427,
-      426,  425,  424,  423,  422,  421,  420,  419,  418,  417,
-      416,  415,  414,  413,  412,  411,  410,  409,  408,  405,
-      404,  403,  400,  399,  398,  397,  396,  395,  394,  393,
-      392,  391,  388,  387,  386,  385,  384,  383,  382,  381,
-
-      380,  379,  378,  377,  376,  375,  374,  373,  372,  371,
-      370,  369,  368,  367,  366,  365,  364,  363,  362,  361,
-      360,  359,  358,  357,  356,  355,  354,  351,  350,  349,
-      348,  347,  346,  345,  344,  343,  342,  341,  340,  339,
-      338,  337,  336,  335,  334,  333,  332,  331,  330,  329,
-      328,  327,  326,  325,  324,  323,  322,  321,  320,  319,
-      318,  309,  308,  307,  306,  305,  304,  303,  302,  301,
-      300,  296,  295,  294,  293,  292,  291,  290,  289,  288,
-      287,  286,  285,  284,  283,  282,  281,  280,  279,  278,
-      277,  276,  275,  274,  273,  272,  271,  270,  269,  268,
-
-      267,  266,  265,  264,  263,  262,  261,  260,  259,  258,
-      257,  254,  253,  252,  251,  250,  249,  246,  245,  244,
-      243,  242,  241,  240,  239,  238,  237,  236,  235,  234,
-      233,  229,  228,  222,  221,  220,  219,  216,  215,  214,
-      213,  212,  211,  210,  207,  206,  205,  204,  201,  194,
-      193,  192,  191,  190,  189,  186,  185,  184,  183,  182,
-      181,  180,  179,  178,  177,  176,  175,  174,  173,  172,
-      168,  167,  166,  165,  164,  163,  158,  157,  156,  153,
-      152,  151,  150,  147,  146,  145,  144,  138,  137,  136,
-      135,  134,  133,  132,  108,  107,  100,   65,   64,   63,
-
-       49,   48,   47,  582,    3,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582
+      455,  572,  571,  570,  569,  568,  567,  566,  456,  565,
+      564,  563,  562,  561,  560,  559,  558,  557,  556,  555,
+      554,  553,  552,  551,  550,  549,  548,  547,  546,  545,
+      544,  543,  542,  541,  540,  539,  538,  537,  536,  535,
+      534,  533,  532,  531,  530,  529,  528,  527,  526,  525,
+      524,  523,  522,  521,  520,  519,  518,  517,  516,  515,
+      514,  513,  512,  511,  510,  509,  508,  507,  506,  505,
+      504,  503,  502,  501,  500,  499,  498,  497,  496,  495,
+
+      494,  493,  492,  491,  490,  489,  488,  487,  486,  485,
+      484,  483,  482,  481,  480,  479,  478,  477,  476,  475,
+      474,  473,  472,  471,  470,  469,  468,  467,  466,  465,
+      464,  463,  462,  461,  460,  459,  458,  457,  454,  453,
+      452,  449,  448,  447,  446,  445,  444,  443,  442,  441,
+      440,  439,  438,  437,  436,  435,  432,  431,  430,  429,
+      428,  427,  426,  425,  424,  423,  422,  421,  420,  419,
+      418,  417,  416,  415,  414,  413,  412,  411,  410,  407,
+      406,  405,  402,  401,  400,  399,  398,  397,  396,  395,
+      394,  393,  390,  389,  388,  387,  386,  385,  384,  383,
+
+      382,  381,  380,  379,  378,  377,  376,  375,  374,  373,
+      372,  371,  370,  369,  368,  367,  366,  365,  364,  363,
+      362,  361,  360,  359,  358,  357,  356,  355,  354,  351,
+      350,  349,  348,  347,  346,  345,  344,  343,  342,  341,
+      340,  339,  338,  337,  336,  335,  334,  333,  332,  331,
+      330,  329,  328,  327,  326,  325,  324,  323,  322,  321,
+      320,  319,  318,  309,  308,  307,  306,  305,  304,  303,
+      302,  301,  300,  296,  295,  294,  293,  292,  291,  290,
+      289,  288,  287,  286,  285,  284,  283,  282,  281,  280,
+      279,  278,  277,  276,  275,  274,  273,  272,  271,  270,
+
+      269,  268,  267,  266,  265,  264,  263,  262,  261,  260,
+      259,  258,  257,  254,  253,  252,  251,  250,  249,  246,
+      245,  244,  243,  242,  241,  240,  239,  238,  237,  236,
+      235,  234,  233,  229,  228,  222,  221,  220,  219,  216,
+      215,  214,  213,  212,  211,  210,  207,  206,  205,  204,
+      201,  194,  193,  192,  191,  190,  189,  186,  185,  184,
+      183,  182,  181,  180,  179,  178,  177,  176,  175,  174,
+      173,  172,  168,  167,  166,  165,  164,  163,  158,  157,
+      156,  153,  152,  151,  150,  147,  146,  145,  144,  138,
+      137,  136,  135,  134,  133,  132,  108,  107,  100,   65,
+
+       64,   63,   49,   48,   47,  584,    3,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584
     } ;
 
-static yyconst short int yy_chk[780] =
+static yyconst short int yy_chk[782] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -635,7 +636,7 @@ static yyconst short int yy_chk[780] =
        14,   14,   28,   34,   15,   29,   12,   13,   15,   16,
        30,   16,   16,   16,   16,   16,   22,   15,   23,   28,
 
-       29,  275,  275,  583,   22,   16,   34,   30,   76,   23,
+       29,  275,  275,  585,   22,   16,   34,   30,   76,   23,
        22,   22,   22,   24,   30,   71,   76,   24,   23,   25,
        24,   24,   15,   25,   23,   26,   24,   26,   27,  121,
        16,   25,   33,   71,   25,  121,   33,   26,   27,   27,
@@ -643,72 +644,73 @@ static yyconst short int yy_chk[780] =
        37,  114,   37,   39,   39,   37,  114,   38,   37,  113,
        39,   39,  112,   38,   39,   39,   40,   40,  161,   39,
        55,   55,   55,   55,   55,   60,   60,   60,   60,   60,
-      104,  161,   40,  168,   55,  580,  168,  104,   61,   60,
+      104,  161,   40,  168,   55,  582,  168,  104,   61,   60,
        61,   61,   61,   61,   61,  116,   87,   80,  377,   40,
 
-       80,   80,   87,  377,   61,  131,   87,   80,  579,   55,
-      326,  116,   40,  131,   60,   40,   62,   62,  575,  326,
+       80,   80,   87,  377,   61,  131,   87,   80,  581,   55,
+      326,  116,   40,  131,   60,   40,   62,   62,  577,  326,
        62,   62,   62,   62,   62,  343,  139,  139,  343,   61,
       139,  139,  139,  139,  139,  140,  140,  140,  140,  140,
       141,  141,  337,  337,  141,  141,  141,  141,  141,  140,
       142,  142,  142,  142,  142,  143,  143,  143,  143,  143,
-      146,  574,  401,  573,  572,  211,  401,  222,  223,  223,
-      223,  223,  223,  571,  140,  222,  146,  146,  211,  222,
-      211,  222,  222,  570,  569,  222,  224,  224,  224,  224,
-      224,  225,  225,  568,  566,  225,  225,  225,  225,  225,
+      146,  576,  403,  575,  574,  211,  403,  222,  223,  223,
+      223,  223,  223,  573,  140,  222,  146,  146,  211,  222,
+      211,  222,  222,  572,  571,  222,  224,  224,  224,  224,
+      224,  225,  225,  570,  568,  225,  225,  225,  225,  225,
 
       226,  226,  226,  226,  226,  227,  227,  227,  227,  227,
       316,  316,  316,  316,  316,  317,  317,  317,  317,  317,
-      406,  565,  564,  563,  562,  561,  560,  559,  406,  558,
-      556,  555,  554,  553,  552,  551,  550,  549,  548,  547,
-      546,  545,  544,  540,  539,  538,  537,  536,  534,  533,
-      532,  531,  529,  528,  527,  526,  524,  522,  521,  519,
-      518,  515,  514,  512,  511,  510,  509,  507,  505,  504,
-      503,  501,  500,  499,  497,  496,  495,  494,  492,  489,
-      488,  486,  485,  484,  480,  479,  478,  477,  476,  475,
-      474,  473,  471,  470,  469,  467,  466,  464,  463,  462,
-
-      461,  460,  459,  458,  457,  456,  455,  454,  453,  452,
-      450,  449,  447,  444,  443,  442,  441,  440,  438,  436,
-      433,  432,  431,  430,  429,  428,  427,  425,  421,  420,
-      417,  416,  414,  413,  410,  409,  408,  407,  405,  404,
-      402,  400,  397,  396,  395,  394,  392,  391,  389,  387,
-      386,  385,  382,  381,  380,  378,  375,  374,  373,  372,
+      408,  567,  566,  565,  564,  563,  562,  561,  408,  560,
+      558,  557,  556,  555,  554,  553,  552,  551,  550,  549,
+      548,  547,  546,  542,  541,  540,  539,  538,  536,  535,
+      534,  533,  531,  530,  529,  528,  526,  524,  523,  521,
+      520,  517,  516,  514,  513,  512,  511,  509,  507,  506,
+      505,  503,  502,  501,  499,  498,  497,  496,  494,  491,
+      490,  488,  487,  486,  482,  481,  480,  479,  478,  477,
+      476,  475,  473,  472,  471,  469,  468,  466,  465,  464,
+
+      463,  462,  461,  460,  459,  458,  457,  456,  455,  454,
+      452,  451,  449,  446,  445,  444,  443,  442,  440,  438,
+      435,  434,  433,  432,  431,  430,  429,  427,  423,  422,
+      419,  418,  416,  415,  412,  411,  410,  409,  407,  406,
+      404,  402,  399,  398,  397,  396,  394,  393,  391,  389,
+      388,  387,  384,  382,  380,  378,  375,  374,  373,  372,
       371,  370,  369,  367,  366,  365,  364,  363,  360,  358,
       357,  354,  353,  352,  350,  349,  347,  346,  344,  342,
       340,  338,  336,  335,  334,  333,  332,  331,  330,  329,
-      328,  327,  325,  324,  323,  321,  320,  319,  318,  313,
-
-      308,  307,  306,  305,  304,  301,  300,  299,  298,  297,
-      295,  294,  291,  290,  289,  288,  286,  285,  284,  283,
-      282,  281,  280,  279,  278,  277,  276,  273,  271,  270,
-      269,  268,  267,  266,  264,  263,  262,  260,  258,  256,
-      255,  254,  253,  251,  250,  248,  247,  246,  245,  244,
-      243,  241,  238,  237,  236,  235,  234,  232,  231,  230,
-      229,  221,  220,  219,  218,  217,  216,  215,  214,  213,
-      212,  210,  209,  208,  207,  206,  205,  204,  203,  202,
-      201,  200,  199,  198,  197,  196,  195,  194,  193,  192,
-      191,  190,  189,  188,  187,  186,  185,  184,  183,  182,
-
-      181,  180,  179,  178,  177,  176,  174,  173,  172,  171,
-      169,  167,  166,  165,  164,  163,  162,  160,  159,  158,
-      157,  156,  155,  154,  153,  152,  151,  150,  149,  148,
-      147,  145,  144,  135,  134,  133,  132,  130,  129,  128,
-      125,  124,  123,  122,  120,  119,  118,  117,  115,  110,
-      109,  108,  107,  106,  105,  103,  102,  101,  100,   99,
-       97,   96,   95,   94,   93,   92,   91,   90,   89,   88,
-       86,   85,   84,   83,   82,   81,   79,   78,   77,   75,
-       74,   73,   72,   70,   69,   68,   67,   54,   46,   45,
-       44,   43,   42,   41,   36,   35,   32,   21,   20,   19,
-
-       11,    9,    7,    3,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582
+      328,  327,  325,  324,  323,  321,  320,  319,  318,  314,
+
+      313,  311,  308,  307,  306,  305,  304,  301,  300,  299,
+      298,  297,  295,  294,  291,  290,  289,  288,  286,  285,
+      284,  283,  282,  281,  280,  279,  278,  277,  276,  273,
+      271,  270,  269,  268,  267,  266,  264,  263,  262,  260,
+      258,  256,  255,  254,  253,  251,  250,  248,  247,  246,
+      245,  244,  243,  241,  238,  237,  236,  235,  234,  232,
+      231,  230,  229,  221,  220,  219,  218,  217,  216,  215,
+      214,  213,  212,  210,  209,  208,  207,  206,  205,  204,
+      203,  202,  201,  200,  199,  198,  197,  196,  195,  194,
+      193,  192,  191,  190,  189,  188,  187,  186,  185,  184,
+
+      183,  182,  181,  180,  179,  178,  177,  176,  174,  173,
+      172,  171,  169,  167,  166,  165,  164,  163,  162,  160,
+      159,  158,  157,  156,  155,  154,  153,  152,  151,  150,
+      149,  148,  147,  145,  144,  135,  134,  133,  132,  130,
+      129,  128,  125,  124,  123,  122,  120,  119,  118,  117,
+      115,  110,  109,  108,  107,  106,  105,  103,  102,  101,
+      100,   99,   97,   96,   95,   94,   93,   92,   91,   90,
+       89,   88,   86,   85,   84,   83,   82,   81,   79,   78,
+       77,   75,   74,   73,   72,   70,   69,   68,   67,   54,
+       46,   45,   44,   43,   42,   41,   36,   35,   32,   21,
+
+       20,   19,   11,    9,    7,    3,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584,  584,  584,  584,  584,  584,  584,  584,  584,  584,
+      584
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -725,7 +727,7 @@ char *yytext;
 #line 1 "Gmsh.l"
 #define INITIAL 0
 #line 2 "Gmsh.l"
-// $Id: Gmsh.yy.cpp,v 1.253 2006-01-30 00:40:20 geuzaine Exp $
+// $Id: Gmsh.yy.cpp,v 1.254 2006-02-15 15:06:27 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -787,7 +789,7 @@ void   skipline(void);
 	     && ferror( yyin ) )					\
      Msg(FATAL, "Input in flex scanner failed");
 
-#line 791 "Gmsh.yy.cpp"
+#line 793 "Gmsh.yy.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -941,7 +943,7 @@ YY_DECL
 #line 81 "Gmsh.l"
 
 
-#line 945 "Gmsh.yy.cpp"
+#line 947 "Gmsh.yy.cpp"
 
 	if ( yy_init )
 		{
@@ -992,13 +994,13 @@ yy_match:
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 583 )
+				if ( yy_current_state >= 585 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			++yy_cp;
 			}
-		while ( yy_base[yy_current_state] != 705 );
+		while ( yy_base[yy_current_state] != 707 );
 
 yy_find_action:
 		yy_act = yy_accept[yy_current_state];
@@ -1077,645 +1079,655 @@ YY_RULE_SETUP
 case 11:
 YY_RULE_SETUP
 #line 93 "Gmsh.l"
-{yylval.d = NEWSURFACE(); return tDOUBLE;}
+{yylval.d = NEWLINELOOP(); return tDOUBLE;}
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
 #line 94 "Gmsh.l"
-{yylval.d = NEWVOLUME(); return tDOUBLE;}
+{yylval.d = NEWSURFACE(); return tDOUBLE;}
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
 #line 95 "Gmsh.l"
-return tAFFECT;
+{yylval.d = NEWSURFACELOOP(); return tDOUBLE;}
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
 #line 96 "Gmsh.l"
-return tAFFECTPLUS;
+{yylval.d = NEWVOLUME(); return tDOUBLE;}
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
 #line 97 "Gmsh.l"
-return tAFFECTMINUS;
+return tAFFECT;
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
 #line 98 "Gmsh.l"
-return tAFFECTTIMES;
+return tAFFECTPLUS;
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
 #line 99 "Gmsh.l"
-return tAFFECTDIVIDE;
+return tAFFECTMINUS;
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
 #line 100 "Gmsh.l"
-return tDOTS;
+return tAFFECTTIMES;
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
 #line 101 "Gmsh.l"
-return tDOTS;
+return tAFFECTDIVIDE;
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
 #line 102 "Gmsh.l"
-return tCROSSPRODUCT;
+return tDOTS;
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
 #line 103 "Gmsh.l"
-return tOR;
+return tDOTS;
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
 #line 104 "Gmsh.l"
-return tAND;
+return tCROSSPRODUCT;
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
 #line 105 "Gmsh.l"
-return tPLUSPLUS;
+return tOR;
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
 #line 106 "Gmsh.l"
-return tMINUSMINUS;
+return tAND;
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
 #line 107 "Gmsh.l"
-return tEQUAL;
+return tPLUSPLUS;
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
 #line 108 "Gmsh.l"
-return tNOTEQUAL;
+return tMINUSMINUS;
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
 #line 109 "Gmsh.l"
-return tAPPROXEQUAL;
+return tEQUAL;
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
 #line 110 "Gmsh.l"
-return tLESSOREQUAL;
+return tNOTEQUAL;
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
 #line 111 "Gmsh.l"
-return tGREATEROREQUAL;
+return tAPPROXEQUAL;
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 113 "Gmsh.l"
-return tAcos;
+#line 112 "Gmsh.l"
+return tLESSOREQUAL;
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 114 "Gmsh.l"
-return tAcos;
+#line 113 "Gmsh.l"
+return tGREATEROREQUAL;
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
 #line 115 "Gmsh.l"
-return tAlias;
+return tAcos;
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
 #line 116 "Gmsh.l"
-return tAliasWithOptions;
+return tAcos;
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
 #line 117 "Gmsh.l"
-return tAsin;
+return tAlias;
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
 #line 118 "Gmsh.l"
-return tAsin;
+return tAliasWithOptions;
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
 #line 119 "Gmsh.l"
-return tAtan;
+return tAsin;
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
 #line 120 "Gmsh.l"
-return tAtan;
+return tAsin;
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
 #line 121 "Gmsh.l"
-return tAtan2;
+return tAtan;
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
 #line 122 "Gmsh.l"
-return tAtan2;
+return tAtan;
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
 #line 123 "Gmsh.l"
-return tAttractor;
+return tAtan2;
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 125 "Gmsh.l"
-return tBezier;
+#line 124 "Gmsh.l"
+return tAtan2;
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 126 "Gmsh.l"
-return tBump;
+#line 125 "Gmsh.l"
+return tAttractor;
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
 #line 127 "Gmsh.l"
-return tBSpline;
+return tBezier;
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
 #line 128 "Gmsh.l"
-return tBounds;
+return tBump;
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
 #line 129 "Gmsh.l"
-return tBoundingBox;
+return tBSpline;
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 131 "Gmsh.l"
-return tCeil;
+#line 130 "Gmsh.l"
+return tBounds;
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 132 "Gmsh.l"
-return tCombine;
+#line 131 "Gmsh.l"
+return tBoundingBox;
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
 #line 133 "Gmsh.l"
-return tCosh;
+return tCeil;
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
 #line 134 "Gmsh.l"
-return tCos;
+return tCombine;
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
 #line 135 "Gmsh.l"
-return tCharacteristic;
+return tCosh;
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
 #line 136 "Gmsh.l"
-return tCircle;
+return tCos;
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
 #line 137 "Gmsh.l"
-return tCoherence;
+return tCharacteristic;
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
 #line 138 "Gmsh.l"
-return tComplex;
+return tCircle;
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
 #line 139 "Gmsh.l"
-return tColor;
+return tCoherence;
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
 #line 140 "Gmsh.l"
-return tColorTable;
+return tComplex;
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
 #line 141 "Gmsh.l"
-return tSpline;
+return tColor;
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
 #line 142 "Gmsh.l"
-return tCall;
+return tColorTable;
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 144 "Gmsh.l"
-return tDelete;
+#line 143 "Gmsh.l"
+return tSpline;
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 145 "Gmsh.l"
-return tDilate;
+#line 144 "Gmsh.l"
+return tCall;
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
 #line 146 "Gmsh.l"
-return tDuplicata;
+return tDelete;
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
 #line 147 "Gmsh.l"
-return tDraw;
+return tDilate;
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 149 "Gmsh.l"
-return tExp;
+#line 148 "Gmsh.l"
+return tDuplicata;
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 150 "Gmsh.l"
-return tEllipse;
+#line 149 "Gmsh.l"
+return tDraw;
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
 #line 151 "Gmsh.l"
-return tEllipse;
+return tExp;
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
 #line 152 "Gmsh.l"
-return tExtrude;
+return tEllipse;
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
 #line 153 "Gmsh.l"
-return tElliptic;
+return tEllipse;
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
 #line 154 "Gmsh.l"
-return tEndFor;
+return tExtrude;
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
 #line 155 "Gmsh.l"
-return tEndIf;
+return tElliptic;
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
 #line 156 "Gmsh.l"
-return tExit;
+return tEndFor;
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 158 "Gmsh.l"
-return tFabs;
+#line 157 "Gmsh.l"
+return tEndIf;
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 159 "Gmsh.l"
-return tFloor;
+#line 158 "Gmsh.l"
+return tExit;
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
 #line 160 "Gmsh.l"
-return tFmod;
+return tFabs;
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
 #line 161 "Gmsh.l"
-return tFor;
+return tFloor;
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
 #line 162 "Gmsh.l"
-return tFunction;
+return tFmod;
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 164 "Gmsh.l"
-return tGetValue;
+#line 163 "Gmsh.l"
+return tFor;
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 165 "Gmsh.l"
-return tGMSH_MAJOR_VERSION;
+#line 164 "Gmsh.l"
+return tFunction;
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
 #line 166 "Gmsh.l"
-return tGMSH_MINOR_VERSION;
+return tGetValue;
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
 #line 167 "Gmsh.l"
-return tGMSH_PATCH_VERSION;
+return tGMSH_MAJOR_VERSION;
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 169 "Gmsh.l"
-return tHide;
+#line 168 "Gmsh.l"
+return tGMSH_MINOR_VERSION;
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 170 "Gmsh.l"
-return tHypot;
+#line 169 "Gmsh.l"
+return tGMSH_PATCH_VERSION;
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 172 "Gmsh.l"
-return tIn;
+#line 171 "Gmsh.l"
+return tHide;
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 173 "Gmsh.l"
-return tIf;
+#line 172 "Gmsh.l"
+return tHypot;
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
 #line 174 "Gmsh.l"
-return tIntersect;
+return tIn;
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 176 "Gmsh.l"
-return tKnots;
+#line 175 "Gmsh.l"
+return tIf;
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 178 "Gmsh.l"
-return tLength;
+#line 176 "Gmsh.l"
+return tIntersect;
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 179 "Gmsh.l"
-return tLine;
+#line 178 "Gmsh.l"
+return tKnots;
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
 #line 180 "Gmsh.l"
-return tLoop;
+return tLength;
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
 #line 181 "Gmsh.l"
-return tLog;
+return tLine;
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
 #line 182 "Gmsh.l"
-return tLog10;
+return tLoop;
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
 #line 183 "Gmsh.l"
-return tLayers;
+return tLog;
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 185 "Gmsh.l"
-return tModulo;
+#line 184 "Gmsh.l"
+return tLog10;
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 186 "Gmsh.l"
-return tMPI_Rank;
+#line 185 "Gmsh.l"
+return tLayers;
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
 #line 187 "Gmsh.l"
-return tMPI_Size;
+return tModulo;
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 189 "Gmsh.l"
-return tNurbs;
+#line 188 "Gmsh.l"
+return tMPI_Rank;
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 191 "Gmsh.l"
-return tOrder;
+#line 189 "Gmsh.l"
+return tMPI_Size;
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 193 "Gmsh.l"
-return tPhysical;
+#line 191 "Gmsh.l"
+return tNurbs;
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 194 "Gmsh.l"
-return tPi;
+#line 193 "Gmsh.l"
+return tOrder;
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
 #line 195 "Gmsh.l"
-return tPlane;
+return tPhysical;
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
 #line 196 "Gmsh.l"
-return tPoint;
+return tPi;
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
 #line 197 "Gmsh.l"
-return tProgression;
+return tPlane;
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
 #line 198 "Gmsh.l"
-return tProgression;
+return tPoint;
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
 #line 199 "Gmsh.l"
-return tParametric;
+return tProgression;
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
 #line 200 "Gmsh.l"
-return tPrintf;
+return tProgression;
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
 #line 201 "Gmsh.l"
-return tPlugin;
+return tParametric;
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 203 "Gmsh.l"
-return tRecombine;
+#line 202 "Gmsh.l"
+return tPrintf;
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 204 "Gmsh.l"
-return tRotate;
+#line 203 "Gmsh.l"
+return tPlugin;
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
 #line 205 "Gmsh.l"
-return tRuled;
+return tRecombine;
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
 #line 206 "Gmsh.l"
-return tRand;
+return tRotate;
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
 #line 207 "Gmsh.l"
-return tReturn;
+return tRuled;
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 209 "Gmsh.l"
-return tSqrt;
+#line 208 "Gmsh.l"
+return tRand;
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 210 "Gmsh.l"
-return tSin;
+#line 209 "Gmsh.l"
+return tReturn;
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
 #line 211 "Gmsh.l"
-return tSinh;
+return tSqrt;
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
 #line 212 "Gmsh.l"
-return tSpline;
+return tSin;
 	YY_BREAK
 case 114:
 YY_RULE_SETUP
 #line 213 "Gmsh.l"
-return tSurface;
+return tSinh;
 	YY_BREAK
 case 115:
 YY_RULE_SETUP
 #line 214 "Gmsh.l"
-return tSymmetry;
+return tSpline;
 	YY_BREAK
 case 116:
 YY_RULE_SETUP
 #line 215 "Gmsh.l"
-return tSprintf;
+return tSurface;
 	YY_BREAK
 case 117:
 YY_RULE_SETUP
 #line 216 "Gmsh.l"
-return tStrCat;
+return tSymmetry;
 	YY_BREAK
 case 118:
 YY_RULE_SETUP
 #line 217 "Gmsh.l"
-return tStrPrefix;
+return tSprintf;
 	YY_BREAK
 case 119:
 YY_RULE_SETUP
 #line 218 "Gmsh.l"
-return tStrRelative;
+return tStrCat;
 	YY_BREAK
 case 120:
 YY_RULE_SETUP
 #line 219 "Gmsh.l"
-return tShow;
+return tStrPrefix;
 	YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 221 "Gmsh.l"
-return tTransfinite;
+#line 220 "Gmsh.l"
+return tStrRelative;
 	YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 222 "Gmsh.l"
-return tTranslate;
+#line 221 "Gmsh.l"
+return tShow;
 	YY_BREAK
 case 123:
 YY_RULE_SETUP
 #line 223 "Gmsh.l"
-return tTanh;
+return tTransfinite;
 	YY_BREAK
 case 124:
 YY_RULE_SETUP
 #line 224 "Gmsh.l"
-return tTan;
+return tTranslate;
 	YY_BREAK
 case 125:
 YY_RULE_SETUP
 #line 225 "Gmsh.l"
-return tTrimmed;
+return tTanh;
 	YY_BREAK
 case 126:
 YY_RULE_SETUP
 #line 226 "Gmsh.l"
-return tToday;
+return tTan;
 	YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 228 "Gmsh.l"
-return tUsing;
+#line 227 "Gmsh.l"
+return tTrimmed;
 	YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 230 "Gmsh.l"
-return tVolume;
+#line 228 "Gmsh.l"
+return tToday;
 	YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 232 "Gmsh.l"
-return tWith;
+#line 230 "Gmsh.l"
+return tUsing;
 	YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 234 "Gmsh.l"
-return tText2D;
+#line 232 "Gmsh.l"
+return tVolume;
 	YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 235 "Gmsh.l"
-return tText3D;
+#line 234 "Gmsh.l"
+return tWith;
 	YY_BREAK
 case 132:
 YY_RULE_SETUP
 #line 236 "Gmsh.l"
-return tInterpolationScheme;
+return tText2D;
 	YY_BREAK
 case 133:
 YY_RULE_SETUP
 #line 237 "Gmsh.l"
-return tTime;
+return tText3D;
 	YY_BREAK
 case 134:
-#line 240 "Gmsh.l"
+YY_RULE_SETUP
+#line 238 "Gmsh.l"
+return tInterpolationScheme;
+	YY_BREAK
 case 135:
-#line 241 "Gmsh.l"
+YY_RULE_SETUP
+#line 239 "Gmsh.l"
+return tTime;
+	YY_BREAK
 case 136:
 #line 242 "Gmsh.l"
 case 137:
+#line 243 "Gmsh.l"
+case 138:
+#line 244 "Gmsh.l"
+case 139:
 YY_RULE_SETUP
-#line 242 "Gmsh.l"
+#line 244 "Gmsh.l"
 {yylval.d = atof((char *)yytext); return tDOUBLE;}
 	YY_BREAK
-case 138:
+case 140:
 YY_RULE_SETUP
-#line 244 "Gmsh.l"
+#line 246 "Gmsh.l"
 {yylval.c = strsave((char*)yytext); return tSTRING;}
 	YY_BREAK
-case 139:
+case 141:
 YY_RULE_SETUP
-#line 246 "Gmsh.l"
+#line 248 "Gmsh.l"
 return yytext[0];
 	YY_BREAK
-case 140:
+case 142:
 YY_RULE_SETUP
-#line 248 "Gmsh.l"
+#line 250 "Gmsh.l"
 ECHO;
 	YY_BREAK
-#line 1719 "Gmsh.yy.cpp"
+#line 1731 "Gmsh.yy.cpp"
 case YY_STATE_EOF(INITIAL):
 	yyterminate();
 
@@ -2007,7 +2019,7 @@ static yy_state_type yy_get_previous_state()
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 583 )
+			if ( yy_current_state >= 585 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2042,11 +2054,11 @@ yy_state_type yy_current_state;
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 583 )
+		if ( yy_current_state >= 585 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 582);
+	yy_is_jam = (yy_current_state == 584);
 
 	return yy_is_jam ? 0 : yy_current_state;
 	}
@@ -2601,7 +2613,7 @@ int main()
 	return 0;
 	}
 #endif
-#line 248 "Gmsh.l"
+#line 250 "Gmsh.l"
 
 
 #undef yywrap
diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi
index adda2ed3ac..82ee4cae82 100644
--- a/doc/texinfo/gmsh.texi
+++ b/doc/texinfo/gmsh.texi
@@ -1,5 +1,5 @@
 \input texinfo.tex @c -*-texinfo-*-
-@c $Id: gmsh.texi,v 1.198 2006-01-28 21:44:23 geuzaine Exp $
+@c $Id: gmsh.texi,v 1.199 2006-02-15 15:06:27 geuzaine Exp $
 @c
 @c Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 @c
@@ -1182,6 +1182,12 @@ Returns the next available surface number.
 @item newv
 Returns the next available volume number.
 
+@item newll
+Returns the next available line loop number.
+
+@item newsl
+Returns the next available surface loop number.
+
 @item newreg
 Returns the next available region number. That is, @code{newreg} returns the
 maximum of @code{newp}, @code{newl}, @code{news}, @code{newv} and all
-- 
GitLab