685
690
#define YYTABLE_NINF -1
686
691
static const yytype_uint8 yytable[] =
688
13, 29, 19, 16, 21, 22, 23, 24, 43, 20,
689
32, 33, 34, 44, 45, 51, 46, 0, 67, 16,
690
0, 48, 0, 44, 45, 50, 46, 52, 0, 53,
691
0, 48, 16, 0, 0, 58, 59, 60, 61, 62,
692
63, 64, 65, 0, 66, 0, 0, 0, 0, 35,
693
13, 20, 19, 16, 21, 22, 23, 24, 43, 44,
694
32, 33, 29, 34, 45, 46, 45, 46, 51, 16,
695
67, 48, 0, 48, 0, 50, 0, 52, 0, 53,
696
0, 0, 16, 0, 0, 58, 59, 60, 61, 62,
697
63, 64, 65, 0, 0, 66, 0, 0, 0, 35,
693
698
36, 0, 37, 38, 39, 32, 40, 41, 42, 0,
694
0, 0, 0, 0, 43, 0, 0, 0, 32, 44,
695
45, 0, 46, 0, 47, 35, 36, 48, 37, 38,
699
0, 0, 0, 0, 43, 44, 0, 0, 32, 0,
700
45, 46, 0, 0, 47, 35, 36, 48, 37, 38,
696
701
39, 0, 40, 41, 42, 0, 0, 0, 0, 0,
697
43, 0, 0, 0, 0, 44, 45, 56, 46, 0,
702
43, 44, 0, 0, 0, 0, 45, 46, 56, 0,
698
703
0, 35, 36, 48, 37, 38, 39, 0, 40, 41,
699
42, 0, 0, 0, 0, 0, 43, 0, 0, 0,
700
0, 44, 45, 0, 46, 0, 0, 0, 57, 48,
704
42, 0, 0, 0, 0, 0, 43, 44, 5, 6,
705
7, 15, 45, 46, 9, 0, 0, 0, 57, 48,
701
706
35, 36, 0, 37, 38, 39, 0, 40, 41, 42,
702
0, 0, 0, 0, 0, 43, 0, 17, 0, 0,
703
44, 45, 0, 46, 1, 0, 2, 3, 48, 4,
704
5, 6, 7, 18, 25, 9, 4, 5, 6, 7,
705
8, 10, 9, 26, 27, 11, 0, 17, 10, 2,
706
3, 0, 11, 0, 30, 0, 2, 3, 0, 4,
707
5, 6, 7, 18, 0, 9, 4, 5, 6, 7,
708
31, 10, 9, 17, 0, 11, 0, 0, 10, 0,
709
0, 0, 11, 0, 0, 4, 5, 6, 7, 18,
710
25, 9, 17, 5, 6, 7, 15, 10, 9, 49,
711
0, 11, 0, 0, 4, 5, 6, 7, 18, 25,
712
9, 17, 5, 6, 7, 18, 10, 9, 0, 0,
713
11, 0, 0, 4, 5, 6, 7, 18, 25, 9,
714
17, 5, 6, 7, 54, 55, 9, 30, 0, 11,
715
0, 0, 4, 5, 6, 7, 18, 25, 9, 4,
716
5, 6, 7, 31, 68, 9, 0, 0, 11, 0,
717
0, 10, 37, 38, 39, 11, 40, 41, 42, 0,
718
0, 37, 38, 39, 43, 40, 41, 42, 0, 44,
719
45, 0, 46, 43, 0, 0, 0, 69, 44, 45,
720
0, 46, 0, 0, 0, 0, 70
707
0, 17, 0, 0, 0, 43, 44, 0, 0, 0,
708
0, 45, 46, 4, 5, 6, 7, 18, 48, 25,
709
9, 1, 0, 2, 3, 0, 10, 26, 27, 11,
710
0, 0, 0, 4, 5, 6, 7, 8, 0, 17,
711
9, 2, 3, 0, 0, 0, 10, 0, 0, 11,
712
0, 4, 5, 6, 7, 18, 0, 30, 9, 2,
713
3, 0, 0, 0, 10, 17, 0, 11, 0, 4,
714
5, 6, 7, 31, 0, 0, 9, 4, 5, 6,
715
7, 18, 10, 25, 9, 11, 17, 0, 0, 0,
716
10, 49, 0, 11, 17, 0, 0, 0, 4, 5,
717
6, 7, 18, 0, 25, 9, 4, 5, 6, 7,
718
18, 10, 25, 9, 11, 17, 0, 0, 0, 55,
719
0, 0, 11, 30, 0, 0, 0, 4, 5, 6,
720
7, 18, 0, 25, 9, 4, 5, 6, 7, 31,
721
68, 0, 9, 11, 5, 6, 7, 18, 10, 0,
722
9, 11, 37, 38, 39, 0, 40, 41, 42, 0,
723
0, 0, 0, 0, 43, 44, 5, 6, 7, 54,
724
45, 46, 9, 0, 37, 38, 39, 69, 40, 41,
725
42, 0, 0, 0, 0, 0, 43, 44, 0, 0,
726
0, 0, 45, 46, 0, 0, 0, 0, 0, 70
723
729
static const yytype_int8 yycheck[] =
725
0, 18, 2, 1, 4, 5, 6, 7, 20, 3,
726
10, 11, 0, 25, 26, 19, 28, -1, 19, 17,
727
-1, 33, -1, 25, 26, 25, 28, 27, -1, 29,
728
-1, 33, 30, -1, -1, 35, 36, 37, 38, 39,
729
40, 41, 42, -1, 44, -1, -1, -1, -1, 5,
731
0, 3, 2, 1, 4, 5, 6, 7, 20, 21,
732
10, 11, 18, 0, 26, 27, 26, 27, 19, 17,
733
19, 33, -1, 33, -1, 25, -1, 27, -1, 29,
734
-1, -1, 30, -1, -1, 35, 36, 37, 38, 39,
735
40, 41, 42, -1, -1, 45, -1, -1, -1, 5,
730
736
6, -1, 8, 9, 10, 55, 12, 13, 14, -1,
731
-1, -1, -1, -1, 20, -1, -1, -1, 68, 25,
732
26, -1, 28, -1, 30, 5, 6, 33, 8, 9,
737
-1, -1, -1, -1, 20, 21, -1, -1, 68, -1,
738
26, 27, -1, -1, 30, 5, 6, 33, 8, 9,
733
739
10, -1, 12, 13, 14, -1, -1, -1, -1, -1,
734
20, -1, -1, -1, -1, 25, 26, 27, 28, -1,
740
20, 21, -1, -1, -1, -1, 26, 27, 28, -1,
735
741
-1, 5, 6, 33, 8, 9, 10, -1, 12, 13,
736
14, -1, -1, -1, -1, -1, 20, -1, -1, -1,
737
-1, 25, 26, -1, 28, -1, -1, -1, 32, 33,
742
14, -1, -1, -1, -1, -1, 20, 21, 16, 17,
743
18, 19, 26, 27, 22, -1, -1, -1, 32, 33,
738
744
5, 6, -1, 8, 9, 10, -1, 12, 13, 14,
739
-1, -1, -1, -1, -1, 20, -1, 3, -1, -1,
740
25, 26, -1, 28, 3, -1, 5, 6, 33, 15,
741
16, 17, 18, 19, 20, 21, 15, 16, 17, 18,
742
19, 27, 21, 29, 30, 31, -1, 3, 27, 5,
743
6, -1, 31, -1, 3, -1, 5, 6, -1, 15,
744
16, 17, 18, 19, -1, 21, 15, 16, 17, 18,
745
19, 27, 21, 3, -1, 31, -1, -1, 27, -1,
746
-1, -1, 31, -1, -1, 15, 16, 17, 18, 19,
747
20, 21, 3, 16, 17, 18, 19, 27, 21, 29,
748
-1, 31, -1, -1, 15, 16, 17, 18, 19, 20,
749
21, 3, 16, 17, 18, 19, 27, 21, -1, -1,
750
31, -1, -1, 15, 16, 17, 18, 19, 20, 21,
751
3, 16, 17, 18, 19, 27, 21, 3, -1, 31,
752
-1, -1, 15, 16, 17, 18, 19, 20, 21, 15,
753
16, 17, 18, 19, 27, 21, -1, -1, 31, -1,
754
-1, 27, 8, 9, 10, 31, 12, 13, 14, -1,
755
-1, 8, 9, 10, 20, 12, 13, 14, -1, 25,
756
26, -1, 28, 20, -1, -1, -1, 33, 25, 26,
757
-1, 28, -1, -1, -1, -1, 33
745
-1, 3, -1, -1, -1, 20, 21, -1, -1, -1,
746
-1, 26, 27, 15, 16, 17, 18, 19, 33, 21,
747
22, 3, -1, 5, 6, -1, 28, 29, 30, 31,
748
-1, -1, -1, 15, 16, 17, 18, 19, -1, 3,
749
22, 5, 6, -1, -1, -1, 28, -1, -1, 31,
750
-1, 15, 16, 17, 18, 19, -1, 3, 22, 5,
751
6, -1, -1, -1, 28, 3, -1, 31, -1, 15,
752
16, 17, 18, 19, -1, -1, 22, 15, 16, 17,
753
18, 19, 28, 21, 22, 31, 3, -1, -1, -1,
754
28, 29, -1, 31, 3, -1, -1, -1, 15, 16,
755
17, 18, 19, -1, 21, 22, 15, 16, 17, 18,
756
19, 28, 21, 22, 31, 3, -1, -1, -1, 28,
757
-1, -1, 31, 3, -1, -1, -1, 15, 16, 17,
758
18, 19, -1, 21, 22, 15, 16, 17, 18, 19,
759
28, -1, 22, 31, 16, 17, 18, 19, 28, -1,
760
22, 31, 8, 9, 10, -1, 12, 13, 14, -1,
761
-1, -1, -1, -1, 20, 21, 16, 17, 18, 19,
762
26, 27, 22, -1, 8, 9, 10, 33, 12, 13,
763
14, -1, -1, -1, -1, -1, 20, 21, -1, -1,
764
-1, -1, 26, 27, -1, -1, -1, -1, -1, 33
760
767
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
761
768
symbol of state STATE-NUM. */
762
769
static const yytype_uint8 yystos[] =
764
0, 3, 5, 6, 15, 16, 17, 18, 19, 21,
765
27, 31, 35, 36, 37, 19, 37, 3, 19, 36,
766
3, 36, 36, 36, 36, 20, 29, 30, 36, 18,
771
0, 3, 5, 6, 15, 16, 17, 18, 19, 22,
772
28, 31, 35, 36, 37, 19, 37, 3, 19, 36,
773
3, 36, 36, 36, 36, 21, 29, 30, 36, 18,
767
774
3, 19, 36, 36, 0, 5, 6, 8, 9, 10,
768
12, 13, 14, 20, 25, 26, 28, 30, 33, 29,
769
36, 19, 36, 36, 19, 27, 27, 32, 36, 36,
770
36, 36, 36, 36, 36, 36, 36, 19, 27, 33,
775
12, 13, 14, 20, 21, 26, 27, 30, 33, 29,
776
36, 19, 36, 36, 19, 28, 28, 32, 36, 36,
777
36, 36, 36, 36, 36, 36, 36, 19, 28, 33,
1624
1631
/* Line 1455 of yacc.c */
1625
#line 118 "./mp-equation-parser.y"
1632
#line 123 "./mp-equation-parser.y"
1626
1633
{ set_result(yyscanner, &(yyvsp[(1) - (1)].int_t)); }
1631
1638
/* Line 1455 of yacc.c */
1632
#line 119 "./mp-equation-parser.y"
1639
#line 124 "./mp-equation-parser.y"
1633
1640
{ set_result(yyscanner, &(yyvsp[(1) - (2)].int_t)); }
1638
1645
/* Line 1455 of yacc.c */
1639
#line 120 "./mp-equation-parser.y"
1646
#line 125 "./mp-equation-parser.y"
1640
1647
{set_variable(yyscanner, (yyvsp[(1) - (3)].name), &(yyvsp[(3) - (3)].int_t)); set_result(yyscanner, &(yyvsp[(3) - (3)].int_t)); }
1645
1652
/* Line 1455 of yacc.c */
1646
#line 121 "./mp-equation-parser.y"
1653
#line 126 "./mp-equation-parser.y"
1647
1654
{ MPNumber t; do_conversion(yyscanner, &(yyvsp[(1) - (4)].int_t), (yyvsp[(2) - (4)].name), (yyvsp[(4) - (4)].name), &t); set_result(yyscanner, &t); free((yyvsp[(2) - (4)].name)); free((yyvsp[(4) - (4)].name)); }
1652
1659
/* Line 1455 of yacc.c */
1653
#line 122 "./mp-equation-parser.y"
1660
#line 127 "./mp-equation-parser.y"
1654
1661
{ MPNumber x, t; mp_set_from_integer(1, &x); do_conversion(yyscanner, &x, (yyvsp[(1) - (3)].name), (yyvsp[(3) - (3)].name), &t); set_result(yyscanner, &t); free((yyvsp[(1) - (3)].name)); free((yyvsp[(3) - (3)].name)); }
1659
1666
/* Line 1455 of yacc.c */
1660
#line 128 "./mp-equation-parser.y"
1667
#line 133 "./mp-equation-parser.y"
1661
1668
{mp_set_from_mp(&(yyvsp[(2) - (3)].int_t), &(yyval.int_t));}
1666
1673
/* Line 1455 of yacc.c */
1667
#line 129 "./mp-equation-parser.y"
1674
#line 134 "./mp-equation-parser.y"
1668
1675
{mp_abs(&(yyvsp[(2) - (3)].int_t), &(yyval.int_t));}
1673
1680
/* Line 1455 of yacc.c */
1674
#line 130 "./mp-equation-parser.y"
1681
#line 135 "./mp-equation-parser.y"
1675
1682
{get_variable(yyscanner, (yyvsp[(2) - (3)].name), &(yyval.int_t)); mp_abs(&(yyval.int_t), &(yyval.int_t)); free((yyvsp[(2) - (3)].name));}
1680
1687
/* Line 1455 of yacc.c */
1681
#line 131 "./mp-equation-parser.y"
1688
#line 136 "./mp-equation-parser.y"
1682
1689
{get_variable(yyscanner, (yyvsp[(3) - (4)].name), &(yyval.int_t)); mp_multiply(&(yyvsp[(2) - (4)].int_t), &(yyval.int_t), &(yyval.int_t)); mp_abs(&(yyval.int_t), &(yyval.int_t)); free((yyvsp[(3) - (4)].name));}
1687
1694
/* Line 1455 of yacc.c */
1688
#line 132 "./mp-equation-parser.y"
1695
#line 137 "./mp-equation-parser.y"
1689
1696
{mp_xpowy(&(yyvsp[(1) - (3)].int_t), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t));}
1694
1701
/* Line 1455 of yacc.c */
1695
#line 133 "./mp-equation-parser.y"
1702
#line 138 "./mp-equation-parser.y"
1696
1703
{mp_xpowy_integer(&(yyvsp[(1) - (2)].int_t), (yyvsp[(2) - (2)].integer), &(yyval.int_t));}
1701
1708
/* Line 1455 of yacc.c */
1702
#line 134 "./mp-equation-parser.y"
1703
{mp_reciprocal(&(yyvsp[(1) - (2)].int_t), &(yyval.int_t));}
1709
#line 139 "./mp-equation-parser.y"
1710
{mp_xpowy_integer(&(yyvsp[(1) - (2)].int_t), (yyvsp[(2) - (2)].integer), &(yyval.int_t));}
1708
1715
/* Line 1455 of yacc.c */
1709
#line 135 "./mp-equation-parser.y"
1716
#line 140 "./mp-equation-parser.y"
1710
1717
{mp_factorial(&(yyvsp[(1) - (2)].int_t), &(yyval.int_t));}
1715
1722
/* Line 1455 of yacc.c */
1716
#line 136 "./mp-equation-parser.y"
1723
#line 141 "./mp-equation-parser.y"
1717
1724
{mp_set_from_mp(&(yyvsp[(1) - (1)].int_t), &(yyval.int_t));}
1722
1729
/* Line 1455 of yacc.c */
1723
#line 137 "./mp-equation-parser.y"
1730
#line 142 "./mp-equation-parser.y"
1724
1731
{mp_multiply(&(yyvsp[(1) - (2)].int_t), &(yyvsp[(2) - (2)].int_t), &(yyval.int_t));}
1729
1736
/* Line 1455 of yacc.c */
1730
#line 138 "./mp-equation-parser.y"
1737
#line 143 "./mp-equation-parser.y"
1731
1738
{mp_invert_sign(&(yyvsp[(2) - (2)].int_t), &(yyval.int_t));}
1736
1743
/* Line 1455 of yacc.c */
1737
#line 139 "./mp-equation-parser.y"
1744
#line 144 "./mp-equation-parser.y"
1738
1745
{mp_set_from_mp(&(yyvsp[(2) - (2)].int_t), &(yyval.int_t));}
1743
1750
/* Line 1455 of yacc.c */
1744
#line 140 "./mp-equation-parser.y"
1751
#line 145 "./mp-equation-parser.y"
1745
1752
{mp_divide(&(yyvsp[(1) - (3)].int_t), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t));}
1750
1757
/* Line 1455 of yacc.c */
1751
#line 141 "./mp-equation-parser.y"
1758
#line 146 "./mp-equation-parser.y"
1752
1759
{mp_modulus_divide(&(yyvsp[(1) - (3)].int_t), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t));}
1757
1764
/* Line 1455 of yacc.c */
1758
#line 142 "./mp-equation-parser.y"
1765
#line 147 "./mp-equation-parser.y"
1759
1766
{mp_multiply(&(yyvsp[(1) - (3)].int_t), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t));}
1764
1771
/* Line 1455 of yacc.c */
1765
#line 143 "./mp-equation-parser.y"
1772
#line 148 "./mp-equation-parser.y"
1766
1773
{mp_add_integer(&(yyvsp[(3) - (4)].int_t), 100, &(yyvsp[(3) - (4)].int_t)); mp_divide_integer(&(yyvsp[(3) - (4)].int_t), 100, &(yyvsp[(3) - (4)].int_t)); mp_multiply(&(yyvsp[(1) - (4)].int_t), &(yyvsp[(3) - (4)].int_t), &(yyval.int_t));}
1771
1778
/* Line 1455 of yacc.c */
1772
#line 144 "./mp-equation-parser.y"
1779
#line 149 "./mp-equation-parser.y"
1773
1780
{mp_add_integer(&(yyvsp[(3) - (4)].int_t), -100, &(yyvsp[(3) - (4)].int_t)); mp_divide_integer(&(yyvsp[(3) - (4)].int_t), -100, &(yyvsp[(3) - (4)].int_t)); mp_multiply(&(yyvsp[(1) - (4)].int_t), &(yyvsp[(3) - (4)].int_t), &(yyval.int_t));}
1778
1785
/* Line 1455 of yacc.c */
1779
#line 145 "./mp-equation-parser.y"
1786
#line 150 "./mp-equation-parser.y"
1780
1787
{mp_add(&(yyvsp[(1) - (3)].int_t), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t));}
1785
1792
/* Line 1455 of yacc.c */
1786
#line 146 "./mp-equation-parser.y"
1793
#line 151 "./mp-equation-parser.y"
1787
1794
{mp_subtract(&(yyvsp[(1) - (3)].int_t), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t));}
1792
1799
/* Line 1455 of yacc.c */
1793
#line 147 "./mp-equation-parser.y"
1800
#line 152 "./mp-equation-parser.y"
1794
1801
{mp_divide_integer(&(yyvsp[(1) - (2)].int_t), 100, &(yyval.int_t));}
1799
1806
/* Line 1455 of yacc.c */
1800
#line 148 "./mp-equation-parser.y"
1807
#line 153 "./mp-equation-parser.y"
1801
1808
{do_not(yyscanner, &(yyvsp[(2) - (2)].int_t), &(yyval.int_t));}
1806
1813
/* Line 1455 of yacc.c */
1807
#line 149 "./mp-equation-parser.y"
1814
#line 154 "./mp-equation-parser.y"
1808
1815
{mp_and(&(yyvsp[(1) - (3)].int_t), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t));}
1813
1820
/* Line 1455 of yacc.c */
1814
#line 150 "./mp-equation-parser.y"
1821
#line 155 "./mp-equation-parser.y"
1815
1822
{mp_or(&(yyvsp[(1) - (3)].int_t), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t));}
1820
1827
/* Line 1455 of yacc.c */
1821
#line 151 "./mp-equation-parser.y"
1828
#line 156 "./mp-equation-parser.y"
1822
1829
{mp_xor(&(yyvsp[(1) - (3)].int_t), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t));}
1827
1834
/* Line 1455 of yacc.c */
1828
#line 152 "./mp-equation-parser.y"
1835
#line 157 "./mp-equation-parser.y"
1829
1836
{mp_set_from_mp(&(yyvsp[(1) - (1)].int_t), &(yyval.int_t));}
1834
1841
/* Line 1455 of yacc.c */
1835
#line 157 "./mp-equation-parser.y"
1836
{get_function(yyscanner, (yyvsp[(1) - (2)].name), &(yyvsp[(2) - (2)].int_t), &(yyval.int_t)); free((yyvsp[(1) - (2)].name));}
1842
#line 162 "./mp-equation-parser.y"
1843
{if (!get_function(yyscanner, (yyvsp[(1) - (2)].name), &(yyvsp[(2) - (2)].int_t), &(yyval.int_t))) YYABORT; free((yyvsp[(1) - (2)].name));}
1841
1848
/* Line 1455 of yacc.c */
1842
#line 158 "./mp-equation-parser.y"
1843
{get_function(yyscanner, (yyvsp[(1) - (3)].name), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t)); mp_xpowy_integer(&(yyval.int_t), (yyvsp[(2) - (3)].integer), &(yyval.int_t)); free((yyvsp[(1) - (3)].name));}
1849
#line 163 "./mp-equation-parser.y"
1850
{if (!get_function(yyscanner, (yyvsp[(1) - (3)].name), &(yyvsp[(3) - (3)].int_t), &(yyval.int_t))) YYABORT; mp_xpowy_integer(&(yyval.int_t), (yyvsp[(2) - (3)].integer), &(yyval.int_t)); free((yyvsp[(1) - (3)].name));}
1848
1855
/* Line 1455 of yacc.c */
1849
#line 159 "./mp-equation-parser.y"
1856
#line 164 "./mp-equation-parser.y"
1850
1857
{mp_root(&(yyvsp[(3) - (3)].int_t), (yyvsp[(1) - (3)].integer), &(yyval.int_t));}
1855
1862
/* Line 1455 of yacc.c */
1856
#line 160 "./mp-equation-parser.y"
1863
#line 165 "./mp-equation-parser.y"
1857
1864
{mp_sqrt(&(yyvsp[(2) - (2)].int_t), &(yyval.int_t));}
1862
1869
/* Line 1455 of yacc.c */
1863
#line 161 "./mp-equation-parser.y"
1870
#line 166 "./mp-equation-parser.y"
1864
1871
{mp_root(&(yyvsp[(2) - (2)].int_t), 3, &(yyval.int_t));}
1869
1876
/* Line 1455 of yacc.c */
1870
#line 162 "./mp-equation-parser.y"
1877
#line 167 "./mp-equation-parser.y"
1871
1878
{mp_root(&(yyvsp[(2) - (2)].int_t), 4, &(yyval.int_t));}
1876
1883
/* Line 1455 of yacc.c */
1877
#line 163 "./mp-equation-parser.y"
1878
{get_variable(yyscanner, (yyvsp[(1) - (1)].name), &(yyval.int_t)); free((yyvsp[(1) - (1)].name));}
1884
#line 168 "./mp-equation-parser.y"
1885
{if (!get_variable(yyscanner, (yyvsp[(1) - (1)].name), &(yyval.int_t))) YYABORT; free((yyvsp[(1) - (1)].name));}
1883
1890
/* Line 1455 of yacc.c */
1884
#line 1885 "mp-equation-parser.c"
1891
#line 1892 "mp-equation-parser.c"
1885
1892
default: break;
1887
1894
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);