1577{
1578 int yystate;
1579
1580 int yyerrstatus;
1581
1582
1583
1584
1585
1586
1587
1588
1589
1593
1594
1598
1600
1601 int yyn;
1602 int yyresult;
1603
1604 int yytoken = 0;
1605
1606
1608
1609#if YYERROR_VERBOSE
1610
1611 char yymsgbuf[128];
1612 char *yymsg = yymsgbuf;
1613 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1614#endif
1615
1616#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1617
1618
1619
1620 int yylen = 0;
1621
1622 yyssp = yyss = yyssa;
1623 yyvsp = yyvs = yyvsa;
1625
1626 YYDPRINTF ((stderr,
"Starting parse\n"));
1627
1628 yystate = 0;
1629 yyerrstatus = 0;
1632 goto yysetstate;
1633
1634
1635
1636
1637 yynewstate:
1638
1639
1640 yyssp++;
1641
1642 yysetstate:
1643 *yyssp = yystate;
1644
1645 if (yyss + yystacksize - 1 <= yyssp)
1646 {
1647
1648 YYSIZE_T yysize = yyssp - yyss + 1;
1649
1650#ifdef yyoverflow
1651 {
1652
1653
1654
1657
1658
1659
1660
1661
1662 yyoverflow (
YY_(
"memory exhausted"),
1663 &yyss1, yysize * sizeof (*yyssp),
1664 &yyvs1, yysize * sizeof (*yyvsp),
1665 &yystacksize);
1666
1667 yyss = yyss1;
1668 yyvs = yyvs1;
1669 }
1670#else
1671# ifndef YYSTACK_RELOCATE
1672 goto yyexhaustedlab;
1673# else
1674
1676 goto yyexhaustedlab;
1677 yystacksize *= 2;
1680
1681 {
1685 if (! yyptr)
1686 goto yyexhaustedlab;
1689# undef YYSTACK_RELOCATE
1690 if (yyss1 != yyssa)
1692 }
1693# endif
1694#endif
1695
1696 yyssp = yyss + yysize - 1;
1697 yyvsp = yyvs + yysize - 1;
1698
1699 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1700 (unsigned long int) yystacksize));
1701
1702 if (yyss + yystacksize - 1 <= yyssp)
1704 }
1705
1706 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1707
1710
1711 goto yybackup;
1712
1713
1714
1715
1716yybackup:
1717
1718
1719
1720
1721
1724 goto yydefault;
1725
1726
1727
1728
1730 {
1731 YYDPRINTF ((stderr,
"Reading a token: "));
1733 }
1734
1736 {
1738 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1739 }
1740 else
1741 {
1744 }
1745
1746
1747
1748 yyn += yytoken;
1750 goto yydefault;
1752 if (yyn <= 0)
1753 {
1755 goto yyerrlab;
1756 yyn = -yyn;
1757 goto yyreduce;
1758 }
1759
1760
1761
1762 if (yyerrstatus)
1763 yyerrstatus--;
1764
1765
1767
1768
1770
1771 yystate = yyn;
1775
1776 goto yynewstate;
1777
1778
1779
1780
1781
1782yydefault:
1784 if (yyn == 0)
1785 goto yyerrlab;
1786 goto yyreduce;
1787
1788
1789
1790
1791
1792yyreduce:
1793
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804 yyval = yyvsp[1-yylen];
1805
1806
1808 switch (yyn)
1809 {
1810 case 2:
1811#line 211 "config_gram.y"
1812 {
1813 (yyval) = (yyvsp[0]);
1814
1815 (yyval)->value.number_real = (yyval)->value.number;
1817 }
1818#line 1819 "config_gram.c"
1819 break;
1820
1821 case 3:
1822#line 217 "config_gram.y"
1823 {
1824 (yyval) = (yyvsp[0]);
1825 }
1826#line 1827 "config_gram.c"
1827 break;
1828
1829 case 10:
1830#line 236 "config_gram.y"
1831 {
1835 }
1836#line 1837 "config_gram.c"
1837 break;
1838
1839 case 11:
1840#line 242 "config_gram.y"
1841 {
1845 }
1846#line 1847 "config_gram.c"
1847 break;
1848
1849 case 12:
1850#line 248 "config_gram.y"
1851 {
1855 }
1856#line 1857 "config_gram.c"
1857 break;
1858
1859 case 13:
1860#line 254 "config_gram.y"
1861 {
1864 }
1865#line 1866 "config_gram.c"
1866 break;
1867
1868 case 14:
1869#line 259 "config_gram.y"
1870 {
1871 if ((yyvsp[-1])->primary ==
K_YES)
1873 else if ((yyvsp[-1])->primary ==
K_NO)
1876 }
1877#line 1878 "config_gram.c"
1878 break;
1879
1880 case 15:
1881#line 271 "config_gram.y"
1882 {
1884 char * id;
1886 yyerror(
"required parameter id not specified");
1888 }
1890 yyerror(
"programmer type not specified");
1892 }
1895 if (existing_prog) {
1896 {
1898 yywarning(
"programmer %s overwrites previous definition %s:%d.",
1901 }
1904 }
1906
1907
1909 }
1910#line 1911 "config_gram.c"
1911 break;
1912
1913 case 16:
1914#line 304 "config_gram.y"
1917 yyerror(
"could not create pgm instance");
1919 }
1922 }
1923#line 1924 "config_gram.c"
1924 break;
1925
1926 case 17:
1927#line 314 "config_gram.y"
1928 {
1931 yyerror(
"parent programmer %s not found", (yyvsp[0])->value.string);
1934 }
1937 yyerror(
"could not duplicate pgm instance");
1940 }
1944 }
1945#line 1946 "config_gram.c"
1946 break;
1947
1948 case 18:
1949#line 336 "config_gram.y"
1950 {
1954
1956 yyerror(
"required parameter id not specified");
1958 }
1959
1960
1961
1962
1963
1964
1969 yyerror(
"must specify page_size for paged memory");
1971 }
1973 yyerror(
"must specify num_pages for paged memory");
1975 }
1977 yyerror(
"page size (%u) * num_pages (%u) = "
1978 "%u does not match memory size (%u)",
1984 }
1985
1986 }
1987 }
1988
1990 if (existing_part) {
1991 {
1993 yywarning(
"part %s overwrites previous definition %s:%d.",
1997 }
2000 }
2003 }
2004#line 2005 "config_gram.c"
2005 break;
2006
2007 case 19:
2008#line 394 "config_gram.y"
2009 {
2012 yyerror(
"could not create part instance");
2014 }
2017 }
2018#line 2019 "config_gram.c"
2019 break;
2020
2021 case 20:
2022#line 404 "config_gram.y"
2023 {
2025 if (parent_part == NULL) {
2026 yyerror(
"can't find parent part");
2029 }
2030
2033 yyerror(
"could not duplicate part instance");
2036 }
2039
2041 }
2042#line 2043 "config_gram.c"
2043 break;
2044
2045 case 21:
2046#line 426 "config_gram.y"
2048#line 2049 "config_gram.c"
2049 break;
2050
2051 case 22:
2052#line 427 "config_gram.y"
2054#line 2055 "config_gram.c"
2055 break;
2056
2057 case 23:
2058#line 432 "config_gram.y"
2060#line 2061 "config_gram.c"
2061 break;
2062
2063 case 24:
2064#line 433 "config_gram.y"
2066#line 2067 "config_gram.c"
2067 break;
2068
2069 case 27:
2070#line 442 "config_gram.y"
2071 {
2072 {
2074 char *s;
2075 int do_yyabort = 0;
2078 if (!do_yyabort) {
2080 if (s == NULL) {
2081 do_yyabort = 1;
2082 } else {
2084 }
2085 }
2086
2088 }
2089 if (do_yyabort) {
2091 }
2092 }
2093 }
2094#line 2095 "config_gram.c"
2095 break;
2096
2097 case 32:
2098#line 473 "config_gram.y"
2099 {
2103 }
2104#line 2105 "config_gram.c"
2105 break;
2106
2107 case 33:
2108#line 478 "config_gram.y"
2109 {
2110 {
2113 }
2114 }
2115#line 2116 "config_gram.c"
2116 break;
2117
2118 case 35:
2119#line 491 "config_gram.y"
2120 {
2122 if (pgm_type == NULL) {
2123 yyerror(
"programmer type %s not found", (yyvsp[0])->value.string);
2126 }
2129}
2130#line 2131 "config_gram.c"
2131 break;
2132
2133 case 36:
2134#line 502 "config_gram.y"
2135 {
2136 yyerror(
"programmer type must be written as \"id_type\"");
2138}
2139#line 2140 "config_gram.c"
2140 break;
2141
2142 case 38:
2143#line 513 "config_gram.y"
2145#line 2146 "config_gram.c"
2146 break;
2147
2148 case 39:
2149#line 514 "config_gram.y"
2151#line 2152 "config_gram.c"
2152 break;
2153
2154 case 40:
2155#line 515 "config_gram.y"
2157#line 2158 "config_gram.c"
2158 break;
2159
2160 case 41:
2161#line 519 "config_gram.y"
2162 {
2163 {
2167 }
2168 }
2169#line 2170 "config_gram.c"
2170 break;
2171
2172 case 42:
2173#line 526 "config_gram.y"
2174 {
2175 {
2178 }
2179 }
2180#line 2181 "config_gram.c"
2181 break;
2182
2183 case 44:
2184#line 533 "config_gram.y"
2185 {
2186 {
2190 }
2191 }
2192#line 2193 "config_gram.c"
2193 break;
2194
2195 case 45:
2196#line 540 "config_gram.y"
2197 {
2198 {
2202 }
2203 }
2204#line 2205 "config_gram.c"
2205 break;
2206
2207 case 46:
2208#line 547 "config_gram.y"
2209 {
2210 {
2214 }
2215 }
2216#line 2217 "config_gram.c"
2217 break;
2218
2219 case 47:
2220#line 557 "config_gram.y"
2221 {
2222 {
2223
2226 }
2227 {
2228 int *ip =
malloc(
sizeof(
int));
2229 if (ip) {
2230 *ip = (yyvsp[0])->value.number;
2232 }
2234 }
2235 }
2236#line 2237 "config_gram.c"
2237 break;
2238
2239 case 48:
2240#line 572 "config_gram.y"
2241 {
2242 {
2243 int *ip =
malloc(
sizeof(
int));
2244 if (ip) {
2245 *ip = (yyvsp[0])->value.number;
2247 }
2249 }
2250 }
2251#line 2252 "config_gram.c"
2252 break;
2253
2254 case 49:
2255#line 585 "config_gram.y"
2257#line 2258 "config_gram.c"
2258 break;
2259
2260 case 50:
2261#line 587 "config_gram.y"
2263#line 2264 "config_gram.c"
2264 break;
2265
2266 case 52:
2267#line 593 "config_gram.y"
2269#line 2270 "config_gram.c"
2270 break;
2271
2272 case 54:
2273#line 599 "config_gram.y"
2275#line 2276 "config_gram.c"
2276 break;
2277
2278 case 58:
2279#line 612 "config_gram.y"
2281#line 2282 "config_gram.c"
2282 break;
2283
2284 case 59:
2285#line 616 "config_gram.y"
2287#line 2288 "config_gram.c"
2288 break;
2289
2290 case 61:
2291#line 617 "config_gram.y"
2293#line 2294 "config_gram.c"
2294 break;
2295
2296 case 63:
2297#line 618 "config_gram.y"
2299#line 2300 "config_gram.c"
2300 break;
2301
2302 case 64:
2303#line 618 "config_gram.y"
2305#line 2306 "config_gram.c"
2306 break;
2307
2308 case 65:
2309#line 619 "config_gram.y"
2311#line 2312 "config_gram.c"
2312 break;
2313
2314 case 66:
2315#line 619 "config_gram.y"
2317#line 2318 "config_gram.c"
2318 break;
2319
2320 case 67:
2321#line 620 "config_gram.y"
2323#line 2324 "config_gram.c"
2324 break;
2325
2326 case 69:
2327#line 621 "config_gram.y"
2329#line 2330 "config_gram.c"
2330 break;
2331
2332 case 71:
2333#line 622 "config_gram.y"
2335#line 2336 "config_gram.c"
2336 break;
2337
2338 case 73:
2339#line 623 "config_gram.y"
2341#line 2342 "config_gram.c"
2342 break;
2343
2344 case 75:
2345#line 624 "config_gram.y"
2347#line 2348 "config_gram.c"
2348 break;
2349
2350 case 77:
2351#line 625 "config_gram.y"
2353#line 2354 "config_gram.c"
2354 break;
2355
2356 case 99:
2357#line 664 "config_gram.y"
2358 {
2362 }
2363#line 2364 "config_gram.c"
2364 break;
2365
2366 case 100:
2367#line 671 "config_gram.y"
2368 {
2372 }
2373#line 2374 "config_gram.c"
2374 break;
2375
2376 case 101:
2377#line 677 "config_gram.y"
2378 {
2379 {
2380 yyerror(
"devicecode is deprecated, use "
2381 "stk500_devcode instead");
2383 }
2384 }
2385#line 2386 "config_gram.c"
2386 break;
2387
2388 case 102:
2389#line 685 "config_gram.y"
2390 {
2391 {
2394 }
2395 }
2396#line 2397 "config_gram.c"
2397 break;
2398
2399 case 103:
2400#line 692 "config_gram.y"
2401 {
2402 {
2405 }
2406 }
2407#line 2408 "config_gram.c"
2408 break;
2409
2410 case 104:
2411#line 699 "config_gram.y"
2412 {
2413 {
2420 }
2421 }
2422#line 2423 "config_gram.c"
2423 break;
2424
2425 case 105:
2426#line 710 "config_gram.y"
2427 {
2428 {
2431 }
2432 }
2433#line 2434 "config_gram.c"
2434 break;
2435
2436 case 106:
2437#line 717 "config_gram.y"
2438 {
2439 {
2441 unsigned nbytes;
2442 int ok;
2443
2445 nbytes = 0;
2446 ok = 1;
2447
2452 {
2454 nbytes++;
2455 }
2456 else
2457 {
2458 ok = 0;
2459 }
2461 }
2462 if (!ok)
2463 {
2464 yywarning(
"too many bytes in control stack");
2465 }
2466 }
2467 }
2468#line 2469 "config_gram.c"
2469 break;
2470
2471 case 107:
2472#line 748 "config_gram.y"
2473 {
2474 {
2476 unsigned nbytes;
2477 int ok;
2478
2480 nbytes = 0;
2481 ok = 1;
2482
2487 {
2489 nbytes++;
2490 }
2491 else
2492 {
2493 ok = 0;
2494 }
2496 }
2497 if (!ok)
2498 {
2499 yywarning(
"too many bytes in control stack");
2500 }
2501 }
2502 }
2503#line 2504 "config_gram.c"
2504 break;
2505
2506 case 108:
2507#line 779 "config_gram.y"
2508 {
2509 {
2511 unsigned nbytes;
2512 int ok;
2513
2514 nbytes = 0;
2515 ok = 1;
2516
2521 {
2523 nbytes++;
2524 }
2525 else
2526 {
2527 ok = 0;
2528 }
2530 }
2531 if (!ok)
2532 {
2533 yywarning(
"too many bytes in flash instructions");
2534 }
2535 }
2536 }
2537#line 2538 "config_gram.c"
2538 break;
2539
2540 case 109:
2541#line 809 "config_gram.y"
2542 {
2543 {
2545 unsigned nbytes;
2546 int ok;
2547
2548 nbytes = 0;
2549 ok = 1;
2550
2555 {
2557 nbytes++;
2558 }
2559 else
2560 {
2561 ok = 0;
2562 }
2564 }
2565 if (!ok)
2566 {
2567 yywarning(
"too many bytes in EEPROM instructions");
2568 }
2569 }
2570 }
2571#line 2572 "config_gram.c"
2572 break;
2573
2574 case 110:
2575#line 840 "config_gram.y"
2576 {
2579 }
2580#line 2581 "config_gram.c"
2581 break;
2582
2583 case 111:
2584#line 846 "config_gram.y"
2585 {
2588 }
2589#line 2590 "config_gram.c"
2590 break;
2591
2592 case 112:
2593#line 852 "config_gram.y"
2594 {
2597 }
2598#line 2599 "config_gram.c"
2599 break;
2600
2601 case 113:
2602#line 858 "config_gram.y"
2603 {
2606 else if ((yyvsp[0])->primary ==
K_IO)
2608
2610 }
2611#line 2612 "config_gram.c"
2612 break;
2613
2614 case 114:
2615#line 868 "config_gram.y"
2616 {
2619 }
2620#line 2621 "config_gram.c"
2621 break;
2622
2623 case 115:
2624#line 874 "config_gram.y"
2625 {
2628 }
2629#line 2630 "config_gram.c"
2630 break;
2631
2632 case 116:
2633#line 880 "config_gram.y"
2634 {
2637 }
2638#line 2639 "config_gram.c"
2639 break;
2640
2641 case 117:
2642#line 886 "config_gram.y"
2643 {
2646 }
2647#line 2648 "config_gram.c"
2648 break;
2649
2650 case 118:
2651#line 892 "config_gram.y"
2652 {
2655 }
2656#line 2657 "config_gram.c"
2657 break;
2658
2659 case 119:
2660#line 898 "config_gram.y"
2661 {
2664 }
2665#line 2666 "config_gram.c"
2666 break;
2667
2668 case 120:
2669#line 904 "config_gram.y"
2670 {
2673 }
2674#line 2675 "config_gram.c"
2675 break;
2676
2677 case 121:
2678#line 910 "config_gram.y"
2679 {
2682 }
2683#line 2684 "config_gram.c"
2684 break;
2685
2686 case 122:
2687#line 916 "config_gram.y"
2688 {
2691 }
2692#line 2693 "config_gram.c"
2693 break;
2694
2695 case 123:
2696#line 922 "config_gram.y"
2697 {
2700 }
2701#line 2702 "config_gram.c"
2702 break;
2703
2704 case 124:
2705#line 928 "config_gram.y"
2706 {
2709 }
2710#line 2711 "config_gram.c"
2711 break;
2712
2713 case 125:
2714#line 934 "config_gram.y"
2715 {
2718 }
2719#line 2720 "config_gram.c"
2720 break;
2721
2722 case 126:
2723#line 940 "config_gram.y"
2724 {
2727 }
2728#line 2729 "config_gram.c"
2729 break;
2730
2731 case 127:
2732#line 946 "config_gram.y"
2733 {
2736 }
2737#line 2738 "config_gram.c"
2738 break;
2739
2740 case 128:
2741#line 952 "config_gram.y"
2742 {
2745 }
2746#line 2747 "config_gram.c"
2747 break;
2748
2749 case 129:
2750#line 958 "config_gram.y"
2751 {
2754 }
2755#line 2756 "config_gram.c"
2756 break;
2757
2758 case 130:
2759#line 964 "config_gram.y"
2760 {
2763 }
2764#line 2765 "config_gram.c"
2765 break;
2766
2767 case 131:
2768#line 970 "config_gram.y"
2769 {
2772 }
2773#line 2774 "config_gram.c"
2774 break;
2775
2776 case 132:
2777#line 976 "config_gram.y"
2778 {
2781 }
2782#line 2783 "config_gram.c"
2783 break;
2784
2785 case 133:
2786#line 982 "config_gram.y"
2787 {
2790 }
2791#line 2792 "config_gram.c"
2792 break;
2793
2794 case 134:
2795#line 988 "config_gram.y"
2796 {
2799 }
2800#line 2801 "config_gram.c"
2801 break;
2802
2803 case 135:
2804#line 994 "config_gram.y"
2805 {
2808 }
2809#line 2810 "config_gram.c"
2810 break;
2811
2812 case 136:
2813#line 1000 "config_gram.y"
2814 {
2817 }
2818#line 2819 "config_gram.c"
2819 break;
2820
2821 case 137:
2822#line 1006 "config_gram.y"
2823 {
2826 }
2827#line 2828 "config_gram.c"
2828 break;
2829
2830 case 138:
2831#line 1012 "config_gram.y"
2832 {
2835 }
2836#line 2837 "config_gram.c"
2837 break;
2838
2839 case 139:
2840#line 1018 "config_gram.y"
2841 {
2844 }
2845#line 2846 "config_gram.c"
2846 break;
2847
2848 case 140:
2849#line 1024 "config_gram.y"
2850 {
2853 }
2854#line 2855 "config_gram.c"
2855 break;
2856
2857 case 141:
2858#line 1030 "config_gram.y"
2859 {
2862 }
2863#line 2864 "config_gram.c"
2864 break;
2865
2866 case 142:
2867#line 1036 "config_gram.y"
2868 {
2869 if ((yyvsp[0])->primary ==
K_YES)
2871 else if ((yyvsp[0])->primary ==
K_NO)
2873
2875 }
2876#line 2877 "config_gram.c"
2877 break;
2878
2879 case 143:
2880#line 1046 "config_gram.y"
2881 {
2882 if ((yyvsp[0])->primary ==
K_YES)
2884 else if ((yyvsp[0])->primary ==
K_NO)
2886
2888 }
2889#line 2890 "config_gram.c"
2890 break;
2891
2892 case 144:
2893#line 1056 "config_gram.y"
2894 {
2895 if ((yyvsp[0])->primary ==
K_YES)
2897 else if ((yyvsp[0])->primary ==
K_NO)
2899
2901 }
2902#line 2903 "config_gram.c"
2903 break;
2904
2905 case 145:
2906#line 1066 "config_gram.y"
2907 {
2908 if ((yyvsp[0])->primary ==
K_YES)
2910 else if ((yyvsp[0])->primary ==
K_NO)
2912
2914 }
2915#line 2916 "config_gram.c"
2916 break;
2917
2918 case 146:
2919#line 1076 "config_gram.y"
2920 {
2921 if ((yyvsp[0])->primary ==
K_YES)
2923 else if ((yyvsp[0])->primary ==
K_NO)
2925
2927 }
2928#line 2929 "config_gram.c"
2929 break;
2930
2931 case 147:
2932#line 1086 "config_gram.y"
2933 {
2934 if ((yyvsp[0])->primary ==
K_YES)
2936 else if ((yyvsp[0])->primary ==
K_NO)
2938
2940 }
2941#line 2942 "config_gram.c"
2942 break;
2943
2944 case 148:
2945#line 1096 "config_gram.y"
2946 {
2947 if ((yyvsp[0])->primary ==
K_YES)
2949 else if ((yyvsp[0])->primary ==
K_NO)
2951
2953 }
2954#line 2955 "config_gram.c"
2955 break;
2956
2957 case 149:
2958#line 1106 "config_gram.y"
2959 {
2960 if ((yyvsp[0])->primary ==
K_YES)
2962 else if ((yyvsp[0])->primary ==
K_NO)
2964
2966 }
2967#line 2968 "config_gram.c"
2968 break;
2969
2970 case 150:
2971#line 1116 "config_gram.y"
2972 {
2975 }
2976#line 2977 "config_gram.c"
2977 break;
2978
2979 case 151:
2980#line 1122 "config_gram.y"
2981 {
2984 }
2985#line 2986 "config_gram.c"
2986 break;
2987
2988 case 152:
2989#line 1128 "config_gram.y"
2990 {
2993 }
2994#line 2995 "config_gram.c"
2995 break;
2996
2997 case 153:
2998#line 1134 "config_gram.y"
2999 {
3002 }
3003#line 3004 "config_gram.c"
3004 break;
3005
3006 case 154:
3007#line 1140 "config_gram.y"
3008 {
3011 }
3012#line 3013 "config_gram.c"
3013 break;
3014
3015 case 155:
3016#line 1146 "config_gram.y"
3017 {
3020 }
3021#line 3022 "config_gram.c"
3022 break;
3023
3024 case 156:
3025#line 1152 "config_gram.y"
3026 {
3029 }
3030#line 3031 "config_gram.c"
3031 break;
3032
3033 case 157:
3034#line 1158 "config_gram.y"
3035 {
3036 if ((yyvsp[0])->primary ==
K_YES)
3038 else if ((yyvsp[0])->primary ==
K_NO)
3040
3042 }
3043#line 3044 "config_gram.c"
3044 break;
3045
3046 case 158:
3047#line 1168 "config_gram.y"
3048 {
3049 if ((yyvsp[0])->primary ==
K_YES) {
3052 }
3053 else if ((yyvsp[0])->primary ==
K_NO) {
3056 }
3057 else if ((yyvsp[0])->primary ==
K_PSEUDO) {
3060 }
3061
3062
3064 }
3065#line 3066 "config_gram.c"
3066 break;
3067
3068 case 159:
3069#line 1187 "config_gram.y"
3070 {
3071 switch ((yyvsp[0])->primary) {
3074 break;
3077 break;
3078 }
3079
3081 }
3082#line 3083 "config_gram.c"
3083 break;
3084
3085 case 160:
3086#line 1210 "config_gram.y"
3087 {
3090 yyerror(
"could not create mem instance");
3093 }
3097 }
3098#line 3099 "config_gram.c"
3099 break;
3100
3101 case 161:
3102#line 1222 "config_gram.y"
3103 {
3105
3107 if (existing_mem != NULL) {
3110 }
3113 }
3114#line 3115 "config_gram.c"
3115 break;
3116
3117 case 162:
3118#line 1234 "config_gram.y"
3119 {
3120 {
3121 int opnum;
3123
3127 if (op == NULL) {
3128 yyerror(
"could not create opcode instance");
3131 }
3134
3136 }
3138
3140 }
3141 }
3142#line 3143 "config_gram.c"
3143 break;
3144
3145 case 167:
3146#line 1273 "config_gram.y"
3147 {
3150 }
3151#line 3152 "config_gram.c"
3152 break;
3153
3154 case 168:
3155#line 1279 "config_gram.y"
3156 {
3159 }
3160#line 3161 "config_gram.c"
3161 break;
3162
3163 case 169:
3164#line 1286 "config_gram.y"
3165 {
3168 }
3169#line 3170 "config_gram.c"
3170 break;
3171
3172 case 170:
3173#line 1292 "config_gram.y"
3174 {
3177 }
3178#line 3179 "config_gram.c"
3179 break;
3180
3181 case 171:
3182#line 1298 "config_gram.y"
3183 {
3186 }
3187#line 3188 "config_gram.c"
3188 break;
3189
3190 case 172:
3191#line 1304 "config_gram.y"
3192 {
3195 }
3196#line 3197 "config_gram.c"
3197 break;
3198
3199 case 173:
3200#line 1310 "config_gram.y"
3201 {
3204 }
3205#line 3206 "config_gram.c"
3206 break;
3207
3208 case 174:
3209#line 1316 "config_gram.y"
3210 {
3213 }
3214#line 3215 "config_gram.c"
3215 break;
3216
3217 case 175:
3218#line 1322 "config_gram.y"
3219 {
3222 }
3223#line 3224 "config_gram.c"
3224 break;
3225
3226 case 176:
3227#line 1328 "config_gram.y"
3228 {
3231 }
3232#line 3233 "config_gram.c"
3233 break;
3234
3235 case 177:
3236#line 1335 "config_gram.y"
3237 {
3240 }
3241#line 3242 "config_gram.c"
3242 break;
3243
3244 case 178:
3245#line 1341 "config_gram.y"
3246 {
3249 }
3250#line 3251 "config_gram.c"
3251 break;
3252
3253 case 179:
3254#line 1347 "config_gram.y"
3255 {
3258 }
3259#line 3260 "config_gram.c"
3260 break;
3261
3262 case 180:
3263#line 1353 "config_gram.y"
3264 {
3267 }
3268#line 3269 "config_gram.c"
3269 break;
3270
3271 case 181:
3272#line 1359 "config_gram.y"
3273 {
3276 }
3277#line 3278 "config_gram.c"
3278 break;
3279
3280 case 182:
3281#line 1365 "config_gram.y"
3282 {
3283 {
3284 int opnum;
3286
3290 if (op == NULL) {
3291 yyerror(
"could not create opcode instance");
3294 }
3297
3299 }
3301
3303 }
3304 }
3305#line 3306 "config_gram.c"
3306 break;
3307
3308
3309#line 3310 "config_gram.c"
3310 default: break;
3311 }
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3324
3326 yylen = 0;
3328
3329 *++yyvsp = yyval;
3330
3331
3332
3333
3334
3336
3338 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
3340 else
3342
3343 goto yynewstate;
3344
3345
3346
3347
3348
3349yyerrlab:
3350
3351
3353
3354
3355 if (!yyerrstatus)
3356 {
3358#if ! YYERROR_VERBOSE
3360#else
3361# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3362 yyssp, yytoken)
3363 {
3364 char const *yymsgp =
YY_(
"syntax error");
3365 int yysyntax_error_status;
3366 yysyntax_error_status = YYSYNTAX_ERROR;
3367 if (yysyntax_error_status == 0)
3368 yymsgp = yymsg;
3369 else if (yysyntax_error_status == 1)
3370 {
3371 if (yymsg != yymsgbuf)
3374 if (!yymsg)
3375 {
3376 yymsg = yymsgbuf;
3377 yymsg_alloc = sizeof yymsgbuf;
3378 yysyntax_error_status = 2;
3379 }
3380 else
3381 {
3382 yysyntax_error_status = YYSYNTAX_ERROR;
3383 yymsgp = yymsg;
3384 }
3385 }
3387 if (yysyntax_error_status == 2)
3388 goto yyexhaustedlab;
3389 }
3390# undef YYSYNTAX_ERROR
3391#endif
3392 }
3393
3394
3395
3396 if (yyerrstatus == 3)
3397 {
3398
3399
3400
3402 {
3403
3406 }
3407 else
3408 {
3412 }
3413 }
3414
3415
3416
3417 goto yyerrlab1;
3418
3419
3420
3421
3422
3423yyerrorlab:
3424
3425
3426
3427
3428 if ( 0)
3429 goto yyerrorlab;
3430
3431
3432
3434 yylen = 0;
3436 yystate = *yyssp;
3437 goto yyerrlab1;
3438
3439
3440
3441
3442
3443yyerrlab1:
3444 yyerrstatus = 3;
3445
3446 for (;;)
3447 {
3450 {
3453 {
3455 if (0 < yyn)
3456 break;
3457 }
3458 }
3459
3460
3461 if (yyssp == yyss)
3463
3464
3468 yystate = *yyssp;
3470 }
3471
3475
3476
3477
3479
3480 yystate = yyn;
3481 goto yynewstate;
3482
3483
3484
3485
3486
3487yyacceptlab:
3488 yyresult = 0;
3489 goto yyreturn;
3490
3491
3492
3493
3494yyabortlab:
3495 yyresult = 1;
3496 goto yyreturn;
3497
3498#if !defined yyoverflow || YYERROR_VERBOSE
3499
3500
3501
3502yyexhaustedlab:
3504 yyresult = 2;
3505
3506#endif
3507
3508yyreturn:
3510 {
3511
3512
3516 }
3517
3518
3521 while (yyssp != yyss)
3522 {
3526 }
3527#ifndef yyoverflow
3528 if (yyss != yyssa)
3530#endif
3531#if YYERROR_VERBOSE
3532 if (yymsg != yymsgbuf)
3534#endif
3535 return yyresult;
3536}
OPCODE * avr_new_opcode(void)
Definition avrpart.c:33
AVRMEM * avr_new_memtype(void)
Definition avrpart.c:248
AVRPART * avr_new_part(void)
Definition avrpart.c:443
AVRPART * avr_dup_part(AVRPART *d)
Definition avrpart.c:473
AVRPART * locate_part(LISTID parts, char *partdesc)
Definition avrpart.c:514
void avr_free_mem(AVRMEM *m)
Definition avrpart.c:332
void avr_free_opcode(OPCODE *op)
Definition avrpart.c:70
AVRMEM * avr_locate_mem(AVRPART *p, char *desc)
Definition avrpart.c:354
void avr_free_part(AVRPART *d)
Definition avrpart.c:498
LISTID number_list
Definition config.c:47
AVRPART * current_part
Definition config.c:49
LISTID part_list
Definition config.c:51
char default_serial[PATH_MAX]
Definition config.c:39
double default_bitclock
Definition config.c:40
const char * infile
Definition config.c:55
int lineno
Definition config.c:54
LISTID string_list
Definition config.c:46
AVRMEM * current_mem
Definition config.c:50
LISTID programmers
Definition config.c:52
PROGRAMMER * current_prog
Definition config.c:48
char * dup_string(const char *str)
Definition config.c:307
int default_safemode
Definition config.c:41
char default_programmer[MAX_STR_CONST]
Definition config.c:37
void free_token(TOKEN *tkn)
Definition config.c:145
void free_tokens(int n,...)
Definition config.c:161
char default_parallel[PATH_MAX]
Definition config.c:38
int number
Definition config.h:35
#define MAX_STR_CONST
Definition config.h:29
VALUE value
Definition config.h:44
@ V_NUM_REAL
Definition config.h:31
char * string
Definition config.h:37
#define K_RESET
Definition config_gram.c:325
static const yytype_uint8 yyr1[]
Definition config_gram.c:1090
#define K_DEDICATED
Definition config_gram.c:288
int yynerrs
Definition config_gram.c:1568
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition config_gram.c:521
#define YYMAXDEPTH
Definition config_gram.c:1316
#define YYSTACK_FREE
Definition config_gram.c:569
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
Definition config_gram.c:1297
int yyerror(char *errmsg,...)
Definition config.c:93
#define K_SCK
Definition config_gram.c:328
#define YY_(Msgid)
Definition config_gram.c:471
int yywarning(char *errmsg,...)
Definition config.c:110
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition config_gram.c:522
#define YYEOF
Definition config_gram.c:1141
#define YYABORT
Definition config_gram.c:1144
#define yypact_value_is_default(Yystate)
Definition config_gram.c:823
#define YYSTACK_BYTES(N)
Definition config_gram.c:613
yytype_int16 yyss_alloc
Definition config_gram.c:604
#define K_NO
Definition config_gram.c:341
static const yytype_int16 yydefgoto[]
Definition config_gram.c:939
#define YY_REDUCE_PRINT(Rule)
Definition config_gram.c:1299
static const yytype_int16 yypact[]
Definition config_gram.c:833
YYSTYPE yylval
Definition config_gram.c:1566
static int parse_cmdbits(OPCODE *op)
Definition config_gram.c:3617
#define YYFINAL
Definition config_gram.c:658
static const yytype_int16 yypgoto[]
Definition config_gram.c:929
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep)
Definition config_gram.c:1547
#define YYNTOKENS
Definition config_gram.c:663
#define YY_STACK_PRINT(Bottom, Top)
Definition config_gram.c:1298
static int pin_name
Definition config_gram.c:95
#define YYSIZE_T
Definition config_gram.c:455
static int assign_pin(int pinno, TOKEN *v, int invert)
Definition config_gram.c:3554
YYSTYPE yyvs_alloc
Definition config_gram.c:605
int yylex(void)
Definition lexer.l:57
int yychar
Definition config_gram.c:1563
#define K_YES
Definition config_gram.c:342
static const yytype_uint8 yyr2[]
Definition config_gram.c:1114
#define YYACCEPT
Definition config_gram.c:1143
#define YYTRANSLATE(YYX)
Definition config_gram.c:676
#define K_IO
Definition config_gram.c:302
static const yytype_uint8 yystos[]
Definition config_gram.c:1043
#define K_PSEUDO
Definition config_gram.c:319
#define YYTERROR
Definition config_gram.c:1168
static int which_opcode(TOKEN *opcode)
Definition config_gram.c:3594
static int assign_pin_list(int invert)
Definition config_gram.c:3571
static const yytype_uint16 yytable[]
Definition config_gram.c:951
short int yytype_int16
Definition config_gram.c:445
#define YYEMPTY
Definition config_gram.c:1140
#define YYLAST
Definition config_gram.c:660
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Definition config_gram.c:624
#define YYINITDEPTH
Definition config_gram.c:1305
#define yytable_value_is_error(Yytable_value)
Definition config_gram.c:828
static const yytype_int16 yycheck[]
Definition config_gram.c:996
#define YYSTACK_ALLOC
Definition config_gram.c:568
#define YYDPRINTF(Args)
Definition config_gram.c:1296
static const yytype_uint8 yydefact[]
Definition config_gram.c:882
Definition config_gram.c:603
int YYSTYPE
Definition config_gram.h:320
int ladd(LISTID lid, void *p)
Definition lists.c:547
int poweroffdelay
Definition libavrdude.h:252
void * lrmv_d(LISTID lid, void *data_ptr)
Definition lists.c:1111
enum ctl_stack_t ctl_stack_type
Definition libavrdude.h:243
int ocdrev
Definition libavrdude.h:273
int resetdelay
Definition libavrdude.h:256
#define AVRPART_IS_AT90S1200
Definition libavrdude.h:207
int progmodedelay
Definition libavrdude.h:249
unsigned char idr
Definition libavrdude.h:267
void pin_clear_all(struct pindef_t *const pindef)
Definition pindefs.c:50
PROGRAMMER * pgm_dup(const PROGRAMMER *const src)
Definition pgm.c:155
int chiperasepulsewidth
Definition libavrdude.h:257
int resetdelayus
Definition libavrdude.h:254
unsigned char eeprom_instr[EEPROM_INSTR_SIZE]
Definition libavrdude.h:246
#define AVRPART_PSEUDOPARALLEL
Definition libavrdude.h:197
unsigned char pagel
Definition libavrdude.h:223
#define PUSH(s, d)
Definition libavrdude.h:77
#define AVRPART_ALLOWFULLPAGEBITSTREAM
Definition libavrdude.h:199
int resetdelayms
Definition libavrdude.h:253
unsigned short eecr
Definition libavrdude.h:270
unsigned short usbpid
Definition libavrdude.h:226
#define AVRPART_HAS_JTAG
Definition libavrdude.h:198
int blocksize
Definition libavrdude.h:300
int num_pages
Definition libavrdude.h:288
int hvleavestabdelay
Definition libavrdude.h:255
int programfusepolltimeout
Definition libavrdude.h:261
LISTID lcreat(void *liststruct, int poolsize)
Definition lists.c:410
char id[AVR_IDLEN]
Definition libavrdude.h:219
unsigned char readback[2]
Definition libavrdude.h:296
@ CTL_STACK_HVSP
Definition libavrdude.h:178
@ CTL_STACK_PP
Definition libavrdude.h:177
#define CTL_STACK_SIZE
Definition libavrdude.h:211
int synchcycles
Definition libavrdude.h:264
int synchloops
Definition libavrdude.h:235
void * ldata(LNODEID)
Definition lists.c:720
int chiperasepolltimeout
Definition libavrdude.h:258
#define PGM_DESCLEN
Definition libavrdude.h:587
#define AVR_IDLEN
Definition libavrdude.h:210
int stabdelay
Definition libavrdude.h:233
#define AVR_MEMDESCLEN
Definition libavrdude.h:282
#define AVRPART_AVR32
Definition libavrdude.h:203
int size
Definition libavrdude.h:286
#define AVRPART_PARALLELOK
Definition libavrdude.h:196
int pollindex
Definition libavrdude.h:302
int lsize(LISTID)
Definition lists.c:729
int max_write_delay
Definition libavrdude.h:291
int pollindex
Definition libavrdude.h:237
int paged
Definition libavrdude.h:285
unsigned char controlstack[CTL_STACK_SIZE]
Definition libavrdude.h:244
unsigned int offset
Definition libavrdude.h:289
unsigned char pollvalue
Definition libavrdude.h:238
#define EEPROM_INSTR_SIZE
Definition libavrdude.h:213
int mode
Definition libavrdude.h:298
@ CONNTYPE_PARALLEL
Definition libavrdude.h:611
@ CONNTYPE_USB
Definition libavrdude.h:613
@ CONNTYPE_SERIAL
Definition libavrdude.h:612
void * LNODEID
Definition libavrdude.h:64
int chip_erase_delay
Definition libavrdude.h:222
char desc[AVR_DESCLEN]
Definition libavrdude.h:218
int hventerstabdelay
Definition libavrdude.h:248
int programlockpulsewidth
Definition libavrdude.h:262
char config_file[PATH_MAX]
Definition libavrdude.h:278
PROGRAMMER * locate_programmer(LISTID programmers, const char *configid)
Definition pgm.c:263
int cmdexedelay
Definition libavrdude.h:234
int avr910_devcode
Definition libavrdude.h:221
void ldestroy_cb(LISTID lid, void(*ucleanup)(void *data_ptr))
Definition lists.c:480
unsigned char signature[3]
Definition libavrdude.h:225
LNODEID lnext(LNODEID)
Definition lists.c:704
unsigned char rampz
Definition libavrdude.h:268
int min_write_delay
Definition libavrdude.h:290
int bytedelay
Definition libavrdude.h:236
#define AVRPART_HAS_PDI
Definition libavrdude.h:202
int page_size
Definition libavrdude.h:287
#define AVRPART_SERIALOK
Definition libavrdude.h:195
LNODEID lfirst(LISTID)
Definition lists.c:688
int programfusepulsewidth
Definition libavrdude.h:260
int postdelay
Definition libavrdude.h:240
int lineno
Definition libavrdude.h:279
int timeout
Definition libavrdude.h:232
int togglevtg
Definition libavrdude.h:251
@ PIN_LED_VFY
Definition libavrdude.h:362
@ PIN_AVR_RESET
Definition libavrdude.h:355
@ PIN_AVR_MISO
Definition libavrdude.h:358
@ PIN_LED_RDY
Definition libavrdude.h:360
@ PIN_LED_ERR
Definition libavrdude.h:359
@ PIN_AVR_SCK
Definition libavrdude.h:356
@ PIN_LED_PGM
Definition libavrdude.h:361
@ PIN_AVR_MOSI
Definition libavrdude.h:357
@ PPI_AVR_BUFF
Definition libavrdude.h:354
@ PPI_AVR_VCC
Definition libavrdude.h:353
#define AVRPART_HAS_DW
Definition libavrdude.h:201
int delay
Definition libavrdude.h:299
void * lrmv_n(LISTID lid, unsigned int n)
Definition lists.c:1186
int chiperasetime
Definition libavrdude.h:259
void pgm_free(PROGRAMMER *const p)
Definition pgm.c:141
int reset_disposition
Definition libavrdude.h:227
@ RESET_DEDICATED
Definition libavrdude.h:171
@ RESET_IO
Definition libavrdude.h:172
int readsize
Definition libavrdude.h:301
unsigned int nvm_base
Definition libavrdude.h:272
OPCODE * op[AVR_OP_MAX]
Definition libavrdude.h:275
#define PGM_USBSTRINGLEN
Definition libavrdude.h:590
#define AVRPART_HAS_TPI
Definition libavrdude.h:206
#define FLASH_INSTR_SIZE
Definition libavrdude.h:212
unsigned char flash_instr[FLASH_INSTR_SIZE]
Definition libavrdude.h:245
int pwroff_after_write
Definition libavrdude.h:292
const PROGRAMMER_TYPE * locate_programmer_type(const char *id)
Definition pgm_type.c:99
int pollmethod
Definition libavrdude.h:241
#define AVR_DESCLEN
Definition libavrdude.h:209
int hvspcmdexedelay
Definition libavrdude.h:265
unsigned char bs2
Definition libavrdude.h:224
#define AVRPART_ENABLEPAGEPROGRAMMING
Definition libavrdude.h:200
#define PATH_MAX
Definition libavrdude.h:51
unsigned flags
Definition libavrdude.h:230
int programlockpolltimeout
Definition libavrdude.h:263
int retry_pulse
Definition libavrdude.h:228
OPCODE * op[AVR_OP_MAX]
Definition libavrdude.h:306
PROGRAMMER * pgm_new(void)
Definition pgm.c:64
unsigned char spmcr
Definition libavrdude.h:269
char desc[AVR_MEMDESCLEN]
Definition libavrdude.h:284
unsigned int mcu_base
Definition libavrdude.h:271
int stk500_devcode
Definition libavrdude.h:220
LISTID mem
Definition libavrdude.h:277
int predelay
Definition libavrdude.h:239
int latchcycles
Definition libavrdude.h:250
Definition libavrdude.h:283
Definition libavrdude.h:217
Definition libavrdude.h:190
static PROGRAMMER * pgm
Definition main.c:192
Definition libavrdude.h:616
int usbvid
Definition libavrdude.h:631
char usbdev[PGM_USBSTRINGLEN]
Definition libavrdude.h:633
char desc[PGM_DESCLEN]
Definition libavrdude.h:618
LISTID id
Definition libavrdude.h:617
char config_file[PATH_MAX]
Definition libavrdude.h:687
int baudrate
Definition libavrdude.h:630
struct pindef_t pin[N_PINS]
Definition libavrdude.h:623
void(* initpgm)(struct programmer_t *pgm)
Definition libavrdude.h:621
LISTID usbpid
Definition libavrdude.h:632
conntype_t conntype
Definition libavrdude.h:627
char usbproduct[PGM_USBSTRINGLEN]
Definition libavrdude.h:634
char usbvendor[PGM_USBSTRINGLEN]
Definition libavrdude.h:634
char usbsn[PGM_USBSTRINGLEN]
Definition libavrdude.h:633
int lineno
Definition libavrdude.h:688
Definition libavrdude.h:897
void(* initpgm)(struct programmer_t *pgm)
Definition libavrdude.h:899