summaryrefslogtreecommitdiff
path: root/Build/source/utils
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils')
-rw-r--r--Build/source/utils/asymptote/camp.tab.cc805
-rw-r--r--Build/source/utils/asymptote/camp.tab.h8
-rw-r--r--Build/source/utils/asymptote/picture.cc23
-rw-r--r--Build/source/utils/asymptote/settings.cc4
-rw-r--r--Build/source/utils/asymptote/settings.h1
-rw-r--r--Build/source/utils/asymptote/util.cc52
6 files changed, 410 insertions, 483 deletions
diff --git a/Build/source/utils/asymptote/camp.tab.cc b/Build/source/utils/asymptote/camp.tab.cc
index 2ced391e890..de1e5fbe165 100644
--- a/Build/source/utils/asymptote/camp.tab.cc
+++ b/Build/source/utils/asymptote/camp.tab.cc
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.5. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "3.0.5"
+#define YYBISON_VERSION "3.0.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -1632,7 +1632,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
case N: \
yyformat = S; \
break
- default: /* Avoid compiler warnings. */
YYCASE_(0, YY_("syntax error"));
YYCASE_(1, YY_("syntax error, unexpected %s"));
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
@@ -1949,1232 +1948,1232 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 191 "camp.y" /* yacc.c:1648 */
+#line 191 "camp.y" /* yacc.c:1646 */
{ absyntax::root = (yyvsp[0].b); }
-#line 1955 "camp.tab.c" /* yacc.c:1648 */
+#line 1954 "camp.tab.c" /* yacc.c:1646 */
break;
case 3:
-#line 195 "camp.y" /* yacc.c:1648 */
+#line 195 "camp.y" /* yacc.c:1646 */
{ (yyval.b) = new file(lexerPos(), false); }
-#line 1961 "camp.tab.c" /* yacc.c:1648 */
+#line 1960 "camp.tab.c" /* yacc.c:1646 */
break;
case 4:
-#line 197 "camp.y" /* yacc.c:1648 */
+#line 197 "camp.y" /* yacc.c:1646 */
{ (yyval.b) = (yyvsp[-1].b); (yyval.b)->add((yyvsp[0].run)); }
-#line 1967 "camp.tab.c" /* yacc.c:1648 */
+#line 1966 "camp.tab.c" /* yacc.c:1646 */
break;
case 5:
-#line 201 "camp.y" /* yacc.c:1648 */
+#line 201 "camp.y" /* yacc.c:1646 */
{ (yyval.b) = new block(lexerPos(), true); }
-#line 1973 "camp.tab.c" /* yacc.c:1648 */
+#line 1972 "camp.tab.c" /* yacc.c:1646 */
break;
case 6:
-#line 203 "camp.y" /* yacc.c:1648 */
+#line 203 "camp.y" /* yacc.c:1646 */
{ (yyval.b) = (yyvsp[-1].b); (yyval.b)->add((yyvsp[0].run)); }
-#line 1979 "camp.tab.c" /* yacc.c:1648 */
+#line 1978 "camp.tab.c" /* yacc.c:1646 */
break;
case 7:
-#line 207 "camp.y" /* yacc.c:1648 */
+#line 207 "camp.y" /* yacc.c:1646 */
{ (yyval.n) = new simpleName((yyvsp[0].ps).pos, (yyvsp[0].ps).sym); }
-#line 1985 "camp.tab.c" /* yacc.c:1648 */
+#line 1984 "camp.tab.c" /* yacc.c:1646 */
break;
case 8:
-#line 208 "camp.y" /* yacc.c:1648 */
+#line 208 "camp.y" /* yacc.c:1646 */
{ (yyval.n) = new qualifiedName((yyvsp[-1].pos), (yyvsp[-2].n), (yyvsp[0].ps).sym); }
-#line 1991 "camp.tab.c" /* yacc.c:1648 */
+#line 1990 "camp.tab.c" /* yacc.c:1646 */
break;
case 9:
-#line 209 "camp.y" /* yacc.c:1648 */
+#line 209 "camp.y" /* yacc.c:1646 */
{ (yyval.n) = new simpleName((yyvsp[0].ps).pos,
symbol::trans("operator answer")); }
-#line 1998 "camp.tab.c" /* yacc.c:1648 */
+#line 1997 "camp.tab.c" /* yacc.c:1646 */
break;
case 10:
-#line 214 "camp.y" /* yacc.c:1648 */
+#line 214 "camp.y" /* yacc.c:1646 */
{ (yyval.run) = (yyvsp[0].d); }
-#line 2004 "camp.tab.c" /* yacc.c:1648 */
+#line 2003 "camp.tab.c" /* yacc.c:1646 */
break;
case 11:
-#line 215 "camp.y" /* yacc.c:1648 */
+#line 215 "camp.y" /* yacc.c:1646 */
{ (yyval.run) = (yyvsp[0].s); }
-#line 2010 "camp.tab.c" /* yacc.c:1648 */
+#line 2009 "camp.tab.c" /* yacc.c:1646 */
break;
case 12:
-#line 217 "camp.y" /* yacc.c:1648 */
+#line 217 "camp.y" /* yacc.c:1646 */
{ (yyval.run) = new modifiedRunnable((yyvsp[-1].ml)->getPos(), (yyvsp[-1].ml), (yyvsp[0].d)); }
-#line 2016 "camp.tab.c" /* yacc.c:1648 */
+#line 2015 "camp.tab.c" /* yacc.c:1646 */
break;
case 13:
-#line 219 "camp.y" /* yacc.c:1648 */
+#line 219 "camp.y" /* yacc.c:1646 */
{ (yyval.run) = new modifiedRunnable((yyvsp[-1].ml)->getPos(), (yyvsp[-1].ml), (yyvsp[0].s)); }
-#line 2022 "camp.tab.c" /* yacc.c:1648 */
+#line 2021 "camp.tab.c" /* yacc.c:1646 */
break;
case 14:
-#line 223 "camp.y" /* yacc.c:1648 */
+#line 223 "camp.y" /* yacc.c:1646 */
{ (yyval.ml) = new modifierList((yyvsp[0].mod).pos); (yyval.ml)->add((yyvsp[0].mod).val); }
-#line 2028 "camp.tab.c" /* yacc.c:1648 */
+#line 2027 "camp.tab.c" /* yacc.c:1646 */
break;
case 15:
-#line 224 "camp.y" /* yacc.c:1648 */
+#line 224 "camp.y" /* yacc.c:1646 */
{ (yyval.ml) = new modifierList((yyvsp[0].perm).pos); (yyval.ml)->add((yyvsp[0].perm).val); }
-#line 2034 "camp.tab.c" /* yacc.c:1648 */
+#line 2033 "camp.tab.c" /* yacc.c:1646 */
break;
case 16:
-#line 226 "camp.y" /* yacc.c:1648 */
+#line 226 "camp.y" /* yacc.c:1646 */
{ (yyval.ml) = (yyvsp[-1].ml); (yyval.ml)->add((yyvsp[0].mod).val); }
-#line 2040 "camp.tab.c" /* yacc.c:1648 */
+#line 2039 "camp.tab.c" /* yacc.c:1646 */
break;
case 17:
-#line 228 "camp.y" /* yacc.c:1648 */
+#line 228 "camp.y" /* yacc.c:1646 */
{ (yyval.ml) = (yyvsp[-1].ml); (yyval.ml)->add((yyvsp[0].perm).val); }
-#line 2046 "camp.tab.c" /* yacc.c:1648 */
+#line 2045 "camp.tab.c" /* yacc.c:1646 */
break;
case 18:
-#line 232 "camp.y" /* yacc.c:1648 */
+#line 232 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = (yyvsp[0].vd); }
-#line 2052 "camp.tab.c" /* yacc.c:1648 */
+#line 2051 "camp.tab.c" /* yacc.c:1646 */
break;
case 19:
-#line 233 "camp.y" /* yacc.c:1648 */
+#line 233 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = (yyvsp[0].d); }
-#line 2058 "camp.tab.c" /* yacc.c:1648 */
+#line 2057 "camp.tab.c" /* yacc.c:1646 */
break;
case 20:
-#line 234 "camp.y" /* yacc.c:1648 */
+#line 234 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = (yyvsp[0].d); }
-#line 2064 "camp.tab.c" /* yacc.c:1648 */
+#line 2063 "camp.tab.c" /* yacc.c:1646 */
break;
case 21:
-#line 236 "camp.y" /* yacc.c:1648 */
+#line 236 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new accessdec((yyvsp[-2].pos), (yyvsp[-1].ipl)); }
-#line 2070 "camp.tab.c" /* yacc.c:1648 */
+#line 2069 "camp.tab.c" /* yacc.c:1646 */
break;
case 22:
-#line 238 "camp.y" /* yacc.c:1648 */
+#line 238 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new unraveldec((yyvsp[-4].pos), (yyvsp[-3].n), (yyvsp[-1].ipl)); }
-#line 2076 "camp.tab.c" /* yacc.c:1648 */
+#line 2075 "camp.tab.c" /* yacc.c:1646 */
break;
case 23:
-#line 240 "camp.y" /* yacc.c:1648 */
+#line 240 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new unraveldec((yyvsp[-4].pos), (yyvsp[-3].n), WILDCARD); }
-#line 2082 "camp.tab.c" /* yacc.c:1648 */
+#line 2081 "camp.tab.c" /* yacc.c:1646 */
break;
case 24:
-#line 241 "camp.y" /* yacc.c:1648 */
+#line 241 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new unraveldec((yyvsp[-2].pos), (yyvsp[-1].n), WILDCARD); }
-#line 2088 "camp.tab.c" /* yacc.c:1648 */
+#line 2087 "camp.tab.c" /* yacc.c:1646 */
break;
case 25:
-#line 243 "camp.y" /* yacc.c:1648 */
+#line 243 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new fromaccessdec((yyvsp[-4].pos), (yyvsp[-3].ps).sym, (yyvsp[-1].ipl)); }
-#line 2094 "camp.tab.c" /* yacc.c:1648 */
+#line 2093 "camp.tab.c" /* yacc.c:1646 */
break;
case 26:
-#line 245 "camp.y" /* yacc.c:1648 */
+#line 245 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new fromaccessdec((yyvsp[-4].pos), (yyvsp[-3].ps).sym, WILDCARD); }
-#line 2100 "camp.tab.c" /* yacc.c:1648 */
+#line 2099 "camp.tab.c" /* yacc.c:1646 */
break;
case 27:
-#line 247 "camp.y" /* yacc.c:1648 */
+#line 247 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new importdec((yyvsp[-2].pos), (yyvsp[-1].ip)); }
-#line 2106 "camp.tab.c" /* yacc.c:1648 */
+#line 2105 "camp.tab.c" /* yacc.c:1646 */
break;
case 28:
-#line 248 "camp.y" /* yacc.c:1648 */
+#line 248 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new includedec((yyvsp[-2].pos), (yyvsp[-1].ps).sym); }
-#line 2112 "camp.tab.c" /* yacc.c:1648 */
+#line 2111 "camp.tab.c" /* yacc.c:1646 */
break;
case 29:
-#line 250 "camp.y" /* yacc.c:1648 */
+#line 250 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new includedec((yyvsp[-2].pos), (yyvsp[-1].stre)->getString()); }
-#line 2118 "camp.tab.c" /* yacc.c:1648 */
+#line 2117 "camp.tab.c" /* yacc.c:1646 */
break;
case 30:
-#line 254 "camp.y" /* yacc.c:1648 */
+#line 254 "camp.y" /* yacc.c:1646 */
{ (yyval.ip) = new idpair((yyvsp[0].ps).pos, (yyvsp[0].ps).sym); }
-#line 2124 "camp.tab.c" /* yacc.c:1648 */
+#line 2123 "camp.tab.c" /* yacc.c:1646 */
break;
case 31:
-#line 256 "camp.y" /* yacc.c:1648 */
+#line 256 "camp.y" /* yacc.c:1646 */
{ (yyval.ip) = new idpair((yyvsp[-2].ps).pos, (yyvsp[-2].ps).sym, (yyvsp[-1].ps).sym , (yyvsp[0].ps).sym); }
-#line 2130 "camp.tab.c" /* yacc.c:1648 */
+#line 2129 "camp.tab.c" /* yacc.c:1646 */
break;
case 32:
-#line 260 "camp.y" /* yacc.c:1648 */
+#line 260 "camp.y" /* yacc.c:1646 */
{ (yyval.ipl) = new idpairlist(); (yyval.ipl)->add((yyvsp[0].ip)); }
-#line 2136 "camp.tab.c" /* yacc.c:1648 */
+#line 2135 "camp.tab.c" /* yacc.c:1646 */
break;
case 33:
-#line 262 "camp.y" /* yacc.c:1648 */
+#line 262 "camp.y" /* yacc.c:1646 */
{ (yyval.ipl) = (yyvsp[-2].ipl); (yyval.ipl)->add((yyvsp[0].ip)); }
-#line 2142 "camp.tab.c" /* yacc.c:1648 */
+#line 2141 "camp.tab.c" /* yacc.c:1646 */
break;
case 34:
-#line 266 "camp.y" /* yacc.c:1648 */
+#line 266 "camp.y" /* yacc.c:1646 */
{ (yyval.ps) = (yyvsp[0].ps); }
-#line 2148 "camp.tab.c" /* yacc.c:1648 */
+#line 2147 "camp.tab.c" /* yacc.c:1646 */
break;
case 35:
-#line 267 "camp.y" /* yacc.c:1648 */
+#line 267 "camp.y" /* yacc.c:1646 */
{ (yyval.ps).pos = (yyvsp[0].stre)->getPos();
(yyval.ps).sym = symbol::literalTrans((yyvsp[0].stre)->getString()); }
-#line 2155 "camp.tab.c" /* yacc.c:1648 */
+#line 2154 "camp.tab.c" /* yacc.c:1646 */
break;
case 36:
-#line 272 "camp.y" /* yacc.c:1648 */
+#line 272 "camp.y" /* yacc.c:1646 */
{ (yyval.ip) = new idpair((yyvsp[0].ps).pos, (yyvsp[0].ps).sym); }
-#line 2161 "camp.tab.c" /* yacc.c:1648 */
+#line 2160 "camp.tab.c" /* yacc.c:1646 */
break;
case 37:
-#line 274 "camp.y" /* yacc.c:1648 */
+#line 274 "camp.y" /* yacc.c:1646 */
{ (yyval.ip) = new idpair((yyvsp[-2].ps).pos, (yyvsp[-2].ps).sym, (yyvsp[-1].ps).sym , (yyvsp[0].ps).sym); }
-#line 2167 "camp.tab.c" /* yacc.c:1648 */
+#line 2166 "camp.tab.c" /* yacc.c:1646 */
break;
case 38:
-#line 278 "camp.y" /* yacc.c:1648 */
+#line 278 "camp.y" /* yacc.c:1646 */
{ (yyval.ipl) = new idpairlist(); (yyval.ipl)->add((yyvsp[0].ip)); }
-#line 2173 "camp.tab.c" /* yacc.c:1648 */
+#line 2172 "camp.tab.c" /* yacc.c:1646 */
break;
case 39:
-#line 280 "camp.y" /* yacc.c:1648 */
+#line 280 "camp.y" /* yacc.c:1646 */
{ (yyval.ipl) = (yyvsp[-2].ipl); (yyval.ipl)->add((yyvsp[0].ip)); }
-#line 2179 "camp.tab.c" /* yacc.c:1648 */
+#line 2178 "camp.tab.c" /* yacc.c:1646 */
break;
case 40:
-#line 284 "camp.y" /* yacc.c:1648 */
+#line 284 "camp.y" /* yacc.c:1646 */
{ (yyval.vd) = (yyvsp[-1].vd); }
-#line 2185 "camp.tab.c" /* yacc.c:1648 */
+#line 2184 "camp.tab.c" /* yacc.c:1646 */
break;
case 41:
-#line 288 "camp.y" /* yacc.c:1648 */
+#line 288 "camp.y" /* yacc.c:1646 */
{ (yyval.vd) = new vardec((yyvsp[-1].t)->getPos(), (yyvsp[-1].t), (yyvsp[0].dil)); }
-#line 2191 "camp.tab.c" /* yacc.c:1648 */
+#line 2190 "camp.tab.c" /* yacc.c:1646 */
break;
case 42:
-#line 292 "camp.y" /* yacc.c:1648 */
+#line 292 "camp.y" /* yacc.c:1646 */
{ (yyval.t) = (yyvsp[0].t); }
-#line 2197 "camp.tab.c" /* yacc.c:1648 */
+#line 2196 "camp.tab.c" /* yacc.c:1646 */
break;
case 43:
-#line 293 "camp.y" /* yacc.c:1648 */
+#line 293 "camp.y" /* yacc.c:1646 */
{ (yyval.t) = new arrayTy((yyvsp[-1].n), (yyvsp[0].dim)); }
-#line 2203 "camp.tab.c" /* yacc.c:1648 */
+#line 2202 "camp.tab.c" /* yacc.c:1646 */
break;
case 44:
-#line 297 "camp.y" /* yacc.c:1648 */
+#line 297 "camp.y" /* yacc.c:1646 */
{ (yyval.t) = new nameTy((yyvsp[0].n)); }
-#line 2209 "camp.tab.c" /* yacc.c:1648 */
+#line 2208 "camp.tab.c" /* yacc.c:1646 */
break;
case 45:
-#line 301 "camp.y" /* yacc.c:1648 */
+#line 301 "camp.y" /* yacc.c:1646 */
{ (yyval.dim) = new dimensions((yyvsp[-1].pos)); }
-#line 2215 "camp.tab.c" /* yacc.c:1648 */
+#line 2214 "camp.tab.c" /* yacc.c:1646 */
break;
case 46:
-#line 302 "camp.y" /* yacc.c:1648 */
+#line 302 "camp.y" /* yacc.c:1646 */
{ (yyval.dim) = (yyvsp[-2].dim); (yyval.dim)->increase(); }
-#line 2221 "camp.tab.c" /* yacc.c:1648 */
+#line 2220 "camp.tab.c" /* yacc.c:1646 */
break;
case 47:
-#line 306 "camp.y" /* yacc.c:1648 */
+#line 306 "camp.y" /* yacc.c:1646 */
{ (yyval.elist) = new explist((yyvsp[-2].pos)); (yyval.elist)->add((yyvsp[-1].e)); }
-#line 2227 "camp.tab.c" /* yacc.c:1648 */
+#line 2226 "camp.tab.c" /* yacc.c:1646 */
break;
case 48:
-#line 308 "camp.y" /* yacc.c:1648 */
+#line 308 "camp.y" /* yacc.c:1646 */
{ (yyval.elist) = (yyvsp[-3].elist); (yyval.elist)->add((yyvsp[-1].e)); }
-#line 2233 "camp.tab.c" /* yacc.c:1648 */
+#line 2232 "camp.tab.c" /* yacc.c:1646 */
break;
case 49:
-#line 312 "camp.y" /* yacc.c:1648 */
+#line 312 "camp.y" /* yacc.c:1646 */
{ (yyval.dil) = new decidlist((yyvsp[0].di)->getPos()); (yyval.dil)->add((yyvsp[0].di)); }
-#line 2239 "camp.tab.c" /* yacc.c:1648 */
+#line 2238 "camp.tab.c" /* yacc.c:1646 */
break;
case 50:
-#line 314 "camp.y" /* yacc.c:1648 */
+#line 314 "camp.y" /* yacc.c:1646 */
{ (yyval.dil) = (yyvsp[-2].dil); (yyval.dil)->add((yyvsp[0].di)); }
-#line 2245 "camp.tab.c" /* yacc.c:1648 */
+#line 2244 "camp.tab.c" /* yacc.c:1646 */
break;
case 51:
-#line 318 "camp.y" /* yacc.c:1648 */
+#line 318 "camp.y" /* yacc.c:1646 */
{ (yyval.di) = new decid((yyvsp[0].dis)->getPos(), (yyvsp[0].dis)); }
-#line 2251 "camp.tab.c" /* yacc.c:1648 */
+#line 2250 "camp.tab.c" /* yacc.c:1646 */
break;
case 52:
-#line 320 "camp.y" /* yacc.c:1648 */
+#line 320 "camp.y" /* yacc.c:1646 */
{ (yyval.di) = new decid((yyvsp[-2].dis)->getPos(), (yyvsp[-2].dis), (yyvsp[0].vi)); }
-#line 2257 "camp.tab.c" /* yacc.c:1648 */
+#line 2256 "camp.tab.c" /* yacc.c:1646 */
break;
case 53:
-#line 324 "camp.y" /* yacc.c:1648 */
+#line 324 "camp.y" /* yacc.c:1646 */
{ (yyval.dis) = new decidstart((yyvsp[0].ps).pos, (yyvsp[0].ps).sym); }
-#line 2263 "camp.tab.c" /* yacc.c:1648 */
+#line 2262 "camp.tab.c" /* yacc.c:1646 */
break;
case 54:
-#line 325 "camp.y" /* yacc.c:1648 */
+#line 325 "camp.y" /* yacc.c:1646 */
{ (yyval.dis) = new decidstart((yyvsp[-1].ps).pos, (yyvsp[-1].ps).sym, (yyvsp[0].dim)); }
-#line 2269 "camp.tab.c" /* yacc.c:1648 */
+#line 2268 "camp.tab.c" /* yacc.c:1646 */
break;
case 55:
-#line 326 "camp.y" /* yacc.c:1648 */
+#line 326 "camp.y" /* yacc.c:1646 */
{ (yyval.dis) = new fundecidstart((yyvsp[-2].ps).pos, (yyvsp[-2].ps).sym, 0,
new formals((yyvsp[-1].pos))); }
-#line 2276 "camp.tab.c" /* yacc.c:1648 */
+#line 2275 "camp.tab.c" /* yacc.c:1646 */
break;
case 56:
-#line 329 "camp.y" /* yacc.c:1648 */
+#line 329 "camp.y" /* yacc.c:1646 */
{ (yyval.dis) = new fundecidstart((yyvsp[-3].ps).pos, (yyvsp[-3].ps).sym, 0, (yyvsp[-1].fls)); }
-#line 2282 "camp.tab.c" /* yacc.c:1648 */
+#line 2281 "camp.tab.c" /* yacc.c:1646 */
break;
case 57:
-#line 333 "camp.y" /* yacc.c:1648 */
+#line 333 "camp.y" /* yacc.c:1646 */
{ (yyval.vi) = (yyvsp[0].e); }
-#line 2288 "camp.tab.c" /* yacc.c:1648 */
+#line 2287 "camp.tab.c" /* yacc.c:1646 */
break;
case 58:
-#line 334 "camp.y" /* yacc.c:1648 */
+#line 334 "camp.y" /* yacc.c:1646 */
{ (yyval.vi) = (yyvsp[0].ai); }
-#line 2294 "camp.tab.c" /* yacc.c:1648 */
+#line 2293 "camp.tab.c" /* yacc.c:1646 */
break;
case 59:
-#line 339 "camp.y" /* yacc.c:1648 */
+#line 339 "camp.y" /* yacc.c:1646 */
{ (yyval.b) = (yyvsp[-1].b); }
-#line 2300 "camp.tab.c" /* yacc.c:1648 */
+#line 2299 "camp.tab.c" /* yacc.c:1646 */
break;
case 60:
-#line 343 "camp.y" /* yacc.c:1648 */
+#line 343 "camp.y" /* yacc.c:1646 */
{ (yyval.ai) = new arrayinit((yyvsp[-1].pos)); }
-#line 2306 "camp.tab.c" /* yacc.c:1648 */
+#line 2305 "camp.tab.c" /* yacc.c:1646 */
break;
case 61:
-#line 345 "camp.y" /* yacc.c:1648 */
+#line 345 "camp.y" /* yacc.c:1646 */
{ (yyval.ai) = new arrayinit((yyvsp[-3].pos)); (yyval.ai)->addRest((yyvsp[-1].vi)); }
-#line 2312 "camp.tab.c" /* yacc.c:1648 */
+#line 2311 "camp.tab.c" /* yacc.c:1646 */
break;
case 62:
-#line 347 "camp.y" /* yacc.c:1648 */
+#line 347 "camp.y" /* yacc.c:1646 */
{ (yyval.ai) = (yyvsp[-1].ai); }
-#line 2318 "camp.tab.c" /* yacc.c:1648 */
+#line 2317 "camp.tab.c" /* yacc.c:1646 */
break;
case 63:
-#line 349 "camp.y" /* yacc.c:1648 */
+#line 349 "camp.y" /* yacc.c:1646 */
{ (yyval.ai) = (yyvsp[-3].ai); (yyval.ai)->addRest((yyvsp[-1].vi)); }
-#line 2324 "camp.tab.c" /* yacc.c:1648 */
+#line 2323 "camp.tab.c" /* yacc.c:1646 */
break;
case 64:
-#line 353 "camp.y" /* yacc.c:1648 */
+#line 353 "camp.y" /* yacc.c:1646 */
{ (yyval.ai) = new arrayinit((yyvsp[0].pos)); }
-#line 2330 "camp.tab.c" /* yacc.c:1648 */
+#line 2329 "camp.tab.c" /* yacc.c:1646 */
break;
case 65:
-#line 354 "camp.y" /* yacc.c:1648 */
+#line 354 "camp.y" /* yacc.c:1646 */
{ (yyval.ai) = (yyvsp[0].ai); }
-#line 2336 "camp.tab.c" /* yacc.c:1648 */
+#line 2335 "camp.tab.c" /* yacc.c:1646 */
break;
case 66:
-#line 355 "camp.y" /* yacc.c:1648 */
+#line 355 "camp.y" /* yacc.c:1646 */
{ (yyval.ai) = (yyvsp[-1].ai); }
-#line 2342 "camp.tab.c" /* yacc.c:1648 */
+#line 2341 "camp.tab.c" /* yacc.c:1646 */
break;
case 67:
-#line 359 "camp.y" /* yacc.c:1648 */
+#line 359 "camp.y" /* yacc.c:1646 */
{ (yyval.ai) = new arrayinit((yyvsp[0].vi)->getPos());
(yyval.ai)->add((yyvsp[0].vi));}
-#line 2349 "camp.tab.c" /* yacc.c:1648 */
+#line 2348 "camp.tab.c" /* yacc.c:1646 */
break;
case 68:
-#line 362 "camp.y" /* yacc.c:1648 */
+#line 362 "camp.y" /* yacc.c:1646 */
{ (yyval.ai) = (yyvsp[-2].ai); (yyval.ai)->add((yyvsp[0].vi)); }
-#line 2355 "camp.tab.c" /* yacc.c:1648 */
+#line 2354 "camp.tab.c" /* yacc.c:1646 */
break;
case 69:
-#line 366 "camp.y" /* yacc.c:1648 */
+#line 366 "camp.y" /* yacc.c:1646 */
{ (yyval.fls) = new formals((yyvsp[0].fl)->getPos()); (yyval.fls)->add((yyvsp[0].fl)); }
-#line 2361 "camp.tab.c" /* yacc.c:1648 */
+#line 2360 "camp.tab.c" /* yacc.c:1646 */
break;
case 70:
-#line 367 "camp.y" /* yacc.c:1648 */
+#line 367 "camp.y" /* yacc.c:1646 */
{ (yyval.fls) = new formals((yyvsp[-1].pos)); (yyval.fls)->addRest((yyvsp[0].fl)); }
-#line 2367 "camp.tab.c" /* yacc.c:1648 */
+#line 2366 "camp.tab.c" /* yacc.c:1646 */
break;
case 71:
-#line 369 "camp.y" /* yacc.c:1648 */
+#line 369 "camp.y" /* yacc.c:1646 */
{ (yyval.fls) = (yyvsp[-2].fls); (yyval.fls)->add((yyvsp[0].fl)); }
-#line 2373 "camp.tab.c" /* yacc.c:1648 */
+#line 2372 "camp.tab.c" /* yacc.c:1646 */
break;
case 72:
-#line 371 "camp.y" /* yacc.c:1648 */
+#line 371 "camp.y" /* yacc.c:1646 */
{ (yyval.fls) = (yyvsp[-2].fls); (yyval.fls)->addRest((yyvsp[0].fl)); }
-#line 2379 "camp.tab.c" /* yacc.c:1648 */
+#line 2378 "camp.tab.c" /* yacc.c:1646 */
break;
case 73:
-#line 375 "camp.y" /* yacc.c:1648 */
+#line 375 "camp.y" /* yacc.c:1646 */
{ (yyval.boo) = true; }
-#line 2385 "camp.tab.c" /* yacc.c:1648 */
+#line 2384 "camp.tab.c" /* yacc.c:1646 */
break;
case 74:
-#line 376 "camp.y" /* yacc.c:1648 */
+#line 376 "camp.y" /* yacc.c:1646 */
{ (yyval.boo) = false; }
-#line 2391 "camp.tab.c" /* yacc.c:1648 */
+#line 2390 "camp.tab.c" /* yacc.c:1646 */
break;
case 75:
-#line 381 "camp.y" /* yacc.c:1648 */
+#line 381 "camp.y" /* yacc.c:1646 */
{ (yyval.fl) = new formal((yyvsp[0].t)->getPos(), (yyvsp[0].t), 0, 0, (yyvsp[-1].boo), 0); }
-#line 2397 "camp.tab.c" /* yacc.c:1648 */
+#line 2396 "camp.tab.c" /* yacc.c:1646 */
break;
case 76:
-#line 383 "camp.y" /* yacc.c:1648 */
+#line 383 "camp.y" /* yacc.c:1646 */
{ (yyval.fl) = new formal((yyvsp[-1].t)->getPos(), (yyvsp[-1].t), (yyvsp[0].dis), 0, (yyvsp[-2].boo), 0); }
-#line 2403 "camp.tab.c" /* yacc.c:1648 */
+#line 2402 "camp.tab.c" /* yacc.c:1646 */
break;
case 77:
-#line 385 "camp.y" /* yacc.c:1648 */
+#line 385 "camp.y" /* yacc.c:1646 */
{ (yyval.fl) = new formal((yyvsp[-3].t)->getPos(), (yyvsp[-3].t), (yyvsp[-2].dis), (yyvsp[0].vi), (yyvsp[-4].boo), 0); }
-#line 2409 "camp.tab.c" /* yacc.c:1648 */
+#line 2408 "camp.tab.c" /* yacc.c:1646 */
break;
case 78:
-#line 388 "camp.y" /* yacc.c:1648 */
+#line 388 "camp.y" /* yacc.c:1646 */
{ bool k = checkKeyword((yyvsp[-1].ps).pos, (yyvsp[-1].ps).sym);
(yyval.fl) = new formal((yyvsp[-2].t)->getPos(), (yyvsp[-2].t), (yyvsp[0].dis), 0, (yyvsp[-3].boo), k); }
-#line 2416 "camp.tab.c" /* yacc.c:1648 */
+#line 2415 "camp.tab.c" /* yacc.c:1646 */
break;
case 79:
-#line 391 "camp.y" /* yacc.c:1648 */
+#line 391 "camp.y" /* yacc.c:1646 */
{ bool k = checkKeyword((yyvsp[-3].ps).pos, (yyvsp[-3].ps).sym);
(yyval.fl) = new formal((yyvsp[-4].t)->getPos(), (yyvsp[-4].t), (yyvsp[-2].dis), (yyvsp[0].vi), (yyvsp[-5].boo), k); }
-#line 2423 "camp.tab.c" /* yacc.c:1648 */
+#line 2422 "camp.tab.c" /* yacc.c:1646 */
break;
case 80:
-#line 397 "camp.y" /* yacc.c:1648 */
+#line 397 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new fundec((yyvsp[-2].pos), (yyvsp[-4].t), (yyvsp[-3].ps).sym, new formals((yyvsp[-2].pos)), (yyvsp[0].s)); }
-#line 2429 "camp.tab.c" /* yacc.c:1648 */
+#line 2428 "camp.tab.c" /* yacc.c:1646 */
break;
case 81:
-#line 399 "camp.y" /* yacc.c:1648 */
+#line 399 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new fundec((yyvsp[-3].pos), (yyvsp[-5].t), (yyvsp[-4].ps).sym, (yyvsp[-2].fls), (yyvsp[0].s)); }
-#line 2435 "camp.tab.c" /* yacc.c:1648 */
+#line 2434 "camp.tab.c" /* yacc.c:1646 */
break;
case 82:
-#line 403 "camp.y" /* yacc.c:1648 */
+#line 403 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new recorddec((yyvsp[-2].pos), (yyvsp[-1].ps).sym, (yyvsp[0].b)); }
-#line 2441 "camp.tab.c" /* yacc.c:1648 */
+#line 2440 "camp.tab.c" /* yacc.c:1646 */
break;
case 83:
-#line 404 "camp.y" /* yacc.c:1648 */
+#line 404 "camp.y" /* yacc.c:1646 */
{ (yyval.d) = new typedec((yyvsp[-1].pos), (yyvsp[0].vd)); }
-#line 2447 "camp.tab.c" /* yacc.c:1648 */
+#line 2446 "camp.tab.c" /* yacc.c:1646 */
break;
case 84:
-#line 408 "camp.y" /* yacc.c:1648 */
+#line 408 "camp.y" /* yacc.c:1646 */
{ (yyval.slice) = new slice((yyvsp[0].pos), 0, 0); }
-#line 2453 "camp.tab.c" /* yacc.c:1648 */
+#line 2452 "camp.tab.c" /* yacc.c:1646 */
break;
case 85:
-#line 409 "camp.y" /* yacc.c:1648 */
+#line 409 "camp.y" /* yacc.c:1646 */
{ (yyval.slice) = new slice((yyvsp[0].pos), (yyvsp[-1].e), 0); }
-#line 2459 "camp.tab.c" /* yacc.c:1648 */
+#line 2458 "camp.tab.c" /* yacc.c:1646 */
break;
case 86:
-#line 410 "camp.y" /* yacc.c:1648 */
+#line 410 "camp.y" /* yacc.c:1646 */
{ (yyval.slice) = new slice((yyvsp[-1].pos), 0, (yyvsp[0].e)); }
-#line 2465 "camp.tab.c" /* yacc.c:1648 */
+#line 2464 "camp.tab.c" /* yacc.c:1646 */
break;
case 87:
-#line 411 "camp.y" /* yacc.c:1648 */
+#line 411 "camp.y" /* yacc.c:1646 */
{ (yyval.slice) = new slice((yyvsp[-1].pos), (yyvsp[-2].e), (yyvsp[0].e)); }
-#line 2471 "camp.tab.c" /* yacc.c:1648 */
+#line 2470 "camp.tab.c" /* yacc.c:1646 */
break;
case 88:
-#line 415 "camp.y" /* yacc.c:1648 */
+#line 415 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new fieldExp((yyvsp[-1].pos), (yyvsp[-2].e), (yyvsp[0].ps).sym); }
-#line 2477 "camp.tab.c" /* yacc.c:1648 */
+#line 2476 "camp.tab.c" /* yacc.c:1646 */
break;
case 89:
-#line 416 "camp.y" /* yacc.c:1648 */
+#line 416 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new subscriptExp((yyvsp[-2].pos),
new nameExp((yyvsp[-3].n)->getPos(), (yyvsp[-3].n)), (yyvsp[-1].e)); }
-#line 2484 "camp.tab.c" /* yacc.c:1648 */
+#line 2483 "camp.tab.c" /* yacc.c:1646 */
break;
case 90:
-#line 418 "camp.y" /* yacc.c:1648 */
+#line 418 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new subscriptExp((yyvsp[-2].pos), (yyvsp[-3].e), (yyvsp[-1].e)); }
-#line 2490 "camp.tab.c" /* yacc.c:1648 */
+#line 2489 "camp.tab.c" /* yacc.c:1646 */
break;
case 91:
-#line 419 "camp.y" /* yacc.c:1648 */
+#line 419 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new sliceExp((yyvsp[-2].pos),
new nameExp((yyvsp[-3].n)->getPos(), (yyvsp[-3].n)), (yyvsp[-1].slice)); }
-#line 2497 "camp.tab.c" /* yacc.c:1648 */
+#line 2496 "camp.tab.c" /* yacc.c:1646 */
break;
case 92:
-#line 421 "camp.y" /* yacc.c:1648 */
+#line 421 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new sliceExp((yyvsp[-2].pos), (yyvsp[-3].e), (yyvsp[-1].slice)); }
-#line 2503 "camp.tab.c" /* yacc.c:1648 */
+#line 2502 "camp.tab.c" /* yacc.c:1646 */
break;
case 93:
-#line 422 "camp.y" /* yacc.c:1648 */
+#line 422 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new callExp((yyvsp[-1].pos),
new nameExp((yyvsp[-2].n)->getPos(), (yyvsp[-2].n)),
new arglist()); }
-#line 2511 "camp.tab.c" /* yacc.c:1648 */
+#line 2510 "camp.tab.c" /* yacc.c:1646 */
break;
case 94:
-#line 426 "camp.y" /* yacc.c:1648 */
+#line 426 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new callExp((yyvsp[-2].pos),
new nameExp((yyvsp[-3].n)->getPos(), (yyvsp[-3].n)),
(yyvsp[-1].alist)); }
-#line 2519 "camp.tab.c" /* yacc.c:1648 */
+#line 2518 "camp.tab.c" /* yacc.c:1646 */
break;
case 95:
-#line 429 "camp.y" /* yacc.c:1648 */
+#line 429 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new callExp((yyvsp[-1].pos), (yyvsp[-2].e), new arglist()); }
-#line 2525 "camp.tab.c" /* yacc.c:1648 */
+#line 2524 "camp.tab.c" /* yacc.c:1646 */
break;
case 96:
-#line 431 "camp.y" /* yacc.c:1648 */
+#line 431 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new callExp((yyvsp[-2].pos), (yyvsp[-3].e), (yyvsp[-1].alist)); }
-#line 2531 "camp.tab.c" /* yacc.c:1648 */
+#line 2530 "camp.tab.c" /* yacc.c:1646 */
break;
case 97:
-#line 433 "camp.y" /* yacc.c:1648 */
+#line 433 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = (yyvsp[-1].e); }
-#line 2537 "camp.tab.c" /* yacc.c:1648 */
+#line 2536 "camp.tab.c" /* yacc.c:1646 */
break;
case 98:
-#line 435 "camp.y" /* yacc.c:1648 */
+#line 435 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new nameExp((yyvsp[-1].n)->getPos(), (yyvsp[-1].n)); }
-#line 2543 "camp.tab.c" /* yacc.c:1648 */
+#line 2542 "camp.tab.c" /* yacc.c:1646 */
break;
case 99:
-#line 436 "camp.y" /* yacc.c:1648 */
+#line 436 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new thisExp((yyvsp[0].pos)); }
-#line 2549 "camp.tab.c" /* yacc.c:1648 */
+#line 2548 "camp.tab.c" /* yacc.c:1646 */
break;
case 100:
-#line 440 "camp.y" /* yacc.c:1648 */
+#line 440 "camp.y" /* yacc.c:1646 */
{ (yyval.arg).name = symbol::nullsym; (yyval.arg).val=(yyvsp[0].e); }
-#line 2555 "camp.tab.c" /* yacc.c:1648 */
+#line 2554 "camp.tab.c" /* yacc.c:1646 */
break;
case 101:
-#line 441 "camp.y" /* yacc.c:1648 */
+#line 441 "camp.y" /* yacc.c:1646 */
{ (yyval.arg).name = (yyvsp[-2].ps).sym; (yyval.arg).val=(yyvsp[0].e); }
-#line 2561 "camp.tab.c" /* yacc.c:1648 */
+#line 2560 "camp.tab.c" /* yacc.c:1646 */
break;
case 102:
-#line 445 "camp.y" /* yacc.c:1648 */
+#line 445 "camp.y" /* yacc.c:1646 */
{ (yyval.alist) = new arglist(); (yyval.alist)->add((yyvsp[0].arg)); }
-#line 2567 "camp.tab.c" /* yacc.c:1648 */
+#line 2566 "camp.tab.c" /* yacc.c:1646 */
break;
case 103:
-#line 447 "camp.y" /* yacc.c:1648 */
+#line 447 "camp.y" /* yacc.c:1646 */
{ (yyval.alist) = new arglist(); (yyval.alist)->addRest((yyvsp[0].arg)); }
-#line 2573 "camp.tab.c" /* yacc.c:1648 */
+#line 2572 "camp.tab.c" /* yacc.c:1646 */
break;
case 104:
-#line 449 "camp.y" /* yacc.c:1648 */
+#line 449 "camp.y" /* yacc.c:1646 */
{ (yyval.alist) = (yyvsp[-2].alist); (yyval.alist)->add((yyvsp[0].arg)); }
-#line 2579 "camp.tab.c" /* yacc.c:1648 */
+#line 2578 "camp.tab.c" /* yacc.c:1646 */
break;
case 105:
-#line 451 "camp.y" /* yacc.c:1648 */
+#line 451 "camp.y" /* yacc.c:1646 */
{ (yyval.alist) = (yyvsp[-2].alist); (yyval.alist)->addRest((yyvsp[0].arg)); }
-#line 2585 "camp.tab.c" /* yacc.c:1648 */
+#line 2584 "camp.tab.c" /* yacc.c:1646 */
break;
case 106:
-#line 456 "camp.y" /* yacc.c:1648 */
+#line 456 "camp.y" /* yacc.c:1646 */
{ (yyval.alist) = new arglist(); (yyval.alist)->add((yyvsp[-2].e)); (yyval.alist)->add((yyvsp[0].e)); }
-#line 2591 "camp.tab.c" /* yacc.c:1648 */
+#line 2590 "camp.tab.c" /* yacc.c:1646 */
break;
case 107:
-#line 457 "camp.y" /* yacc.c:1648 */
+#line 457 "camp.y" /* yacc.c:1646 */
{ (yyval.alist) = (yyvsp[-2].alist); (yyval.alist)->add((yyvsp[0].e)); }
-#line 2597 "camp.tab.c" /* yacc.c:1648 */
+#line 2596 "camp.tab.c" /* yacc.c:1646 */
break;
case 108:
-#line 461 "camp.y" /* yacc.c:1648 */
+#line 461 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new nameExp((yyvsp[0].n)->getPos(), (yyvsp[0].n)); }
-#line 2603 "camp.tab.c" /* yacc.c:1648 */
+#line 2602 "camp.tab.c" /* yacc.c:1646 */
break;
case 109:
-#line 462 "camp.y" /* yacc.c:1648 */
+#line 462 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = (yyvsp[0].e); }
-#line 2609 "camp.tab.c" /* yacc.c:1648 */
+#line 2608 "camp.tab.c" /* yacc.c:1646 */
break;
case 110:
-#line 463 "camp.y" /* yacc.c:1648 */
+#line 463 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = (yyvsp[0].e); }
-#line 2615 "camp.tab.c" /* yacc.c:1648 */
+#line 2614 "camp.tab.c" /* yacc.c:1646 */
break;
case 111:
-#line 464 "camp.y" /* yacc.c:1648 */
+#line 464 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = (yyvsp[0].stre); }
-#line 2621 "camp.tab.c" /* yacc.c:1648 */
+#line 2620 "camp.tab.c" /* yacc.c:1646 */
break;
case 112:
-#line 466 "camp.y" /* yacc.c:1648 */
+#line 466 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new scaleExp((yyvsp[-1].e)->getPos(), (yyvsp[-1].e), (yyvsp[0].e)); }
-#line 2627 "camp.tab.c" /* yacc.c:1648 */
+#line 2626 "camp.tab.c" /* yacc.c:1646 */
break;
case 113:
-#line 468 "camp.y" /* yacc.c:1648 */
+#line 468 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new castExp((yyvsp[-2].n)->getPos(), new nameTy((yyvsp[-2].n)), (yyvsp[0].e)); }
-#line 2633 "camp.tab.c" /* yacc.c:1648 */
+#line 2632 "camp.tab.c" /* yacc.c:1646 */
break;
case 114:
-#line 470 "camp.y" /* yacc.c:1648 */
+#line 470 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new castExp((yyvsp[-3].n)->getPos(), new arrayTy((yyvsp[-3].n), (yyvsp[-2].dim)), (yyvsp[0].e)); }
-#line 2639 "camp.tab.c" /* yacc.c:1648 */
+#line 2638 "camp.tab.c" /* yacc.c:1646 */
break;
case 115:
-#line 472 "camp.y" /* yacc.c:1648 */
+#line 472 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new unaryExp((yyvsp[-1].ps).pos, (yyvsp[0].e), (yyvsp[-1].ps).sym); }
-#line 2645 "camp.tab.c" /* yacc.c:1648 */
+#line 2644 "camp.tab.c" /* yacc.c:1646 */
break;
case 116:
-#line 474 "camp.y" /* yacc.c:1648 */
+#line 474 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new unaryExp((yyvsp[-1].ps).pos, (yyvsp[0].e), (yyvsp[-1].ps).sym); }
-#line 2651 "camp.tab.c" /* yacc.c:1648 */
+#line 2650 "camp.tab.c" /* yacc.c:1646 */
break;
case 117:
-#line 475 "camp.y" /* yacc.c:1648 */
+#line 475 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new unaryExp((yyvsp[-1].ps).pos, (yyvsp[0].e), (yyvsp[-1].ps).sym); }
-#line 2657 "camp.tab.c" /* yacc.c:1648 */
+#line 2656 "camp.tab.c" /* yacc.c:1646 */
break;
case 118:
-#line 476 "camp.y" /* yacc.c:1648 */
+#line 476 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2663 "camp.tab.c" /* yacc.c:1648 */
+#line 2662 "camp.tab.c" /* yacc.c:1646 */
break;
case 119:
-#line 477 "camp.y" /* yacc.c:1648 */
+#line 477 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2669 "camp.tab.c" /* yacc.c:1648 */
+#line 2668 "camp.tab.c" /* yacc.c:1646 */
break;
case 120:
-#line 478 "camp.y" /* yacc.c:1648 */
+#line 478 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2675 "camp.tab.c" /* yacc.c:1648 */
+#line 2674 "camp.tab.c" /* yacc.c:1646 */
break;
case 121:
-#line 479 "camp.y" /* yacc.c:1648 */
+#line 479 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2681 "camp.tab.c" /* yacc.c:1648 */
+#line 2680 "camp.tab.c" /* yacc.c:1646 */
break;
case 122:
-#line 480 "camp.y" /* yacc.c:1648 */
+#line 480 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2687 "camp.tab.c" /* yacc.c:1648 */
+#line 2686 "camp.tab.c" /* yacc.c:1646 */
break;
case 123:
-#line 481 "camp.y" /* yacc.c:1648 */
+#line 481 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2693 "camp.tab.c" /* yacc.c:1648 */
+#line 2692 "camp.tab.c" /* yacc.c:1646 */
break;
case 124:
-#line 482 "camp.y" /* yacc.c:1648 */
+#line 482 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2699 "camp.tab.c" /* yacc.c:1648 */
+#line 2698 "camp.tab.c" /* yacc.c:1646 */
break;
case 125:
-#line 483 "camp.y" /* yacc.c:1648 */
+#line 483 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2705 "camp.tab.c" /* yacc.c:1648 */
+#line 2704 "camp.tab.c" /* yacc.c:1646 */
break;
case 126:
-#line 484 "camp.y" /* yacc.c:1648 */
+#line 484 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2711 "camp.tab.c" /* yacc.c:1648 */
+#line 2710 "camp.tab.c" /* yacc.c:1646 */
break;
case 127:
-#line 485 "camp.y" /* yacc.c:1648 */
+#line 485 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2717 "camp.tab.c" /* yacc.c:1648 */
+#line 2716 "camp.tab.c" /* yacc.c:1646 */
break;
case 128:
-#line 486 "camp.y" /* yacc.c:1648 */
+#line 486 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2723 "camp.tab.c" /* yacc.c:1648 */
+#line 2722 "camp.tab.c" /* yacc.c:1646 */
break;
case 129:
-#line 487 "camp.y" /* yacc.c:1648 */
+#line 487 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new equalityExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2729 "camp.tab.c" /* yacc.c:1648 */
+#line 2728 "camp.tab.c" /* yacc.c:1646 */
break;
case 130:
-#line 488 "camp.y" /* yacc.c:1648 */
+#line 488 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new equalityExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2735 "camp.tab.c" /* yacc.c:1648 */
+#line 2734 "camp.tab.c" /* yacc.c:1646 */
break;
case 131:
-#line 489 "camp.y" /* yacc.c:1648 */
+#line 489 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new andExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2741 "camp.tab.c" /* yacc.c:1648 */
+#line 2740 "camp.tab.c" /* yacc.c:1646 */
break;
case 132:
-#line 490 "camp.y" /* yacc.c:1648 */
+#line 490 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new orExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2747 "camp.tab.c" /* yacc.c:1648 */
+#line 2746 "camp.tab.c" /* yacc.c:1646 */
break;
case 133:
-#line 491 "camp.y" /* yacc.c:1648 */
+#line 491 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2753 "camp.tab.c" /* yacc.c:1648 */
+#line 2752 "camp.tab.c" /* yacc.c:1646 */
break;
case 134:
-#line 492 "camp.y" /* yacc.c:1648 */
+#line 492 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2759 "camp.tab.c" /* yacc.c:1648 */
+#line 2758 "camp.tab.c" /* yacc.c:1646 */
break;
case 135:
-#line 493 "camp.y" /* yacc.c:1648 */
+#line 493 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2765 "camp.tab.c" /* yacc.c:1648 */
+#line 2764 "camp.tab.c" /* yacc.c:1646 */
break;
case 136:
-#line 494 "camp.y" /* yacc.c:1648 */
+#line 494 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2771 "camp.tab.c" /* yacc.c:1648 */
+#line 2770 "camp.tab.c" /* yacc.c:1646 */
break;
case 137:
-#line 495 "camp.y" /* yacc.c:1648 */
+#line 495 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2777 "camp.tab.c" /* yacc.c:1648 */
+#line 2776 "camp.tab.c" /* yacc.c:1646 */
break;
case 138:
-#line 497 "camp.y" /* yacc.c:1648 */
+#line 497 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new newRecordExp((yyvsp[-1].pos), (yyvsp[0].t)); }
-#line 2783 "camp.tab.c" /* yacc.c:1648 */
+#line 2782 "camp.tab.c" /* yacc.c:1646 */
break;
case 139:
-#line 499 "camp.y" /* yacc.c:1648 */
+#line 499 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new newArrayExp((yyvsp[-2].pos), (yyvsp[-1].t), (yyvsp[0].elist), 0, 0); }
-#line 2789 "camp.tab.c" /* yacc.c:1648 */
+#line 2788 "camp.tab.c" /* yacc.c:1646 */
break;
case 140:
-#line 501 "camp.y" /* yacc.c:1648 */
+#line 501 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new newArrayExp((yyvsp[-3].pos), (yyvsp[-2].t), (yyvsp[-1].elist), (yyvsp[0].dim), 0); }
-#line 2795 "camp.tab.c" /* yacc.c:1648 */
+#line 2794 "camp.tab.c" /* yacc.c:1646 */
break;
case 141:
-#line 503 "camp.y" /* yacc.c:1648 */
+#line 503 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new newArrayExp((yyvsp[-2].pos), (yyvsp[-1].t), 0, (yyvsp[0].dim), 0); }
-#line 2801 "camp.tab.c" /* yacc.c:1648 */
+#line 2800 "camp.tab.c" /* yacc.c:1646 */
break;
case 142:
-#line 505 "camp.y" /* yacc.c:1648 */
+#line 505 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new newArrayExp((yyvsp[-3].pos), (yyvsp[-2].t), 0, (yyvsp[-1].dim), (yyvsp[0].ai)); }
-#line 2807 "camp.tab.c" /* yacc.c:1648 */
+#line 2806 "camp.tab.c" /* yacc.c:1646 */
break;
case 143:
-#line 507 "camp.y" /* yacc.c:1648 */
+#line 507 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new newFunctionExp((yyvsp[-4].pos), (yyvsp[-3].t), new formals((yyvsp[-2].pos)), (yyvsp[0].s)); }
-#line 2813 "camp.tab.c" /* yacc.c:1648 */
+#line 2812 "camp.tab.c" /* yacc.c:1646 */
break;
case 144:
-#line 509 "camp.y" /* yacc.c:1648 */
+#line 509 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new newFunctionExp((yyvsp[-5].pos),
new arrayTy((yyvsp[-4].t)->getPos(), (yyvsp[-4].t), (yyvsp[-3].dim)),
new formals((yyvsp[-2].pos)),
(yyvsp[0].s)); }
-#line 2822 "camp.tab.c" /* yacc.c:1648 */
+#line 2821 "camp.tab.c" /* yacc.c:1646 */
break;
case 145:
-#line 514 "camp.y" /* yacc.c:1648 */
+#line 514 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new newFunctionExp((yyvsp[-5].pos), (yyvsp[-4].t), (yyvsp[-2].fls), (yyvsp[0].s)); }
-#line 2828 "camp.tab.c" /* yacc.c:1648 */
+#line 2827 "camp.tab.c" /* yacc.c:1646 */
break;
case 146:
-#line 516 "camp.y" /* yacc.c:1648 */
+#line 516 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new newFunctionExp((yyvsp[-6].pos),
new arrayTy((yyvsp[-5].t)->getPos(), (yyvsp[-5].t), (yyvsp[-4].dim)),
(yyvsp[-2].fls),
(yyvsp[0].s)); }
-#line 2837 "camp.tab.c" /* yacc.c:1648 */
+#line 2836 "camp.tab.c" /* yacc.c:1646 */
break;
case 147:
-#line 521 "camp.y" /* yacc.c:1648 */
+#line 521 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new conditionalExp((yyvsp[-3].pos), (yyvsp[-4].e), (yyvsp[-2].e), (yyvsp[0].e)); }
-#line 2843 "camp.tab.c" /* yacc.c:1648 */
+#line 2842 "camp.tab.c" /* yacc.c:1646 */
break;
case 148:
-#line 522 "camp.y" /* yacc.c:1648 */
+#line 522 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new assignExp((yyvsp[-1].pos), (yyvsp[-2].e), (yyvsp[0].e)); }
-#line 2849 "camp.tab.c" /* yacc.c:1648 */
+#line 2848 "camp.tab.c" /* yacc.c:1646 */
break;
case 149:
-#line 523 "camp.y" /* yacc.c:1648 */
+#line 523 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new callExp((yyvsp[-2].pos), new nameExp((yyvsp[-2].pos), SYM_TUPLE), (yyvsp[-1].alist)); }
-#line 2855 "camp.tab.c" /* yacc.c:1648 */
+#line 2854 "camp.tab.c" /* yacc.c:1646 */
break;
case 150:
-#line 525 "camp.y" /* yacc.c:1648 */
+#line 525 "camp.y" /* yacc.c:1646 */
{ (yyvsp[-1].j)->pushFront((yyvsp[-2].e)); (yyvsp[-1].j)->pushBack((yyvsp[0].e)); (yyval.e) = (yyvsp[-1].j); }
-#line 2861 "camp.tab.c" /* yacc.c:1648 */
+#line 2860 "camp.tab.c" /* yacc.c:1646 */
break;
case 151:
-#line 527 "camp.y" /* yacc.c:1648 */
+#line 527 "camp.y" /* yacc.c:1646 */
{ (yyvsp[0].se)->setSide(camp::OUT);
joinExp *jexp =
new joinExp((yyvsp[0].se)->getPos(), SYM_DOTS);
(yyval.e)=jexp;
jexp->pushBack((yyvsp[-1].e)); jexp->pushBack((yyvsp[0].se)); }
-#line 2871 "camp.tab.c" /* yacc.c:1648 */
+#line 2870 "camp.tab.c" /* yacc.c:1646 */
break;
case 152:
-#line 533 "camp.y" /* yacc.c:1648 */
+#line 533 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new prefixExp((yyvsp[-1].ps).pos, (yyvsp[0].e), SYM_PLUS); }
-#line 2877 "camp.tab.c" /* yacc.c:1648 */
+#line 2876 "camp.tab.c" /* yacc.c:1646 */
break;
case 153:
-#line 535 "camp.y" /* yacc.c:1648 */
+#line 535 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new prefixExp((yyvsp[-1].ps).pos, (yyvsp[0].e), SYM_MINUS); }
-#line 2883 "camp.tab.c" /* yacc.c:1648 */
+#line 2882 "camp.tab.c" /* yacc.c:1646 */
break;
case 154:
-#line 538 "camp.y" /* yacc.c:1648 */
+#line 538 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new postfixExp((yyvsp[0].ps).pos, (yyvsp[-1].e), SYM_PLUS); }
-#line 2889 "camp.tab.c" /* yacc.c:1648 */
+#line 2888 "camp.tab.c" /* yacc.c:1646 */
break;
case 155:
-#line 539 "camp.y" /* yacc.c:1648 */
+#line 539 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new selfExp((yyvsp[-1].ps).pos, (yyvsp[-2].e), (yyvsp[-1].ps).sym, (yyvsp[0].e)); }
-#line 2895 "camp.tab.c" /* yacc.c:1648 */
+#line 2894 "camp.tab.c" /* yacc.c:1646 */
break;
case 156:
-#line 541 "camp.y" /* yacc.c:1648 */
+#line 541 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new quoteExp((yyvsp[-3].pos), (yyvsp[-1].b)); }
-#line 2901 "camp.tab.c" /* yacc.c:1648 */
+#line 2900 "camp.tab.c" /* yacc.c:1646 */
break;
case 157:
-#line 547 "camp.y" /* yacc.c:1648 */
+#line 547 "camp.y" /* yacc.c:1646 */
{ (yyval.j) = new joinExp((yyvsp[0].ps).pos,(yyvsp[0].ps).sym); }
-#line 2907 "camp.tab.c" /* yacc.c:1648 */
+#line 2906 "camp.tab.c" /* yacc.c:1646 */
break;
case 158:
-#line 549 "camp.y" /* yacc.c:1648 */
+#line 549 "camp.y" /* yacc.c:1646 */
{ (yyval.j) = (yyvsp[0].j); }
-#line 2913 "camp.tab.c" /* yacc.c:1648 */
+#line 2912 "camp.tab.c" /* yacc.c:1646 */
break;
case 159:
-#line 551 "camp.y" /* yacc.c:1648 */
+#line 551 "camp.y" /* yacc.c:1646 */
{ (yyvsp[-1].se)->setSide(camp::OUT);
(yyval.j) = (yyvsp[0].j); (yyval.j)->pushFront((yyvsp[-1].se)); }
-#line 2920 "camp.tab.c" /* yacc.c:1648 */
+#line 2919 "camp.tab.c" /* yacc.c:1646 */
break;
case 160:
-#line 554 "camp.y" /* yacc.c:1648 */
+#line 554 "camp.y" /* yacc.c:1646 */
{ (yyvsp[0].se)->setSide(camp::IN);
(yyval.j) = (yyvsp[-1].j); (yyval.j)->pushBack((yyvsp[0].se)); }
-#line 2927 "camp.tab.c" /* yacc.c:1648 */
+#line 2926 "camp.tab.c" /* yacc.c:1646 */
break;
case 161:
-#line 557 "camp.y" /* yacc.c:1648 */
+#line 557 "camp.y" /* yacc.c:1646 */
{ (yyvsp[-2].se)->setSide(camp::OUT); (yyvsp[0].se)->setSide(camp::IN);
(yyval.j) = (yyvsp[-1].j); (yyval.j)->pushFront((yyvsp[-2].se)); (yyval.j)->pushBack((yyvsp[0].se)); }
-#line 2934 "camp.tab.c" /* yacc.c:1648 */
+#line 2933 "camp.tab.c" /* yacc.c:1646 */
break;
case 162:
-#line 562 "camp.y" /* yacc.c:1648 */
+#line 562 "camp.y" /* yacc.c:1646 */
{ (yyval.se) = new specExp((yyvsp[-2].ps).pos, (yyvsp[-2].ps).sym, (yyvsp[-1].e)); }
-#line 2940 "camp.tab.c" /* yacc.c:1648 */
+#line 2939 "camp.tab.c" /* yacc.c:1646 */
break;
case 163:
-#line 563 "camp.y" /* yacc.c:1648 */
+#line 563 "camp.y" /* yacc.c:1646 */
{ (yyval.se) = new specExp((yyvsp[-2].pos), symbol::opTrans("spec"), (yyvsp[-1].e)); }
-#line 2946 "camp.tab.c" /* yacc.c:1648 */
+#line 2945 "camp.tab.c" /* yacc.c:1646 */
break;
case 164:
-#line 565 "camp.y" /* yacc.c:1648 */
+#line 565 "camp.y" /* yacc.c:1646 */
{ (yyval.se) = new specExp((yyvsp[-4].pos), symbol::opTrans("spec"),
new pairExp((yyvsp[-2].pos), (yyvsp[-3].e), (yyvsp[-1].e))); }
-#line 2953 "camp.tab.c" /* yacc.c:1648 */
+#line 2952 "camp.tab.c" /* yacc.c:1646 */
break;
case 165:
-#line 568 "camp.y" /* yacc.c:1648 */
+#line 568 "camp.y" /* yacc.c:1646 */
{ (yyval.se) = new specExp((yyvsp[-6].pos), symbol::opTrans("spec"),
new tripleExp((yyvsp[-4].pos), (yyvsp[-5].e), (yyvsp[-3].e), (yyvsp[-1].e))); }
-#line 2960 "camp.tab.c" /* yacc.c:1648 */
+#line 2959 "camp.tab.c" /* yacc.c:1646 */
break;
case 166:
-#line 573 "camp.y" /* yacc.c:1648 */
+#line 573 "camp.y" /* yacc.c:1646 */
{ (yyval.j) = new joinExp((yyvsp[0].ps).pos, (yyvsp[0].ps).sym); }
-#line 2966 "camp.tab.c" /* yacc.c:1648 */
+#line 2965 "camp.tab.c" /* yacc.c:1646 */
break;
case 167:
-#line 575 "camp.y" /* yacc.c:1648 */
+#line 575 "camp.y" /* yacc.c:1646 */
{ (yyval.j) = new joinExp((yyvsp[-2].ps).pos, (yyvsp[-2].ps).sym); (yyval.j)->pushBack((yyvsp[-1].e)); }
-#line 2972 "camp.tab.c" /* yacc.c:1648 */
+#line 2971 "camp.tab.c" /* yacc.c:1646 */
break;
case 168:
-#line 577 "camp.y" /* yacc.c:1648 */
+#line 577 "camp.y" /* yacc.c:1646 */
{ (yyval.j) = new joinExp((yyvsp[-2].ps).pos, (yyvsp[-2].ps).sym); (yyval.j)->pushBack((yyvsp[-1].e)); }
-#line 2978 "camp.tab.c" /* yacc.c:1648 */
+#line 2977 "camp.tab.c" /* yacc.c:1646 */
break;
case 169:
-#line 578 "camp.y" /* yacc.c:1648 */
+#line 578 "camp.y" /* yacc.c:1646 */
{ (yyval.j) = new joinExp((yyvsp[0].ps).pos, (yyvsp[0].ps).sym); }
-#line 2984 "camp.tab.c" /* yacc.c:1648 */
+#line 2983 "camp.tab.c" /* yacc.c:1646 */
break;
case 170:
-#line 579 "camp.y" /* yacc.c:1648 */
+#line 579 "camp.y" /* yacc.c:1646 */
{ (yyval.j) = new joinExp((yyvsp[0].ps).pos, (yyvsp[0].ps).sym); }
-#line 2990 "camp.tab.c" /* yacc.c:1648 */
+#line 2989 "camp.tab.c" /* yacc.c:1646 */
break;
case 171:
-#line 583 "camp.y" /* yacc.c:1648 */
+#line 583 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-1].ps).pos, (yyvsp[0].e), (yyvsp[-1].ps).sym,
new booleanExp((yyvsp[-1].ps).pos, false)); }
-#line 2997 "camp.tab.c" /* yacc.c:1648 */
+#line 2996 "camp.tab.c" /* yacc.c:1646 */
break;
case 172:
-#line 586 "camp.y" /* yacc.c:1648 */
+#line 586 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new ternaryExp((yyvsp[-3].ps).pos, (yyvsp[-2].e), (yyvsp[-3].ps).sym, (yyvsp[0].e),
new booleanExp((yyvsp[-3].ps).pos, false)); }
-#line 3004 "camp.tab.c" /* yacc.c:1648 */
+#line 3003 "camp.tab.c" /* yacc.c:1646 */
break;
case 173:
-#line 589 "camp.y" /* yacc.c:1648 */
+#line 589 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-2].ps).pos, (yyvsp[0].e), (yyvsp[-2].ps).sym,
new booleanExp((yyvsp[-1].ps).pos, true)); }
-#line 3011 "camp.tab.c" /* yacc.c:1648 */
+#line 3010 "camp.tab.c" /* yacc.c:1646 */
break;
case 174:
-#line 592 "camp.y" /* yacc.c:1648 */
+#line 592 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new ternaryExp((yyvsp[-4].ps).pos, (yyvsp[-2].e), (yyvsp[-4].ps).sym, (yyvsp[0].e),
new booleanExp((yyvsp[-3].ps).pos, true)); }
-#line 3018 "camp.tab.c" /* yacc.c:1648 */
+#line 3017 "camp.tab.c" /* yacc.c:1646 */
break;
case 175:
-#line 597 "camp.y" /* yacc.c:1648 */
+#line 597 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new unaryExp((yyvsp[-1].ps).pos, (yyvsp[0].e), (yyvsp[-1].ps).sym); }
-#line 3024 "camp.tab.c" /* yacc.c:1648 */
+#line 3023 "camp.tab.c" /* yacc.c:1646 */
break;
case 176:
-#line 599 "camp.y" /* yacc.c:1648 */
+#line 599 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = new binaryExp((yyvsp[-3].ps).pos, (yyvsp[-2].e), (yyvsp[-3].ps).sym, (yyvsp[0].e)); }
-#line 3030 "camp.tab.c" /* yacc.c:1648 */
+#line 3029 "camp.tab.c" /* yacc.c:1646 */
break;
case 177:
-#line 603 "camp.y" /* yacc.c:1648 */
+#line 603 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new emptyStm((yyvsp[0].pos)); }
-#line 3036 "camp.tab.c" /* yacc.c:1648 */
+#line 3035 "camp.tab.c" /* yacc.c:1646 */
break;
case 178:
-#line 604 "camp.y" /* yacc.c:1648 */
+#line 604 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = (yyvsp[0].s); }
-#line 3042 "camp.tab.c" /* yacc.c:1648 */
+#line 3041 "camp.tab.c" /* yacc.c:1646 */
break;
case 179:
-#line 605 "camp.y" /* yacc.c:1648 */
+#line 605 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = (yyvsp[-1].s); }
-#line 3048 "camp.tab.c" /* yacc.c:1648 */
+#line 3047 "camp.tab.c" /* yacc.c:1646 */
break;
case 180:
-#line 607 "camp.y" /* yacc.c:1648 */
+#line 607 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new ifStm((yyvsp[-4].pos), (yyvsp[-2].e), (yyvsp[0].s)); }
-#line 3054 "camp.tab.c" /* yacc.c:1648 */
+#line 3053 "camp.tab.c" /* yacc.c:1646 */
break;
case 181:
-#line 609 "camp.y" /* yacc.c:1648 */
+#line 609 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new ifStm((yyvsp[-6].pos), (yyvsp[-4].e), (yyvsp[-2].s), (yyvsp[0].s)); }
-#line 3060 "camp.tab.c" /* yacc.c:1648 */
+#line 3059 "camp.tab.c" /* yacc.c:1646 */
break;
case 182:
-#line 611 "camp.y" /* yacc.c:1648 */
+#line 611 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new whileStm((yyvsp[-4].pos), (yyvsp[-2].e), (yyvsp[0].s)); }
-#line 3066 "camp.tab.c" /* yacc.c:1648 */
+#line 3065 "camp.tab.c" /* yacc.c:1646 */
break;
case 183:
-#line 613 "camp.y" /* yacc.c:1648 */
+#line 613 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new doStm((yyvsp[-6].pos), (yyvsp[-5].s), (yyvsp[-2].e)); }
-#line 3072 "camp.tab.c" /* yacc.c:1648 */
+#line 3071 "camp.tab.c" /* yacc.c:1646 */
break;
case 184:
-#line 615 "camp.y" /* yacc.c:1648 */
+#line 615 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new forStm((yyvsp[-8].pos), (yyvsp[-6].run), (yyvsp[-4].e), (yyvsp[-2].sel), (yyvsp[0].s)); }
-#line 3078 "camp.tab.c" /* yacc.c:1648 */
+#line 3077 "camp.tab.c" /* yacc.c:1646 */
break;
case 185:
-#line 617 "camp.y" /* yacc.c:1648 */
+#line 617 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new extendedForStm((yyvsp[-7].pos), (yyvsp[-5].t), (yyvsp[-4].ps).sym, (yyvsp[-2].e), (yyvsp[0].s)); }
-#line 3084 "camp.tab.c" /* yacc.c:1648 */
+#line 3083 "camp.tab.c" /* yacc.c:1646 */
break;
case 186:
-#line 618 "camp.y" /* yacc.c:1648 */
+#line 618 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new breakStm((yyvsp[-1].pos)); }
-#line 3090 "camp.tab.c" /* yacc.c:1648 */
+#line 3089 "camp.tab.c" /* yacc.c:1646 */
break;
case 187:
-#line 619 "camp.y" /* yacc.c:1648 */
+#line 619 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new continueStm((yyvsp[-1].pos)); }
-#line 3096 "camp.tab.c" /* yacc.c:1648 */
+#line 3095 "camp.tab.c" /* yacc.c:1646 */
break;
case 188:
-#line 620 "camp.y" /* yacc.c:1648 */
+#line 620 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new returnStm((yyvsp[-1].pos)); }
-#line 3102 "camp.tab.c" /* yacc.c:1648 */
+#line 3101 "camp.tab.c" /* yacc.c:1646 */
break;
case 189:
-#line 621 "camp.y" /* yacc.c:1648 */
+#line 621 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new returnStm((yyvsp[-2].pos), (yyvsp[-1].e)); }
-#line 3108 "camp.tab.c" /* yacc.c:1648 */
+#line 3107 "camp.tab.c" /* yacc.c:1646 */
break;
case 190:
-#line 625 "camp.y" /* yacc.c:1648 */
+#line 625 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new expStm((yyvsp[0].e)->getPos(), (yyvsp[0].e)); }
-#line 3114 "camp.tab.c" /* yacc.c:1648 */
+#line 3113 "camp.tab.c" /* yacc.c:1646 */
break;
case 191:
-#line 629 "camp.y" /* yacc.c:1648 */
+#line 629 "camp.y" /* yacc.c:1646 */
{ (yyval.s) = new blockStm((yyvsp[0].b)->getPos(), (yyvsp[0].b)); }
-#line 3120 "camp.tab.c" /* yacc.c:1648 */
+#line 3119 "camp.tab.c" /* yacc.c:1646 */
break;
case 192:
-#line 633 "camp.y" /* yacc.c:1648 */
+#line 633 "camp.y" /* yacc.c:1646 */
{ (yyval.run) = 0; }
-#line 3126 "camp.tab.c" /* yacc.c:1648 */
+#line 3125 "camp.tab.c" /* yacc.c:1646 */
break;
case 193:
-#line 634 "camp.y" /* yacc.c:1648 */
+#line 634 "camp.y" /* yacc.c:1646 */
{ (yyval.run) = (yyvsp[0].sel); }
-#line 3132 "camp.tab.c" /* yacc.c:1648 */
+#line 3131 "camp.tab.c" /* yacc.c:1646 */
break;
case 194:
-#line 635 "camp.y" /* yacc.c:1648 */
+#line 635 "camp.y" /* yacc.c:1646 */
{ (yyval.run) = (yyvsp[0].vd); }
-#line 3138 "camp.tab.c" /* yacc.c:1648 */
+#line 3137 "camp.tab.c" /* yacc.c:1646 */
break;
case 195:
-#line 639 "camp.y" /* yacc.c:1648 */
+#line 639 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = 0; }
-#line 3144 "camp.tab.c" /* yacc.c:1648 */
+#line 3143 "camp.tab.c" /* yacc.c:1646 */
break;
case 196:
-#line 640 "camp.y" /* yacc.c:1648 */
+#line 640 "camp.y" /* yacc.c:1646 */
{ (yyval.e) = (yyvsp[0].e); }
-#line 3150 "camp.tab.c" /* yacc.c:1648 */
+#line 3149 "camp.tab.c" /* yacc.c:1646 */
break;
case 197:
-#line 644 "camp.y" /* yacc.c:1648 */
+#line 644 "camp.y" /* yacc.c:1646 */
{ (yyval.sel) = 0; }
-#line 3156 "camp.tab.c" /* yacc.c:1648 */
+#line 3155 "camp.tab.c" /* yacc.c:1646 */
break;
case 198:
-#line 645 "camp.y" /* yacc.c:1648 */
+#line 645 "camp.y" /* yacc.c:1646 */
{ (yyval.sel) = (yyvsp[0].sel); }
-#line 3162 "camp.tab.c" /* yacc.c:1648 */
+#line 3161 "camp.tab.c" /* yacc.c:1646 */
break;
case 199:
-#line 649 "camp.y" /* yacc.c:1648 */
+#line 649 "camp.y" /* yacc.c:1646 */
{ (yyval.sel) = new stmExpList((yyvsp[0].s)->getPos()); (yyval.sel)->add((yyvsp[0].s)); }
-#line 3168 "camp.tab.c" /* yacc.c:1648 */
+#line 3167 "camp.tab.c" /* yacc.c:1646 */
break;
case 200:
-#line 651 "camp.y" /* yacc.c:1648 */
+#line 651 "camp.y" /* yacc.c:1646 */
{ (yyval.sel) = (yyvsp[-2].sel); (yyval.sel)->add((yyvsp[0].s)); }
-#line 3174 "camp.tab.c" /* yacc.c:1648 */
+#line 3173 "camp.tab.c" /* yacc.c:1646 */
break;
-#line 3178 "camp.tab.c" /* yacc.c:1648 */
+#line 3177 "camp.tab.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
diff --git a/Build/source/utils/asymptote/camp.tab.h b/Build/source/utils/asymptote/camp.tab.h
index b3ffe257742..02a814e3d83 100644
--- a/Build/source/utils/asymptote/camp.tab.h
+++ b/Build/source/utils/asymptote/camp.tab.h
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.5. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -108,7 +108,7 @@ extern int yydebug;
union YYSTYPE
{
-#line 60 "camp.y" /* yacc.c:1910 */
+#line 60 "camp.y" /* yacc.c:1909 */
position pos;
bool boo;
@@ -155,7 +155,7 @@ union YYSTYPE
absyntax::formal *fl;
absyntax::formals *fls;
-#line 159 "camp.tab.h" /* yacc.c:1910 */
+#line 159 "camp.tab.h" /* yacc.c:1909 */
};
typedef union YYSTYPE YYSTYPE;
diff --git a/Build/source/utils/asymptote/picture.cc b/Build/source/utils/asymptote/picture.cc
index 9cb847ae099..aaab64a7c6c 100644
--- a/Build/source/utils/asymptote/picture.cc
+++ b/Build/source/utils/asymptote/picture.cc
@@ -435,7 +435,7 @@ int opentex(const string& texname, const string& prefix, bool dvi)
return status;
}
-char *dvisvgmCommand(mem::vector<string>& cmd, const string &in, const string& out)
+void dvisvgmCommand(mem::vector<string>& cmd, const string &in, const string& out)
{
cmd.push_back(getSetting<string>("dvisvgm"));
cmd.push_back("-n");
@@ -445,20 +445,8 @@ char *dvisvgmCommand(mem::vector<string>& cmd, const string &in, const string& o
cmd.push_back("--libgs="+libgs);
// cmd.push_back("--optimize"); // Requires dvisvgm > 2.9.1
push_split(cmd,getSetting<string>("dvisvgmOptions"));
- char *tmpdir=mkdtemp(StrdupMalloc(tempdir+"/dvisvgmXXXXXX"));
- if(tmpdir)
- cmd.push_back("--tmpdir="+string(tmpdir));
cmd.push_back("-o"+out);
cmd.push_back(in);
- return tmpdir;
-}
-
-void rmtmpdir(char *tmpdir)
-{
- if(tmpdir) {
- recursive_delete(tmpdir);
- free(tmpdir);
- }
}
bool picture::texprocess(const string& texname, const string& outname,
@@ -482,7 +470,7 @@ bool picture::texprocess(const string& texname, const string& outname,
mem::vector<string> cmd;
if(svg) {
- char *tmpdir=dvisvgmCommand(cmd,dviname,outname);
+ dvisvgmCommand(cmd,dviname,outname);
ostringstream buf;
bbox B=svgbbox(b,bboxshift);
buf << "--bbox="
@@ -492,7 +480,6 @@ bool picture::texprocess(const string& texname, const string& outname,
<< B.top << "bp";
cmd.push_back(buf.str());
status=System(cmd,0,true,"dvisvgm");
- rmtmpdir(tmpdir);
if(!keep)
unlink(dviname.c_str());
} else {
@@ -717,10 +704,9 @@ bool picture::reloadPDF(const string& Viewer, const string& outname) const
int picture::epstosvg(const string& epsname, const string& outname)
{
mem::vector<string> cmd;
- char *tmpdir=dvisvgmCommand(cmd,epsname,outname);
+ dvisvgmCommand(cmd,epsname,outname);
cmd.push_back("-E");
int status=System(cmd,0,true,"dvisvgm");
- rmtmpdir(tmpdir);
if(!getSetting<bool>("keep"))
unlink(epsname.c_str());
return status;
@@ -729,10 +715,9 @@ int picture::epstosvg(const string& epsname, const string& outname)
int picture::pdftosvg(const string& pdfname, const string& outname)
{
mem::vector<string> cmd;
- char *tmpdir=dvisvgmCommand(cmd,pdfname,outname);
+ dvisvgmCommand(cmd,pdfname,outname);
cmd.push_back("--pdf");
int status=System(cmd,0,true,"dvisvgm");
- rmtmpdir(tmpdir);
if(status == 0 && !getSetting<bool>("keep"))
unlink(pdfname.c_str());
return status;
diff --git a/Build/source/utils/asymptote/settings.cc b/Build/source/utils/asymptote/settings.cc
index edd9fec7840..d3f89584705 100644
--- a/Build/source/utils/asymptote/settings.cc
+++ b/Build/source/utils/asymptote/settings.cc
@@ -249,7 +249,6 @@ const string guisuffix="gui";
const string standardprefix="out";
string initdir;
-string tempdir;
string historyname;
// Local versions of the argument list.
@@ -1542,9 +1541,6 @@ void initDir() {
mask=umask(0);
if(mask == 0) mask=0027;
umask(mask);
- tempdir=Getenv("TEMP",true);
-#else
- tempdir="/tmp";
#endif
if(access(initdir.c_str(),F_OK) == 0) {
if(verbose > 1)
diff --git a/Build/source/utils/asymptote/settings.h b/Build/source/utils/asymptote/settings.h
index effcc16d9dc..6ff7a5de4be 100644
--- a/Build/source/utils/asymptote/settings.h
+++ b/Build/source/utils/asymptote/settings.h
@@ -51,7 +51,6 @@ bool warn(const string& s);
extern string systemDir;
extern string docdir;
extern const string dirsep;
-extern string tempdir;
extern bool safe;
diff --git a/Build/source/utils/asymptote/util.cc b/Build/source/utils/asymptote/util.cc
index 81398491c00..85e9320cfdc 100644
--- a/Build/source/utils/asymptote/util.cc
+++ b/Build/source/utils/asymptote/util.cc
@@ -398,58 +398,6 @@ const char *setPath(const char *s, bool quiet)
return p;
}
-void fatal(const char *msg, const char *s=NULL)
-{
- ostringstream buf;
- buf << msg;
- if(s) {
- buf << " " << getPath();
- if(*s) buf << "/";
- buf << s;
- }
- buf << ": " << strerror(errno) << endl;
- camp::reportError(buf);
-}
-
-void empty_current_dir()
-{
- static struct stat buf;
- DIR *dir=opendir(".");
- if(dir == NULL) fatal("Cannot open directory","");
- dirent *p;
- while((p=readdir(dir)) != NULL) {
- if(strcmp(p->d_name,".") == 0 || strcmp(p->d_name,"..") == 0) continue;
- if(lstat(p->d_name,&buf) == 0) {
- if(S_ISDIR(buf.st_mode)) {
- if(chdir(p->d_name)) fatal("Cannot change directory to",p->d_name);
- empty_current_dir();
- if(chdir(".."))
- fatal("Cannot change to parent directory of",p->d_name);
- if(rmdir(p->d_name))
- fatal("Cannot remove directory",p->d_name);
- } else {
- if(unlink(p->d_name)) fatal("Cannot remove file",p->d_name);
- }
- }
- }
- if(closedir(dir)) fatal("Invalid current directory stream descriptor");
-}
-
-void recursive_delete(char *name)
-{
- static struct stat buf;
- if(lstat(name,&buf) == 0) {
- if(S_ISDIR(buf.st_mode)) {
- const char *path=getPath();
- if(chdir(name)) fatal("Cannot change directory to",name);
- empty_current_dir();
- if(chdir(path)) fatal("Cannot change to directory","");
- if(rmdir(name)) fatal("Cannot remove directory", name);
- }
- else unlink(name);
- }
-}
-
void push_command(mem::vector<string>& a, const string& s)
{
a.push_back(s);