~ubuntu-branches/ubuntu/trusty/gengetopt/trusty

« back to all changes in this revision

Viewing changes to src/parser.cc

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2007-12-05 17:21:08 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20071205172108-ec2otggr7k1qlyny
Tags: 2.21-1ubuntu1
* Merge with Debian; remaining changes:
  - Fix build failures with g++-4.3.

Show diffs side-by-side

added added

removed removed

Lines of Context:
263
263
    struct gengetopt_option *gengetopt_option;
264
264
    struct multiple_size *multiple_size;
265
265
}
266
 
/* Line 193 of yacc.c.  */
 
266
/* Line 187 of yacc.c.  */
267
267
#line 268 "parser.cc"
268
268
        YYSTYPE;
269
269
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
599
599
{
600
600
       0,   174,   174,   176,   181,   182,   183,   184,   185,   186,
601
601
     187,   188,   189,   190,   191,   196,   216,   236,   256,   276,
602
 
     297,   304,   311,   318,   329,   348,   370,   371,   374,   379,
603
 
     384,   389,   394,   399,   404,   409,   414,   422,   427,   432,
604
 
     437,   441,   442,   446,   447,   448,   452,   453,   457,   458,
605
 
     462,   463,   467,   468,   472,   476,   477,   478,   479,   480
 
602
     297,   304,   311,   318,   329,   348,   370,   371,   374,   380,
 
603
     385,   390,   395,   400,   405,   410,   415,   423,   428,   433,
 
604
     438,   442,   443,   447,   448,   449,   453,   454,   458,   459,
 
605
     463,   464,   468,   469,   473,   477,   478,   479,   480,   481
606
606
};
607
607
#endif
608
608
 
1762
1762
    {
1763
1763
                                (yyval.gengetopt_option) = (yyvsp[(1) - (2)].gengetopt_option);
1764
1764
                                (yyval.gengetopt_option)->required = (yyvsp[(2) - (2)].boolean);
 
1765
                                (yyval.gengetopt_option)->required_set = true;
1765
1766
                          }
1766
1767
    break;
1767
1768
 
1768
1769
  case 29:
1769
 
#line 380 "parser.yy"
 
1770
#line 381 "parser.yy"
1770
1771
    {
1771
1772
                                (yyval.gengetopt_option) = (yyvsp[(1) - (2)].gengetopt_option);
1772
1773
                                (yyval.gengetopt_option)->type = (yyvsp[(2) - (2)].argtype);
1774
1775
    break;
1775
1776
 
1776
1777
  case 30:
1777
 
#line 385 "parser.yy"
 
1778
#line 386 "parser.yy"
1778
1779
    {
1779
1780
                                (yyval.gengetopt_option) = (yyvsp[(1) - (4)].gengetopt_option);
1780
1781
                                (yyval.gengetopt_option)->type_str = strdup((yyvsp[(4) - (4)].str));
1782
1783
    break;
1783
1784
 
1784
1785
  case 31:
1785
 
#line 390 "parser.yy"
 
1786
#line 391 "parser.yy"
1786
1787
    {
1787
1788
                                (yyval.gengetopt_option) = (yyvsp[(1) - (4)].gengetopt_option);
1788
1789
                                (yyval.gengetopt_option)->acceptedvalues = (yyvsp[(4) - (4)].ValueList);
1790
1791
    break;
1791
1792
 
1792
1793
  case 32:
1793
 
#line 395 "parser.yy"
 
1794
#line 396 "parser.yy"
1794
1795
    {
1795
1796
                                (yyval.gengetopt_option) = (yyvsp[(1) - (4)].gengetopt_option);
1796
1797
                                (yyval.gengetopt_option)->default_string = strdup((yyvsp[(4) - (4)].str));
1798
1799
    break;
1799
1800
 
1800
1801
  case 33:
1801
 
#line 400 "parser.yy"
 
1802
#line 401 "parser.yy"
1802
1803
    {
1803
1804
                (yyval.gengetopt_option) = (yyvsp[(1) - (4)].gengetopt_option);
1804
1805
                (yyval.gengetopt_option)->group_value = strdup((yyvsp[(4) - (4)].str));
1806
1807
    break;
1807
1808
 
1808
1809
  case 34:
1809
 
#line 405 "parser.yy"
 
1810
#line 406 "parser.yy"
1810
1811
    {
1811
1812
                (yyval.gengetopt_option) = (yyvsp[(1) - (4)].gengetopt_option);
1812
1813
                (yyval.gengetopt_option)->dependon = strdup((yyvsp[(4) - (4)].str));
1814
1815
    break;
1815
1816
 
1816
1817
  case 35:
1817
 
#line 410 "parser.yy"
 
1818
#line 411 "parser.yy"
1818
1819
    {
1819
1820
                                (yyval.gengetopt_option) = (yyvsp[(1) - (2)].gengetopt_option);
1820
1821
                                (yyval.gengetopt_option)->arg_is_optional = true;
1822
1823
    break;
1823
1824
 
1824
1825
  case 36:
1825
 
#line 415 "parser.yy"
 
1826
#line 416 "parser.yy"
1826
1827
    {
1827
1828
                                (yyval.gengetopt_option) = (yyvsp[(1) - (3)].gengetopt_option);
1828
1829
                                (yyval.gengetopt_option)->multiple = true;
1833
1834
    break;
1834
1835
 
1835
1836
  case 37:
1836
 
#line 423 "parser.yy"
 
1837
#line 424 "parser.yy"
1837
1838
    {
1838
1839
          (yyval.gengetopt_option) = (yyvsp[(1) - (2)].gengetopt_option);
1839
1840
          (yyval.gengetopt_option)->type = ARG_FLAG;
1841
1842
    break;
1842
1843
 
1843
1844
  case 38:
1844
 
#line 428 "parser.yy"
 
1845
#line 429 "parser.yy"
1845
1846
    {
1846
1847
          (yyval.gengetopt_option) = (yyvsp[(1) - (2)].gengetopt_option);
1847
1848
          (yyval.gengetopt_option)->hidden = true;
1849
1850
    break;
1850
1851
 
1851
1852
  case 39:
1852
 
#line 433 "parser.yy"
 
1853
#line 434 "parser.yy"
1853
1854
    {
1854
1855
          (yyval.gengetopt_option) = (yyvsp[(1) - (2)].gengetopt_option);
1855
1856
          (yyval.gengetopt_option)->flagstat = (yyvsp[(2) - (2)].boolean);
1857
1858
    break;
1858
1859
 
1859
1860
  case 40:
1860
 
#line 437 "parser.yy"
 
1861
#line 438 "parser.yy"
1861
1862
    { (yyval.gengetopt_option) = new gengetopt_option; }
1862
1863
    break;
1863
1864
 
1864
1865
  case 41:
1865
 
#line 441 "parser.yy"
 
1866
#line 442 "parser.yy"
1866
1867
    { (yyval.boolean) = 1; }
1867
1868
    break;
1868
1869
 
1869
1870
  case 42:
1870
 
#line 442 "parser.yy"
 
1871
#line 443 "parser.yy"
1871
1872
    { (yyval.boolean) = 0; }
1872
1873
    break;
1873
1874
 
1874
1875
  case 43:
1875
 
#line 446 "parser.yy"
 
1876
#line 447 "parser.yy"
1876
1877
    { (yyval.boolean) = 0; }
1877
1878
    break;
1878
1879
 
1879
1880
  case 44:
1880
 
#line 447 "parser.yy"
 
1881
#line 448 "parser.yy"
1881
1882
    { (yyval.boolean) = 1; }
1882
1883
    break;
1883
1884
 
1884
1885
  case 45:
1885
 
#line 448 "parser.yy"
 
1886
#line 449 "parser.yy"
1886
1887
    { (yyval.boolean) = 0; }
1887
1888
    break;
1888
1889
 
1889
1890
  case 46:
1890
 
#line 452 "parser.yy"
 
1891
#line 453 "parser.yy"
1891
1892
    { (yyval.boolean) = 1; }
1892
1893
    break;
1893
1894
 
1894
1895
  case 47:
1895
 
#line 453 "parser.yy"
 
1896
#line 454 "parser.yy"
1896
1897
    { (yyval.boolean) = 0; }
1897
1898
    break;
1898
1899
 
1899
1900
  case 48:
1900
 
#line 457 "parser.yy"
 
1901
#line 458 "parser.yy"
1901
1902
    { (yyval.str) = 0; }
1902
1903
    break;
1903
1904
 
1904
1905
  case 49:
1905
 
#line 458 "parser.yy"
 
1906
#line 459 "parser.yy"
1906
1907
    { (yyval.str) = (yyvsp[(3) - (3)].str); }
1907
1908
    break;
1908
1909
 
1909
1910
  case 50:
1910
 
#line 462 "parser.yy"
 
1911
#line 463 "parser.yy"
1911
1912
    { (yyval.str) = 0; }
1912
1913
    break;
1913
1914
 
1914
1915
  case 51:
1915
 
#line 463 "parser.yy"
 
1916
#line 464 "parser.yy"
1916
1917
    { (yyval.str) = (yyvsp[(3) - (3)].str); }
1917
1918
    break;
1918
1919
 
1919
1920
  case 52:
1920
 
#line 467 "parser.yy"
 
1921
#line 468 "parser.yy"
1921
1922
    { (yyval.ValueList) = new AcceptedValues; (yyval.ValueList)->insert((yyvsp[(1) - (1)].str)); }
1922
1923
    break;
1923
1924
 
1924
1925
  case 53:
1925
 
#line 468 "parser.yy"
 
1926
#line 469 "parser.yy"
1926
1927
    { (yyvsp[(1) - (3)].ValueList)->insert((yyvsp[(3) - (3)].str)); (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList); }
1927
1928
    break;
1928
1929
 
1929
1930
  case 54:
1930
 
#line 472 "parser.yy"
 
1931
#line 473 "parser.yy"
1931
1932
    { (yyval.str) = (yyvsp[(1) - (1)].str); }
1932
1933
    break;
1933
1934
 
1934
1935
  case 55:
1935
 
#line 476 "parser.yy"
 
1936
#line 477 "parser.yy"
1936
1937
    { (yyval.multiple_size) = new multiple_size; }
1937
1938
    break;
1938
1939
 
1939
1940
  case 56:
1940
 
#line 477 "parser.yy"
 
1941
#line 478 "parser.yy"
1941
1942
    { (yyval.multiple_size) = new multiple_size((yyvsp[(2) - (3)].str), (yyvsp[(2) - (3)].str)); }
1942
1943
    break;
1943
1944
 
1944
1945
  case 57:
1945
 
#line 478 "parser.yy"
 
1946
#line 479 "parser.yy"
1946
1947
    { (yyval.multiple_size) = new multiple_size((yyvsp[(2) - (4)].str), "-1"); free((yyvsp[(2) - (4)].str)); }
1947
1948
    break;
1948
1949
 
1949
1950
  case 58:
1950
 
#line 479 "parser.yy"
 
1951
#line 480 "parser.yy"
1951
1952
    { (yyval.multiple_size) = new multiple_size("-1", (yyvsp[(3) - (4)].str)); free((yyvsp[(3) - (4)].str)); }
1952
1953
    break;
1953
1954
 
1954
1955
  case 59:
1955
 
#line 480 "parser.yy"
 
1956
#line 481 "parser.yy"
1956
1957
    { (yyval.multiple_size) = new multiple_size((yyvsp[(2) - (5)].str), (yyvsp[(4) - (5)].str)); free((yyvsp[(2) - (5)].str)); free((yyvsp[(4) - (5)].str)); }
1957
1958
    break;
1958
1959
 
1959
1960
 
1960
1961
/* Line 1267 of yacc.c.  */
1961
 
#line 1962 "parser.cc"
 
1962
#line 1963 "parser.cc"
1962
1963
      default: break;
1963
1964
    }
1964
1965
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
2178
2179
}
2179
2180
 
2180
2181
 
2181
 
#line 483 "parser.yy"
 
2182
#line 484 "parser.yy"
2182
2183
 
2183
2184