From ea001b9938a38d2d09e1623f52a8b5162c281427 Mon Sep 17 00:00:00 2001 From: Will Estes Date: Wed, 4 Jun 2014 15:54:44 -0400 Subject: use underscores in test file names to silence automake warnings --- tests/.gitignore | 38 +-- tests/Makefile.am | 80 ++--- tests/alloc-extra.l | 123 ------- tests/alloc-extra.txt | 795 ------------------------------------------- tests/alloc_extra.l | 123 +++++++ tests/alloc_extra.txt | 795 +++++++++++++++++++++++++++++++++++++++++++ tests/array-nr.l | 55 --- tests/array-nr.txt | 2 - tests/array-r.l | 62 ---- tests/array-r.txt | 2 - tests/array_nr.l | 55 +++ tests/array_nr.txt | 2 + tests/array_r.l | 62 ++++ tests/array_r.txt | 2 + tests/basic-nr.l | 64 ---- tests/basic-nr.txt | 5 - tests/basic-r.l | 68 ---- tests/basic-r.txt | 4 - tests/basic_nr.l | 64 ++++ tests/basic_nr.txt | 5 + tests/basic_r.l | 68 ++++ tests/basic_r.txt | 4 + tests/bison-nr-main.c | 39 --- tests/bison-nr-parser.y | 96 ------ tests/bison-nr-scanner.l | 62 ---- tests/bison-nr.txt | 4 - tests/bison-yylloc-main.c | 40 --- tests/bison-yylloc-parser.y | 96 ------ tests/bison-yylloc-scanner.l | 65 ---- tests/bison-yylloc.txt | 4 - tests/bison-yylval-main.c | 39 --- tests/bison-yylval-parser.y | 80 ----- tests/bison-yylval-scanner.l | 81 ----- tests/bison-yylval.txt | 5 - tests/bison_nr.txt | 4 + tests/bison_nr_main.c | 39 +++ tests/bison_nr_parser.y | 96 ++++++ tests/bison_nr_scanner.l | 62 ++++ tests/bison_yylloc.txt | 4 + tests/bison_yylloc_main.c | 40 +++ tests/bison_yylloc_parser.y | 96 ++++++ tests/bison_yylloc_scanner.l | 65 ++++ tests/bison_yylval.txt | 5 + tests/bison_yylval_main.c | 39 +++ tests/bison_yylval_parser.y | 80 +++++ tests/bison_yylval_scanner.l | 81 +++++ 46 files changed, 1850 insertions(+), 1850 deletions(-) delete mode 100644 tests/alloc-extra.l delete mode 100644 tests/alloc-extra.txt create mode 100644 tests/alloc_extra.l create mode 100644 tests/alloc_extra.txt delete mode 100644 tests/array-nr.l delete mode 100644 tests/array-nr.txt delete mode 100644 tests/array-r.l delete mode 100644 tests/array-r.txt create mode 100644 tests/array_nr.l create mode 100644 tests/array_nr.txt create mode 100644 tests/array_r.l create mode 100644 tests/array_r.txt delete mode 100644 tests/basic-nr.l delete mode 100644 tests/basic-nr.txt delete mode 100644 tests/basic-r.l delete mode 100644 tests/basic-r.txt create mode 100644 tests/basic_nr.l create mode 100644 tests/basic_nr.txt create mode 100644 tests/basic_r.l create mode 100644 tests/basic_r.txt delete mode 100644 tests/bison-nr-main.c delete mode 100644 tests/bison-nr-parser.y delete mode 100644 tests/bison-nr-scanner.l delete mode 100644 tests/bison-nr.txt delete mode 100644 tests/bison-yylloc-main.c delete mode 100644 tests/bison-yylloc-parser.y delete mode 100644 tests/bison-yylloc-scanner.l delete mode 100644 tests/bison-yylloc.txt delete mode 100644 tests/bison-yylval-main.c delete mode 100644 tests/bison-yylval-parser.y delete mode 100644 tests/bison-yylval-scanner.l delete mode 100644 tests/bison-yylval.txt create mode 100644 tests/bison_nr.txt create mode 100644 tests/bison_nr_main.c create mode 100644 tests/bison_nr_parser.y create mode 100644 tests/bison_nr_scanner.l create mode 100644 tests/bison_yylloc.txt create mode 100644 tests/bison_yylloc_main.c create mode 100644 tests/bison_yylloc_parser.y create mode 100644 tests/bison_yylloc_scanner.l create mode 100644 tests/bison_yylval.txt create mode 100644 tests/bison_yylval_main.c create mode 100644 tests/bison_yylval_parser.y create mode 100644 tests/bison_yylval_scanner.l diff --git a/tests/.gitignore b/tests/.gitignore index ad65bd9..dd220f7 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1,22 +1,22 @@ *.log *.trs *.o -alloc-extra -alloc-extra.c -array-nr -array-nr.c -array-r -array-r.c -basic-nr -basic-nr.c -basic-r -basic-r.c -bison-nr -bison-nr-scanner.[ch] -bison-nr-parser.[ch] -bison-yylloc -bison-yylloc-parser.[ch] -bison-yylloc-scanner.[ch] -bison-yylval -bison-yylval-parser.[ch] -bison-yylval-scanner.[ch] +alloc_extra +alloc_extra.c +array_nr +array_nr.c +array_r +array_r.c +basic_nr +basic_nr.c +basic_r +basic_r.c +bison_nr +bison_nr_scanner.[ch] +bison_nr_parser.[ch] +bison_yylloc +bison_yylloc_parser.[ch] +bison_yylloc_scanner.[ch] +bison_yylval +bison_yylval_parser.[ch] +bison_yylval_scanner.[ch] diff --git a/tests/Makefile.am b/tests/Makefile.am index b94c661..5f80be7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -27,46 +27,46 @@ AM_LOG_FLAGS = $(srcdir) AM_YFLAGS = -d -p test check_PROGRAMS = \ - alloc-extra \ - array-nr \ - array-r \ - basic-nr \ - basic-r \ - bison-nr \ - bison-yylloc \ - bison-yylval - -alloc_extra_SOURCES = alloc-extra.l -array_nr_SOURCES = array-nr.l -array_r_SOURCES = array-r.l -basic_nr_SOURCES = basic-nr.l -basic_r_SOURCES = basic-r.l -bison_nr_SOURCES = bison-nr-scanner.l bison-nr-parser.y bison-nr-main.c -bison_yylloc_SOURCES = bison-yylloc-scanner.l bison-yylloc-parser.y bison-yylloc-main.c -bison_yylval_SOURCES = bison-yylval-scanner.l bison-yylval-parser.y bison-yylval-main.c + alloc_extra \ + array_nr \ + array_r \ + basic_nr \ + basic_r \ + bison_nr \ + bison_yylloc \ + bison_yylval + +alloc_extra_SOURCES = alloc_extra.l +array_nr_SOURCES = array_nr.l +array_r_SOURCES = array_r.l +basic_nr_SOURCES = basic_nr.l +basic_r_SOURCES = basic_r.l +bison_nr_SOURCES = bison_nr_scanner.l bison_nr_parser.y bison_nr_main.c +bison_yylloc_SOURCES = bison_yylloc_scanner.l bison_yylloc_parser.y bison_yylloc_main.c +bison_yylval_SOURCES = bison_yylval_scanner.l bison_yylval_parser.y bison_yylval_main.c BUILT_SOURCES = \ - bison-nr-scanner.h \ - bison-nr-parser.h \ - bison-yylloc-parser.h \ - bison-yylloc-scanner.h \ - bison-yylval-parser.h \ - bison-yylval-scanner.h + bison_nr_scanner.h \ + bison_nr_parser.h \ + bison_yylloc_parser.h \ + bison_yylloc_scanner.h \ + bison_yylval_parser.h \ + bison_yylval_scanner.h EXTRA_DIST = \ README \ testwrapper.sh \ - alloc-extra.txt \ - array-nr.txt \ - array-r.txt \ -basic-nr.txt \ - basic-r.txt \ - bison-nr-scanner.h \ - bison-nr.txt \ - bison-yylloc-scanner.h \ - bison-yylloc.txt \ - bison-yylval-scanner.h \ - bison-yylval.txt + alloc_extra.txt \ + array_nr.txt \ + array_r.txt \ +basic_nr.txt \ + basic_r.txt \ + bison_nr_scanner.h \ + bison_nr.txt \ + bison_yylloc_scanner.h \ + bison_yylloc.txt \ + bison_yylval_scanner.h \ + bison_yylval.txt # specify how to process .l files in order to test the flex built by make all @@ -75,11 +75,11 @@ FLEX = $(top_builddir)/src/flex .l.c: $(FLEX) -o $@ $< -bison-nr-main($objext): bison-nr-parser.h bison-nr-scanner.h -bison-nr-scanner.h: bison-nr-scanner.c +bison_nr_main($objext): bison_nr_parser.h bison_nr_scanner.h +bison_nr_scanner.h: bison_nr_scanner.c -bison-yylloc-main$(objext): bison-yylloc-parser.h bison-yylloc-scanner.h -bison-yylloc-scanner.h: bison-yylloc-scanner.c +bison_yylloc_main$(objext): bison_yylloc_parser.h bison_yylloc_scanner.h +bison_yylloc_scanner.h: bison_yylloc_scanner.c -bison-yylval-main$(objext): bison-yylval-parser.h bison-yylval-scanner.h -bison-yylval-scanner.h: bison-yylval-scanner.c +bison_yylval_main$(objext): bison_yylval_parser.h bison_yylval_scanner.h +bison_yylval_scanner.h: bison_yylval_scanner.c diff --git a/tests/alloc-extra.l b/tests/alloc-extra.l deleted file mode 100644 index 14e1837..0000000 --- a/tests/alloc-extra.l +++ /dev/null @@ -1,123 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -%{ -/* A file to build "scanner.c". */ -/* This tests that we can use "yyextra". - We buffer all input into a growable array, then print it. - We run diff on the input and output. -*/ - -#include -#include -#include "config.h" - - -/* We'll store the entire input in this buffer, growing as necessary. */ -struct Check { - char foo; - char *bar; - char qux; -}; - -/* Save char into junk array at next position. */ -static void check_extra ( yyscan_t scanner ); - -/* Special yyalloc */ -void *yyalloc ( size_t size, yyscan_t scanner ); - -%} - -%option 8bit prefix="test" -%option nounput nomain noyywrap nodefault -%option warn -%option extra-type="struct Check *" -%option reentrant -%option noyyalloc - - -%% - -.|\r|\n { check_extra (yyscanner); } - -%% - -int main(void); - -int -main () -{ - yyscan_t scanner; - struct Check check; - - check.foo = 'a'; - check.bar = NULL; - check.qux = 'z'; - - testlex_init_extra(&check, &scanner); - testset_in(stdin, scanner); - testset_out(stdout, scanner); - - /* Test to confirm that yyalloc was called from - * yylex_init_extra with the yyextra argument. - */ - check_extra(scanner); - - testlex(scanner); - - testlex_destroy(scanner); - return 0; -} - -void *yyalloc(size_t size, yyscan_t scanner) -{ - struct Check *check; - check = testget_extra(scanner); - - if (!check->bar) - check->bar = "Hello World"; - - check_extra(scanner); - - return malloc(size); -} - -/* Save char into junk array at next position. */ -static void check_extra(yyscan_t scanner) -{ - struct Check *check; - check = testget_extra(scanner); - - if (check->foo != 'a') { - fprintf(stderr, "foo is not 'a'\n"); - exit(1); - } - if (strcmp(check->bar, "Hello World") != 0) { - fprintf(stderr, "bar is not Hello World\n"); - exit(1); - } - if (check->qux != 'z') { - fprintf(stderr, "qux is not 'z'\n"); - exit(1); - } -} diff --git a/tests/alloc-extra.txt b/tests/alloc-extra.txt deleted file mode 100644 index 243df29..0000000 --- a/tests/alloc-extra.txt +++ /dev/null @@ -1,795 +0,0 @@ - - THE UNITED STATES CONSTITUTION - _________________________________________________________________ - - (See Note 1) - - We the People of the United States, in Order to form a more perfect - Union, establish Justice, insure domestic Tranquility, provide for the - common defence, promote the general Welfare, and secure the Blessings - of Liberty to ourselves and our Posterity, do ordain and establish - this Constitution for the United States of America. - -Article. I. - - Section 1. - - All legislative Powers herein granted shall be vested in a Congress of - the United States, which shall consist of a Senate and House of - Representatives. - - Section. 2. - - Clause 1: The House of Representatives shall be composed of Members - chosen every second Year by the People of the several States, and the - Electors in each State shall have the Qualifications requisite for - Electors of the most numerous Branch of the State Legislature. - - Clause 2: No Person shall be a Representative who shall not have - attained to the Age of twenty five Years, and been seven Years a - Citizen of the United States, and who shall not, when elected, be an - Inhabitant of that State in which he shall be chosen. - - Clause 3: Representatives and direct Taxes shall be apportioned among - the several States which may be included within this Union, according - to their respective Numbers, which shall be determined by adding to - the whole Number of free Persons, including those bound to Service for - a Term of Years, and excluding Indians not taxed, three fifths of all - other Persons. (See Note 2) The actual Enumeration shall be made - within three Years after the first Meeting of the Congress of the - United States, and within every subsequent Term of ten Years, in such - Manner as they shall by Law direct. The Number of Representatives - shall not exceed one for every thirty Thousand, but each State shall - have at Least one Representative; and until such enumeration shall be - made, the State of New Hampshire shall be entitled to chuse three, - Massachusetts eight, Rhode-Island and Providence Plantations one, - Connecticut five, New-York six, New Jersey four, Pennsylvania eight, - Delaware one, Maryland six, Virginia ten, North Carolina five, South - Carolina five, and Georgia three. - - Clause 4: When vacancies happen in the Representation from any State, - the Executive Authority thereof shall issue Writs of Election to fill - such Vacancies. - - Clause 5: The House of Representatives shall chuse their Speaker and - other Officers; and shall have the sole Power of Impeachment. - - Section. 3. - - Clause 1: The Senate of the United States shall be composed of two - Senators from each State, chosen by the Legislature thereof, (See Note - 3) for six Years; and each Senator shall have one Vote. - - Clause 2: Immediately after they shall be assembled in Consequence of - the first Election, they shall be divided as equally as may be into - three Classes. The Seats of the Senators of the first Class shall be - vacated at the Expiration of the second Year, of the second Class at - the Expiration of the fourth Year, and of the third Class at the - Expiration of the sixth Year, so that one third may be chosen every - second Year; and if Vacancies happen by Resignation, or otherwise, - during the Recess of the Legislature of any State, the Executive - thereof may make temporary Appointments until the next Meeting of the - Legislature, which shall then fill such Vacancies. (See Note 4) - - Clause 3: No Person shall be a Senator who shall not have attained to - the Age of thirty Years, and been nine Years a Citizen of the United - States, and who shall not, when elected, be an Inhabitant of that - State for which he shall be chosen. - - Clause 4: The Vice President of the United States shall be President - of the Senate, but shall have no Vote, unless they be equally divided. - - Clause 5: The Senate shall chuse their other Officers, and also a - President pro tempore, in the Absence of the Vice President, or when - he shall exercise the Office of President of the United States. - - Clause 6: The Senate shall have the sole Power to try all - Impeachments. When sitting for that Purpose, they shall be on Oath or - Affirmation. When the President of the United States is tried, the - Chief Justice shall preside: And no Person shall be convicted without - the Concurrence of two thirds of the Members present. - - Clause 7: Judgment in Cases of Impeachment shall not extend further - than to removal from Office, and disqualification to hold and enjoy - any Office of honor, Trust or Profit under the United States: but the - Party convicted shall nevertheless be liable and subject to - Indictment, Trial, Judgment and Punishment, according to Law. - - Section. 4. - - Clause 1: The Times, Places and Manner of holding Elections for - Senators and Representatives, shall be prescribed in each State by the - Legislature thereof; but the Congress may at any time by Law make or - alter such Regulations, except as to the Places of chusing Senators. - - Clause 2: The Congress shall assemble at least once in every Year, and - such Meeting shall be on the first Monday in December, (See Note 5) - unless they shall by Law appoint a different Day. - - Section. 5. - - Clause 1: Each House shall be the Judge of the Elections, Returns and - Qualifications of its own Members, and a Majority of each shall - constitute a Quorum to do Business; but a smaller Number may adjourn - from day to day, and may be authorized to compel the Attendance of - absent Members, in such Manner, and under such Penalties as each House - may provide. - - Clause 2: Each House may determine the Rules of its Proceedings, - punish its Members for disorderly Behaviour, and, with the Concurrence - of two thirds, expel a Member. - - Clause 3: Each House shall keep a Journal of its Proceedings, and from - time to time publish the same, excepting such Parts as may in their - Judgment require Secrecy; and the Yeas and Nays of the Members of - either House on any question shall, at the Desire of one fifth of - those Present, be entered on the Journal. - - Clause 4: Neither House, during the Session of Congress, shall, - without the Consent of the other, adjourn for more than three days, - nor to any other Place than that in which the two Houses shall be - sitting. - - Section. 6. - - Clause 1: The Senators and Representatives shall receive a - Compensation for their Services, to be ascertained by Law, and paid - out of the Treasury of the United States. (See Note 6) They shall in - all Cases, except Treason, Felony and Breach of the Peace, - beprivileged from Arrest during their Attendance at the Session of - their respective Houses, and in going to and returning from the same; - and for any Speech or Debate in either House, they shall not be - questioned in any other Place. - - Clause 2: No Senator or Representative shall, during the Time for - which he was elected, be appointed to any civil Office under the - Authority of the United States, which shall have been created, or the - Emoluments whereof shall have been encreased during such time; and no - Person holding any Office under the United States, shall be a Member - of either House during his Continuance in Office. - - Section. 7. - - Clause 1: All Bills for raising Revenue shall originate in the House - of Representatives; but the Senate may propose or concur with - Amendments as on other Bills. - - Clause 2: Every Bill which shall have passed the House of - Representatives and the Senate, shall, before it become a Law, be - presented to the President of the United States; If he approve he - shall sign it, but if not he shall return it, with his Objections to - that House in which it shall have originated, who shall enter the - Objections at large on their Journal, and proceed to reconsider it. If - after such Reconsideration two thirds of that House shall agree to - pass the Bill, it shall be sent, together with the Objections, to the - other House, by which it shall likewise be reconsidered, and if - approved by two thirds of that House, it shall become a Law. But in - all such Cases the Votes of both Houses shall be determined by yeas - and Nays, and the Names of the Persons voting for and against the Bill - shall be entered on the Journal of each House respectively. If any - Bill shall not be returned by the President within ten Days (Sundays - excepted) after it shall have been presented to him, the Same shall be - a Law, in like Manner as if he had signed it, unless the Congress by - their Adjournment prevent its Return, in which Case it shall not be a - Law. - - Clause 3: Every Order, Resolution, or Vote to which the Concurrence of - the Senate and House of Representatives may be necessary (except on a - question of Adjournment) shall be presented to the President of the - United States; and before the Same shall take Effect, shall be - approved by him, or being disapproved by him, shall be repassed by two - thirds of the Senate and House of Representatives, according to the - Rules and Limitations prescribed in the Case of a Bill. - - Section. 8. - - Clause 1: The Congress shall have Power To lay and collect Taxes, - Duties, Imposts and Excises, to pay the Debts and provide for the - common Defence and general Welfare of the United States; but all - Duties, Imposts and Excises shall be uniform throughout the United - States; - - Clause 2: To borrow Money on the credit of the United States; - - Clause 3: To regulate Commerce with foreign Nations, and among the - several States, and with the Indian Tribes; - - Clause 4: To establish an uniform Rule of Naturalization, and uniform - Laws on the subject of Bankruptcies throughout the United States; - - Clause 5: To coin Money, regulate the Value thereof, and of foreign - Coin, and fix the Standard of Weights and Measures; - - Clause 6: To provide for the Punishment of counterfeiting the - Securities and current Coin of the United States; - - Clause 7: To establish Post Offices and post Roads; - - Clause 8: To promote the Progress of Science and useful Arts, by - securing for limited Times to Authors and Inventors the exclusive - Right to their respective Writings and Discoveries; - - Clause 9: To constitute Tribunals inferior to the supreme Court; - - Clause 10: To define and punish Piracies and Felonies committed on the - high Seas, and Offences against the Law of Nations; - - Clause 11: To declare War, grant Letters of Marque and Reprisal, and - make Rules concerning Captures on Land and Water; - - Clause 12: To raise and support Armies, but no Appropriation of Money - to that Use shall be for a longer Term than two Years; - - Clause 13: To provide and maintain a Navy; - - Clause 14: To make Rules for the Government and Regulation of the land - and naval Forces; - - Clause 15: To provide for calling forth the Militia to execute the - Laws of the Union, suppress Insurrections and repel Invasions; - - Clause 16: To provide for organizing, arming, and disciplining, the - Militia, and for governing such Part of them as may be employed in the - Service of the United States, reserving to the States respectively, - the Appointment of the Officers, and the Authority of training the - Militia according to the discipline prescribed by Congress; - - Clause 17: To exercise exclusive Legislation in all Cases whatsoever, - over such District (not exceeding ten Miles square) as may, byCession - of particular States, and the Acceptance of Congress, become the Seat - of the Government of the United States, and to exercise like Authority - over all Places purchased by the Consent of the Legislature of the - State in which the Same shall be, for the Erection of Forts, - Magazines, Arsenals, dock-Yards, and other needful Buildings;--And - - Clause 18: To make all Laws which shall be necessary and proper for - carrying into Execution the foregoing Powers, and all other Powers - vested by this Constitution in the Government of the United States, or - in any Department or Officer thereof. - - Section. 9. - - Clause 1: The Migration or Importation of such Persons as any of the - States now existing shall think proper to admit, shall not be - prohibited by the Congress prior to the Year one thousand eight - hundred and eight, but a Tax or duty may be imposed on such - Importation, not exceeding ten dollars for each Person. - - Clause 2: The Privilege of the Writ of Habeas Corpus shall not be - suspended, unless when in Cases of Rebellion or Invasion the public - Safety may require it. - - Clause 3: No Bill of Attainder or ex post facto Law shall be passed. - - Clause 4: No Capitation, or other direct, Tax shall be laid, unless in - Proportion to the Census or Enumeration herein before directed to be - taken. (See Note 7) - - Clause 5: No Tax or Duty shall be laid on Articles exported from any - State. - - Clause 6: No Preference shall be given by any Regulation of Commerce - or Revenue to the Ports of one State over those of another: nor shall - Vessels bound to, or from, one State, be obliged to enter, clear, or - pay Duties in another. - - Clause 7: No Money shall be drawn from the Treasury, but in - Consequence of Appropriations made by Law; and a regular Statement and - Account of the Receipts and Expenditures of all public Money shall be - published from time to time. - - Clause 8: No Title of Nobility shall be granted by the United States: - And no Person holding any Office of Profit or Trust under them, shall, - without the Consent of the Congress, accept of any present, Emolument, - Office, or Title, of any kind whatever, from any King, Prince, or - foreign State. - - Section. 10. - - Clause 1: No State shall enter into any Treaty, Alliance, or - Confederation; grant Letters of Marque and Reprisal; coin Money; emit - Bills of Credit; make any Thing but gold and silver Coin a Tender in - Payment of Debts; pass any Bill of Attainder, ex post facto Law, or - Law impairing the Obligation of Contracts, or grant any Title of - Nobility. - - Clause 2: No State shall, without the Consent of the Congress, lay any - Imposts or Duties on Imports or Exports, except what may be absolutely - necessary for executing it's inspection Laws: and the net Produce of - all Duties and Imposts, laid by any State on Imports or Exports, shall - be for the Use of the Treasury of the United States; and all such Laws - shall be subject to the Revision and Controul of the Congress. - - Clause 3: No State shall, without the Consent of Congress, lay any - Duty of Tonnage, keep Troops, or Ships of War in time of Peace, enter - into any Agreement or Compact with another State, or with a foreign - Power, or engage in War, unless actually invaded, or in such imminent - Danger as will not admit of delay. - -Article. II. - - Section. 1. - - Clause 1: The executive Power shall be vested in a President of the - United States of America. He shall hold his Office during the Term of - four Years, and, together with the Vice President, chosen for the same - Term, be elected, as follows - - Clause 2: Each State shall appoint, in such Manner as the Legislature - thereof may direct, a Number of Electors, equal to the whole Number of - Senators and Representatives to which the State may be entitled in the - Congress: but no Senator or Representative, or Person holding an - Office of Trust or Profit under the United States, shall be appointed - an Elector. - - Clause 3: The Electors shall meet in their respective States, and vote - by Ballot for two Persons, of whom one at least shall not be an - Inhabitant of the same State with themselves. And they shall make a - List of all the Persons voted for, and of the Number of Votes for - each; which List they shall sign and certify, and transmit sealed to - the Seat of the Government of the United States, directed to the - President of the Senate. The President of the Senate shall, in the - Presence of the Senate and House of Representatives, open all the - Certificates, and the Votes shall then be counted. The Person having - the greatest Number of Votes shall be the President, if such Number be - a Majority of the whole Number of Electors appointed; and if there be - more than one who have such Majority, and have an equal Number of - Votes, then the House of Representatives shall immediately chuse by - Ballot one of them for President; and if no Person have a Majority, - then from the five highest on the List the said House shall in like - Manner chuse the President. But in chusing the President, the Votes - shall be taken by States, the Representation from each State having - one Vote; A quorum for this Purpose shall consist of a Member or - Members from two thirds of the States, and a Majority of all the - States shall be necessary to a Choice. In every Case, after the Choice - of the President, the Person having the greatest Number of Votes of - the Electors shall be the Vice President. But if there should remain - two or more who have equal Votes, the Senate shall chuse from them by - Ballot the Vice President. (See Note 8) - - Clause 4: The Congress may determine the Time of chusing the Electors, - and the Day on which they shall give their Votes; which Day shall be - the same throughout the United States. - - Clause 5: No Person except a natural born Citizen, or a Citizen of the - United States, at the time of the Adoption of this Constitution, shall - be eligible to the Office of President; neither shall any Person be - eligible to that Office who shall not have attained to the Age of - thirty five Years, and been fourteen Years a Resident within the - United States. - - Clause 6: In Case of the Removal of the President from Office, or of - his Death, Resignation, or Inability to discharge the Powers and - Duties of the said Office, (See Note 9) the Same shall devolve on the - VicePresident, and the Congress may by Law provide for the Case of - Removal, Death, Resignation or Inability, both of the President and - Vice President, declaring what Officer shall then act as President, - and such Officer shall act accordingly, until the Disability be - removed, or a President shall be elected. - - Clause 7: The President shall, at stated Times, receive for his - Services, a Compensation, which shall neither be encreased nor - diminished during the Period for which he shall have been elected, and - he shall not receive within that Period any other Emolument from the - United States, or any of them. - - Clause 8: Before he enter on the Execution of his Office, he shall - take the following Oath or Affirmation:--"I do solemnly swear (or - affirm) that I will faithfully execute the Office of President of the - United States, and will to the best of my Ability, preserve, protect - and defend the Constitution of the United States." - - Section. 2. - - Clause 1: The President shall be Commander in Chief of the Army and - Navy of the United States, and of the Militia of the several States, - when called into the actual Service of the United States; he may - require the Opinion, in writing, of the principal Officer in each of - the executive Departments, upon any Subject relating to the Duties of - their respective Offices, and he shall have Power to grant Reprieves - and Pardons for Offences against the United States, except in Cases of - Impeachment. - - Clause 2: He shall have Power, by and with the Advice and Consent of - the Senate, to make Treaties, provided two thirds of the Senators - present concur; and he shall nominate, and by and with the Advice and - Consent of the Senate, shall appoint Ambassadors, other public - Ministers and Consuls, Judges of the supreme Court, and all other - Officers of the United States, whose Appointments are not herein - otherwise provided for, and which shall be established by Law: but the - Congress may by Law vest the Appointment of such inferior Officers, as - they think proper, in the President alone, in the Courts of Law, or in - the Heads of Departments. - - Clause 3: The President shall have Power to fill up all Vacancies that - may happen during the Recess of the Senate, by granting Commissions - which shall expire at the End of their next Session. - - Section. 3. - - He shall from time to time give to the Congress Information of the - State of the Union, and recommend to their Consideration such Measures - as he shall judge necessary and expedient; he may, on extraordinary - Occasions, convene both Houses, or either of them, and in Case of - Disagreement between them, with Respect to the Time of Adjournment, he - may adjourn them to such Time as he shall think proper; he shall - receive Ambassadors and other public Ministers; he shall take Care - that the Laws be faithfully executed, and shall Commission all the - Officers of the United States. - - Section. 4. - - The President, Vice President and all civil Officers of the United - States, shall be removed from Office on Impeachment for, and - Conviction of, Treason, Bribery, or other high Crimes and - Misdemeanors. - -Article. III. - - Section. 1. - - The judicial Power of the United States, shall be vested in one - supreme Court, and in such inferior Courts as the Congress may from - time to time ordain and establish. The Judges, both of the supreme and - inferior Courts, shall hold their Offices during good Behaviour, and - shall, at stated Times, receive for their Services, a Compensation, - which shall not be diminished during their Continuance in Office. - - Section. 2. - - Clause 1: The judicial Power shall extend to all Cases, in Law and - Equity, arising under this Constitution, the Laws of the United - States, and Treaties made, or which shall be made, under their - Authority;--to all Cases affecting Ambassadors, other public Ministers - and Consuls;--to all Cases of admiralty and maritime Jurisdiction;--to - Controversies to which the United States shall be a Party;--to - Controversies between two or more States;--between a State and - Citizens of another State; (See Note 10)--between Citizens of - different States, --between Citizens of the same State claiming Lands - under Grants of different States, and between a State, or the Citizens - thereof, and foreign States, Citizens or Subjects. - - Clause 2: In all Cases affecting Ambassadors, other public Ministers - and Consuls, and those in which a State shall be Party, the supreme - Court shall have original Jurisdiction. In all the other Cases before - mentioned, the supreme Court shall have appellate Jurisdiction, both - as to Law and Fact, with such Exceptions, and under such Regulations - as the Congress shall make. - - Clause 3: The Trial of all Crimes, except in Cases of Impeachment, - shall be by Jury; and such Trial shall be held in the State where the - said Crimes shall have been committed; but when not committed within - any State, the Trial shall be at such Place or Places as the Congress - may by Law have directed. - - Section. 3. - - Clause 1: Treason against the United States, shall consist only in - levying War against them, or in adhering to their Enemies, giving them - Aid and Comfort. No Person shall be convicted of Treason unless on the - Testimony of two Witnesses to the same overt Act, or on Confession in - open Court. - - Clause 2: The Congress shall have Power to declare the Punishment of - Treason, but no Attainder of Treason shall work Corruption of Blood, - or Forfeiture except during the Life of the Person attainted. - -Article. IV. - - Section. 1. - - Full Faith and Credit shall be given in each State to the public Acts, - Records, and judicial Proceedings of every other State. And the - Congress may by general Laws prescribe the Manner in which such Acts, - Records and Proceedings shall be proved, and the Effect thereof. - - Section. 2. - - Clause 1: The Citizens of each State shall be entitled to all - Privileges and Immunities of Citizens in the several States. - - Clause 2: A Person charged in any State with Treason, Felony, or other - Crime, who shall flee from Justice, and be found in another State, - shall on Demand of the executive Authority of the State from which he - fled, be delivered up, to be removed to the State having Jurisdiction - of the Crime. - - Clause 3: No Person held to Service or Labour in one State, under the - Laws thereof, escaping into another, shall, in Consequence of any Law - or Regulation therein, be discharged from such Service or Labour, but - shall be delivered up on Claim of the Party to whom such Service or - Labour may be due. (See Note 11) - - Section. 3. - - Clause 1: New States may be admitted by the Congress into this Union; - but no new State shall be formed or erected within the Jurisdiction of - any other State; nor any State be formed by the Junction of two or - more States, or Parts of States, without the Consent of the - Legislatures of the States concerned as well as of the Congress. - - Clause 2: The Congress shall have Power to dispose of and make all - needful Rules and Regulations respecting the Territory or other - Property belonging to the United States; and nothing in this - Constitution shall be so construed as to Prejudice any Claims of the - United States, or of any particular State. - - Section. 4. - - The United States shall guarantee to every State in this Union a - Republican Form of Government, and shall protect each of them against - Invasion; and on Application of the Legislature, or of the Executive - (when the Legislature cannot be convened) against domestic Violence. - -Article. V. - - The Congress, whenever two thirds of both Houses shall deem it - necessary, shall propose [1]Amendments to this Constitution, or, on - the Application of the Legislatures of two thirds of the several - States, shall call a Convention for proposing Amendments, which, in - either Case, shall be valid to all Intents and Purposes, as Part of - this Constitution, when ratified by the Legislatures of three fourths - of the several States, or by Conventions in three fourths thereof, as - the one or the other Mode of Ratification may be proposed by the - Congress; Provided that no Amendment which may be made prior to the - Year One thousand eight hundred and eight shall in any Manner affect - the first and fourth Clauses in the Ninth Section of the first - Article; and that no State, without its Consent, shall be deprived of - its equal Suffrage in the Senate. - -Article. VI. - - Clause 1: All Debts contracted and Engagements entered into, before - the Adoption of this Constitution, shall be as valid against the - United States under this Constitution, as under the Confederation. - - Clause 2: This Constitution, and the Laws of the United States which - shall be made in Pursuance thereof; and all Treaties made, or which - shall be made, under the Authority of the United States, shall be the - supreme Law of the Land; and the Judges in every State shall be bound - thereby, any Thing in the Constitution or Laws of any State to the - Contrary notwithstanding. - - Clause 3: The Senators and Representatives before mentioned, and the - Members of the several State Legislatures, and all executive and - judicial Officers, both of the United States and of the several - States, shall be bound by Oath or Affirmation, to support this - Constitution; but no religious Test shall ever be required as a - Qualification to any Office or public Trust under the United States. - -Article. VII. - - The Ratification of the Conventions of nine States, shall be - sufficient for the Establishment of this Constitution between the - States so ratifying the Same. - - done in Convention by the Unanimous Consent of the States present the - Seventeenth Day of September in the Year of our Lord one thousand - seven hundred and Eighty seven and of the Independence of the United - States of America the Twelfth In witness whereof We have hereunto - subscribed our Names, - - GO WASHINGTON--Presidt. and deputy from Virginia - - [Signed also by the deputies of twelve States.] - - Delaware - - Geo: Read - Gunning Bedford jun - John Dickinson - Richard Bassett - Jaco: Broom - - Maryland - - James MCHenry - Dan of ST ThoS. Jenifer - DanL Carroll. - - Virginia - - John Blair-- - James Madison Jr. - - North Carolina - - WM Blount - RichD. Dobbs Spaight. - Hu Williamson - - South Carolina - - J. Rutledge - Charles 1ACotesworth Pinckney - Charles Pinckney - Pierce Butler. - - Georgia - - William Few - Abr Baldwin - - New Hampshire - - John Langdon - Nicholas Gilman - - Massachusetts - - Nathaniel Gorham - Rufus King - - Connecticut - WM. SamL. Johnson - Roger Sherman - - New York - - Alexander Hamilton - - New Jersey - - Wil: Livingston - David Brearley. - WM. Paterson. - Jona: Dayton - - Pennsylvania - - B Franklin - Thomas Mifflin - RobT Morris - Geo. Clymer - ThoS. FitzSimons - Jared Ingersoll - James Wilson. - Gouv Morris - - Attest William Jackson Secretary - - NOTES - - Note 1: This text of the Constitution follows the engrossed copy - signed by Gen. Washington and the deputies from 12 States. The small - superior figures preceding the paragraphs designate Clauses, and were - not in the original and have no reference to footnotes. - - The Constitution was adopted by a convention of the States on - September 17, 1787, and was subsequently ratified by the several - States, on the following dates: Delaware, December 7, 1787; - Pennsylvania, December 12, 1787; New Jersey, December 18, 1787; - Georgia, January 2, 1788; Connecticut, January 9, 1788; Massachusetts, - February 6, 1788; Maryland, April 28, 1788; South Carolina, May 23, - 1788; New Hampshire, June 21, 1788. - - Ratification was completed on June 21, 1788. - - The Constitution was subsequently ratified by Virginia, June 25, 1788; - New York, July 26, 1788; North Carolina, November 21, 1789; Rhode - Island, May 29, 1790; and Vermont, January 10, 1791. - - In May 1785, a committee of Congress made a report recommending an - alteration in the Articles of Confederation, but no action was taken - on it, and it was left to the State Legislatures to proceed in the - matter. In January 1786, the Legislature of Virginia passed a - resolution providing for the appointment of five commissioners, who, - or any three of them, should meet such commissioners as might be - appointed in the other States of the Union, at a time and place to be - agreed upon, to take into consideration the trade of the United - States; to consider how far a uniform system in their commercial - regulations may be necessary to their common interest and their - permanent harmony; and to report to the several States such an act, - relative to this great object, as, when ratified by them, will enable - the United States in Congress effectually to provide for the same. The - Virginia commissioners, after some correspondence, fixed the first - Monday in September as the time, and the city of Annapolis as the - place for the meeting, but only four other States were represented, - viz: Delaware, New York, New Jersey, and Pennsylvania; the - commissioners appointed by Massachusetts, New Hampshire, North - Carolina, and Rhode Island failed to attend. Under the circumstances - of so partial a representation, the commissioners present agreed upon - a report, (drawn by Mr. Hamilton, of New York,) expressing their - unanimous conviction that it might essentially tend to advance the - interests of the Union if the States by which they were respectively - delegated would concur, and use their endeavors to procure the - concurrence of the other States, in the appointment of commissioners - to meet at Philadelphia on the Second Monday of May following, to take - into consideration the situation of the United States; to devise such - further provisions as should appear to them necessary to render the - Constitution of the Federal Government adequate to the exigencies of - the Union; and to report such an act for that purpose to the United - States in Congress assembled as, when agreed to by them and afterwards - confirmed by the Legislatures of every State, would effectually - provide for the same. - - Congress, on the 21st of February, 1787, adopted a resolution in favor - of a convention, and the Legislatures of those States which had not - already done so (with the exception of Rhode Island) promptly - appointed delegates. On the 25th of May, seven States having convened, - George Washington, of Virginia, was unanimously elected President, and - the consideration of the proposed constitution was commenced. On the - 17th of September, 1787, the Constitution as engrossed and agreed upon - was signed by all the members present, except Mr. Gerry of - Massachusetts, and Messrs. Mason and Randolph, of Virginia. The - president of the convention transmitted it to Congress, with a - resolution stating how the proposed Federal Government should be put - in operation, and an explanatory letter. Congress, on the 28th of - September, 1787, directed the Constitution so framed, with the - resolutions and letter concerning the same, to "be transmitted to the - several Legislatures in order to be submitted to a convention of - delegates chosen in each State by the people thereof, in conformity to - the resolves of the convention." - - On the 4th of March, 1789, the day which had been fixed for commencing - the operations of Government under the new Constitution, it had been - ratified by the conventions chosen in each State to consider it, as - follows: Delaware, December 7, 1787; Pennsylvania, December 12, 1787; - New Jersey, December 18, 1787; Georgia, January 2, 1788; Connecticut, - January 9, 1788; Massachusetts, February 6, 1788; Maryland, April 28, - 1788; South Carolina, May 23, 1788; New Hampshire, June 21, 1788; - Virginia, June 25, 1788; and New York, July 26, 1788. - - The President informed Congress, on the 28th of January, 1790, that - North Carolina had ratified the Constitution November 21, 1789; and he - informed Congress on the 1st of June, 1790, that Rhode Island had - ratified the Constitution May 29, 1790. Vermont, in convention, - ratified the Constitution January 10, 1791, and was, by an act of - Congress approved February 18, 1791, "received and admitted into this - Union as a new and entire member of the United States." - - Note 2: The part of this Clause relating to the mode of apportionment - of representatives among the several States has been affected by - Section 2 of amendment XIV, and as to taxes on incomes without - apportionment by amendment XVI. - - Note 3: This Clause has been affected by Clause 1 of amendment XVII. - - Note 4: This Clause has been affected by Clause 2 of amendment XVIII. - - Note 5: This Clause has been affected by amendment XX. - - Note 6: This Clause has been affected by amendment XXVII. - - Note 7: This Clause has been affected by amendment XVI. - - Note 8: This Clause has been superseded by amendment XII. - - Note 9: This Clause has been affected by amendment XXV. - - Note 10: This Clause has been affected by amendment XI. - - Note 11: This Clause has been affected by amendment XIII. - - Note 12: The first ten amendments to the Constitution of the United - States (and two others, one of which failed of ratification and the - other which later became the 27th amendment) were proposed to the - legislatures of the several States by the First Congress on September - 25, 1789. The first ten amendments were ratified by the following - States, and the notifications of ratification by the Governors thereof - were successively communicated by the President to Congress: New - Jersey, November 20, 1789; Maryland, December 19, 1789; North - Carolina, December 22, 1789; South Carolina, January 19, 1790; New - Hampshire, January 25, 1790; Delaware, January 28, 1790; New York, - February 24, 1790; Pennsylvania, March 10, 1790; Rhode Island, June 7, - 1790; Vermont, November 3, 1791; and Virginia, December 15, 1791. - - Ratification was completed on December 15, 1791. - - The amendments were subsequently ratified by the legislatures of - Massachusetts, March 2, 1939; Georgia, March 18, 1939; and - Connecticut, April 19, 1939. - - Note 13: Only the 13th, 14th, 15th, and 16th articles of amendment had - numbers assigned to them at the time of ratification. - - Note 14: This sentence has been superseded by section 3 of amendment - XX. - - Note 15: See amendment XIX and section 1 of amendment XXVI. - - Note 16: Repealed by section 1 of amendment XXI. - -References - - 1. http://www.house.gov/Constitution/Amend.html diff --git a/tests/alloc_extra.l b/tests/alloc_extra.l new file mode 100644 index 0000000..14e1837 --- /dev/null +++ b/tests/alloc_extra.l @@ -0,0 +1,123 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +%{ +/* A file to build "scanner.c". */ +/* This tests that we can use "yyextra". + We buffer all input into a growable array, then print it. + We run diff on the input and output. +*/ + +#include +#include +#include "config.h" + + +/* We'll store the entire input in this buffer, growing as necessary. */ +struct Check { + char foo; + char *bar; + char qux; +}; + +/* Save char into junk array at next position. */ +static void check_extra ( yyscan_t scanner ); + +/* Special yyalloc */ +void *yyalloc ( size_t size, yyscan_t scanner ); + +%} + +%option 8bit prefix="test" +%option nounput nomain noyywrap nodefault +%option warn +%option extra-type="struct Check *" +%option reentrant +%option noyyalloc + + +%% + +.|\r|\n { check_extra (yyscanner); } + +%% + +int main(void); + +int +main () +{ + yyscan_t scanner; + struct Check check; + + check.foo = 'a'; + check.bar = NULL; + check.qux = 'z'; + + testlex_init_extra(&check, &scanner); + testset_in(stdin, scanner); + testset_out(stdout, scanner); + + /* Test to confirm that yyalloc was called from + * yylex_init_extra with the yyextra argument. + */ + check_extra(scanner); + + testlex(scanner); + + testlex_destroy(scanner); + return 0; +} + +void *yyalloc(size_t size, yyscan_t scanner) +{ + struct Check *check; + check = testget_extra(scanner); + + if (!check->bar) + check->bar = "Hello World"; + + check_extra(scanner); + + return malloc(size); +} + +/* Save char into junk array at next position. */ +static void check_extra(yyscan_t scanner) +{ + struct Check *check; + check = testget_extra(scanner); + + if (check->foo != 'a') { + fprintf(stderr, "foo is not 'a'\n"); + exit(1); + } + if (strcmp(check->bar, "Hello World") != 0) { + fprintf(stderr, "bar is not Hello World\n"); + exit(1); + } + if (check->qux != 'z') { + fprintf(stderr, "qux is not 'z'\n"); + exit(1); + } +} diff --git a/tests/alloc_extra.txt b/tests/alloc_extra.txt new file mode 100644 index 0000000..243df29 --- /dev/null +++ b/tests/alloc_extra.txt @@ -0,0 +1,795 @@ + + THE UNITED STATES CONSTITUTION + _________________________________________________________________ + + (See Note 1) + + We the People of the United States, in Order to form a more perfect + Union, establish Justice, insure domestic Tranquility, provide for the + common defence, promote the general Welfare, and secure the Blessings + of Liberty to ourselves and our Posterity, do ordain and establish + this Constitution for the United States of America. + +Article. I. + + Section 1. + + All legislative Powers herein granted shall be vested in a Congress of + the United States, which shall consist of a Senate and House of + Representatives. + + Section. 2. + + Clause 1: The House of Representatives shall be composed of Members + chosen every second Year by the People of the several States, and the + Electors in each State shall have the Qualifications requisite for + Electors of the most numerous Branch of the State Legislature. + + Clause 2: No Person shall be a Representative who shall not have + attained to the Age of twenty five Years, and been seven Years a + Citizen of the United States, and who shall not, when elected, be an + Inhabitant of that State in which he shall be chosen. + + Clause 3: Representatives and direct Taxes shall be apportioned among + the several States which may be included within this Union, according + to their respective Numbers, which shall be determined by adding to + the whole Number of free Persons, including those bound to Service for + a Term of Years, and excluding Indians not taxed, three fifths of all + other Persons. (See Note 2) The actual Enumeration shall be made + within three Years after the first Meeting of the Congress of the + United States, and within every subsequent Term of ten Years, in such + Manner as they shall by Law direct. The Number of Representatives + shall not exceed one for every thirty Thousand, but each State shall + have at Least one Representative; and until such enumeration shall be + made, the State of New Hampshire shall be entitled to chuse three, + Massachusetts eight, Rhode-Island and Providence Plantations one, + Connecticut five, New-York six, New Jersey four, Pennsylvania eight, + Delaware one, Maryland six, Virginia ten, North Carolina five, South + Carolina five, and Georgia three. + + Clause 4: When vacancies happen in the Representation from any State, + the Executive Authority thereof shall issue Writs of Election to fill + such Vacancies. + + Clause 5: The House of Representatives shall chuse their Speaker and + other Officers; and shall have the sole Power of Impeachment. + + Section. 3. + + Clause 1: The Senate of the United States shall be composed of two + Senators from each State, chosen by the Legislature thereof, (See Note + 3) for six Years; and each Senator shall have one Vote. + + Clause 2: Immediately after they shall be assembled in Consequence of + the first Election, they shall be divided as equally as may be into + three Classes. The Seats of the Senators of the first Class shall be + vacated at the Expiration of the second Year, of the second Class at + the Expiration of the fourth Year, and of the third Class at the + Expiration of the sixth Year, so that one third may be chosen every + second Year; and if Vacancies happen by Resignation, or otherwise, + during the Recess of the Legislature of any State, the Executive + thereof may make temporary Appointments until the next Meeting of the + Legislature, which shall then fill such Vacancies. (See Note 4) + + Clause 3: No Person shall be a Senator who shall not have attained to + the Age of thirty Years, and been nine Years a Citizen of the United + States, and who shall not, when elected, be an Inhabitant of that + State for which he shall be chosen. + + Clause 4: The Vice President of the United States shall be President + of the Senate, but shall have no Vote, unless they be equally divided. + + Clause 5: The Senate shall chuse their other Officers, and also a + President pro tempore, in the Absence of the Vice President, or when + he shall exercise the Office of President of the United States. + + Clause 6: The Senate shall have the sole Power to try all + Impeachments. When sitting for that Purpose, they shall be on Oath or + Affirmation. When the President of the United States is tried, the + Chief Justice shall preside: And no Person shall be convicted without + the Concurrence of two thirds of the Members present. + + Clause 7: Judgment in Cases of Impeachment shall not extend further + than to removal from Office, and disqualification to hold and enjoy + any Office of honor, Trust or Profit under the United States: but the + Party convicted shall nevertheless be liable and subject to + Indictment, Trial, Judgment and Punishment, according to Law. + + Section. 4. + + Clause 1: The Times, Places and Manner of holding Elections for + Senators and Representatives, shall be prescribed in each State by the + Legislature thereof; but the Congress may at any time by Law make or + alter such Regulations, except as to the Places of chusing Senators. + + Clause 2: The Congress shall assemble at least once in every Year, and + such Meeting shall be on the first Monday in December, (See Note 5) + unless they shall by Law appoint a different Day. + + Section. 5. + + Clause 1: Each House shall be the Judge of the Elections, Returns and + Qualifications of its own Members, and a Majority of each shall + constitute a Quorum to do Business; but a smaller Number may adjourn + from day to day, and may be authorized to compel the Attendance of + absent Members, in such Manner, and under such Penalties as each House + may provide. + + Clause 2: Each House may determine the Rules of its Proceedings, + punish its Members for disorderly Behaviour, and, with the Concurrence + of two thirds, expel a Member. + + Clause 3: Each House shall keep a Journal of its Proceedings, and from + time to time publish the same, excepting such Parts as may in their + Judgment require Secrecy; and the Yeas and Nays of the Members of + either House on any question shall, at the Desire of one fifth of + those Present, be entered on the Journal. + + Clause 4: Neither House, during the Session of Congress, shall, + without the Consent of the other, adjourn for more than three days, + nor to any other Place than that in which the two Houses shall be + sitting. + + Section. 6. + + Clause 1: The Senators and Representatives shall receive a + Compensation for their Services, to be ascertained by Law, and paid + out of the Treasury of the United States. (See Note 6) They shall in + all Cases, except Treason, Felony and Breach of the Peace, + beprivileged from Arrest during their Attendance at the Session of + their respective Houses, and in going to and returning from the same; + and for any Speech or Debate in either House, they shall not be + questioned in any other Place. + + Clause 2: No Senator or Representative shall, during the Time for + which he was elected, be appointed to any civil Office under the + Authority of the United States, which shall have been created, or the + Emoluments whereof shall have been encreased during such time; and no + Person holding any Office under the United States, shall be a Member + of either House during his Continuance in Office. + + Section. 7. + + Clause 1: All Bills for raising Revenue shall originate in the House + of Representatives; but the Senate may propose or concur with + Amendments as on other Bills. + + Clause 2: Every Bill which shall have passed the House of + Representatives and the Senate, shall, before it become a Law, be + presented to the President of the United States; If he approve he + shall sign it, but if not he shall return it, with his Objections to + that House in which it shall have originated, who shall enter the + Objections at large on their Journal, and proceed to reconsider it. If + after such Reconsideration two thirds of that House shall agree to + pass the Bill, it shall be sent, together with the Objections, to the + other House, by which it shall likewise be reconsidered, and if + approved by two thirds of that House, it shall become a Law. But in + all such Cases the Votes of both Houses shall be determined by yeas + and Nays, and the Names of the Persons voting for and against the Bill + shall be entered on the Journal of each House respectively. If any + Bill shall not be returned by the President within ten Days (Sundays + excepted) after it shall have been presented to him, the Same shall be + a Law, in like Manner as if he had signed it, unless the Congress by + their Adjournment prevent its Return, in which Case it shall not be a + Law. + + Clause 3: Every Order, Resolution, or Vote to which the Concurrence of + the Senate and House of Representatives may be necessary (except on a + question of Adjournment) shall be presented to the President of the + United States; and before the Same shall take Effect, shall be + approved by him, or being disapproved by him, shall be repassed by two + thirds of the Senate and House of Representatives, according to the + Rules and Limitations prescribed in the Case of a Bill. + + Section. 8. + + Clause 1: The Congress shall have Power To lay and collect Taxes, + Duties, Imposts and Excises, to pay the Debts and provide for the + common Defence and general Welfare of the United States; but all + Duties, Imposts and Excises shall be uniform throughout the United + States; + + Clause 2: To borrow Money on the credit of the United States; + + Clause 3: To regulate Commerce with foreign Nations, and among the + several States, and with the Indian Tribes; + + Clause 4: To establish an uniform Rule of Naturalization, and uniform + Laws on the subject of Bankruptcies throughout the United States; + + Clause 5: To coin Money, regulate the Value thereof, and of foreign + Coin, and fix the Standard of Weights and Measures; + + Clause 6: To provide for the Punishment of counterfeiting the + Securities and current Coin of the United States; + + Clause 7: To establish Post Offices and post Roads; + + Clause 8: To promote the Progress of Science and useful Arts, by + securing for limited Times to Authors and Inventors the exclusive + Right to their respective Writings and Discoveries; + + Clause 9: To constitute Tribunals inferior to the supreme Court; + + Clause 10: To define and punish Piracies and Felonies committed on the + high Seas, and Offences against the Law of Nations; + + Clause 11: To declare War, grant Letters of Marque and Reprisal, and + make Rules concerning Captures on Land and Water; + + Clause 12: To raise and support Armies, but no Appropriation of Money + to that Use shall be for a longer Term than two Years; + + Clause 13: To provide and maintain a Navy; + + Clause 14: To make Rules for the Government and Regulation of the land + and naval Forces; + + Clause 15: To provide for calling forth the Militia to execute the + Laws of the Union, suppress Insurrections and repel Invasions; + + Clause 16: To provide for organizing, arming, and disciplining, the + Militia, and for governing such Part of them as may be employed in the + Service of the United States, reserving to the States respectively, + the Appointment of the Officers, and the Authority of training the + Militia according to the discipline prescribed by Congress; + + Clause 17: To exercise exclusive Legislation in all Cases whatsoever, + over such District (not exceeding ten Miles square) as may, byCession + of particular States, and the Acceptance of Congress, become the Seat + of the Government of the United States, and to exercise like Authority + over all Places purchased by the Consent of the Legislature of the + State in which the Same shall be, for the Erection of Forts, + Magazines, Arsenals, dock-Yards, and other needful Buildings;--And + + Clause 18: To make all Laws which shall be necessary and proper for + carrying into Execution the foregoing Powers, and all other Powers + vested by this Constitution in the Government of the United States, or + in any Department or Officer thereof. + + Section. 9. + + Clause 1: The Migration or Importation of such Persons as any of the + States now existing shall think proper to admit, shall not be + prohibited by the Congress prior to the Year one thousand eight + hundred and eight, but a Tax or duty may be imposed on such + Importation, not exceeding ten dollars for each Person. + + Clause 2: The Privilege of the Writ of Habeas Corpus shall not be + suspended, unless when in Cases of Rebellion or Invasion the public + Safety may require it. + + Clause 3: No Bill of Attainder or ex post facto Law shall be passed. + + Clause 4: No Capitation, or other direct, Tax shall be laid, unless in + Proportion to the Census or Enumeration herein before directed to be + taken. (See Note 7) + + Clause 5: No Tax or Duty shall be laid on Articles exported from any + State. + + Clause 6: No Preference shall be given by any Regulation of Commerce + or Revenue to the Ports of one State over those of another: nor shall + Vessels bound to, or from, one State, be obliged to enter, clear, or + pay Duties in another. + + Clause 7: No Money shall be drawn from the Treasury, but in + Consequence of Appropriations made by Law; and a regular Statement and + Account of the Receipts and Expenditures of all public Money shall be + published from time to time. + + Clause 8: No Title of Nobility shall be granted by the United States: + And no Person holding any Office of Profit or Trust under them, shall, + without the Consent of the Congress, accept of any present, Emolument, + Office, or Title, of any kind whatever, from any King, Prince, or + foreign State. + + Section. 10. + + Clause 1: No State shall enter into any Treaty, Alliance, or + Confederation; grant Letters of Marque and Reprisal; coin Money; emit + Bills of Credit; make any Thing but gold and silver Coin a Tender in + Payment of Debts; pass any Bill of Attainder, ex post facto Law, or + Law impairing the Obligation of Contracts, or grant any Title of + Nobility. + + Clause 2: No State shall, without the Consent of the Congress, lay any + Imposts or Duties on Imports or Exports, except what may be absolutely + necessary for executing it's inspection Laws: and the net Produce of + all Duties and Imposts, laid by any State on Imports or Exports, shall + be for the Use of the Treasury of the United States; and all such Laws + shall be subject to the Revision and Controul of the Congress. + + Clause 3: No State shall, without the Consent of Congress, lay any + Duty of Tonnage, keep Troops, or Ships of War in time of Peace, enter + into any Agreement or Compact with another State, or with a foreign + Power, or engage in War, unless actually invaded, or in such imminent + Danger as will not admit of delay. + +Article. II. + + Section. 1. + + Clause 1: The executive Power shall be vested in a President of the + United States of America. He shall hold his Office during the Term of + four Years, and, together with the Vice President, chosen for the same + Term, be elected, as follows + + Clause 2: Each State shall appoint, in such Manner as the Legislature + thereof may direct, a Number of Electors, equal to the whole Number of + Senators and Representatives to which the State may be entitled in the + Congress: but no Senator or Representative, or Person holding an + Office of Trust or Profit under the United States, shall be appointed + an Elector. + + Clause 3: The Electors shall meet in their respective States, and vote + by Ballot for two Persons, of whom one at least shall not be an + Inhabitant of the same State with themselves. And they shall make a + List of all the Persons voted for, and of the Number of Votes for + each; which List they shall sign and certify, and transmit sealed to + the Seat of the Government of the United States, directed to the + President of the Senate. The President of the Senate shall, in the + Presence of the Senate and House of Representatives, open all the + Certificates, and the Votes shall then be counted. The Person having + the greatest Number of Votes shall be the President, if such Number be + a Majority of the whole Number of Electors appointed; and if there be + more than one who have such Majority, and have an equal Number of + Votes, then the House of Representatives shall immediately chuse by + Ballot one of them for President; and if no Person have a Majority, + then from the five highest on the List the said House shall in like + Manner chuse the President. But in chusing the President, the Votes + shall be taken by States, the Representation from each State having + one Vote; A quorum for this Purpose shall consist of a Member or + Members from two thirds of the States, and a Majority of all the + States shall be necessary to a Choice. In every Case, after the Choice + of the President, the Person having the greatest Number of Votes of + the Electors shall be the Vice President. But if there should remain + two or more who have equal Votes, the Senate shall chuse from them by + Ballot the Vice President. (See Note 8) + + Clause 4: The Congress may determine the Time of chusing the Electors, + and the Day on which they shall give their Votes; which Day shall be + the same throughout the United States. + + Clause 5: No Person except a natural born Citizen, or a Citizen of the + United States, at the time of the Adoption of this Constitution, shall + be eligible to the Office of President; neither shall any Person be + eligible to that Office who shall not have attained to the Age of + thirty five Years, and been fourteen Years a Resident within the + United States. + + Clause 6: In Case of the Removal of the President from Office, or of + his Death, Resignation, or Inability to discharge the Powers and + Duties of the said Office, (See Note 9) the Same shall devolve on the + VicePresident, and the Congress may by Law provide for the Case of + Removal, Death, Resignation or Inability, both of the President and + Vice President, declaring what Officer shall then act as President, + and such Officer shall act accordingly, until the Disability be + removed, or a President shall be elected. + + Clause 7: The President shall, at stated Times, receive for his + Services, a Compensation, which shall neither be encreased nor + diminished during the Period for which he shall have been elected, and + he shall not receive within that Period any other Emolument from the + United States, or any of them. + + Clause 8: Before he enter on the Execution of his Office, he shall + take the following Oath or Affirmation:--"I do solemnly swear (or + affirm) that I will faithfully execute the Office of President of the + United States, and will to the best of my Ability, preserve, protect + and defend the Constitution of the United States." + + Section. 2. + + Clause 1: The President shall be Commander in Chief of the Army and + Navy of the United States, and of the Militia of the several States, + when called into the actual Service of the United States; he may + require the Opinion, in writing, of the principal Officer in each of + the executive Departments, upon any Subject relating to the Duties of + their respective Offices, and he shall have Power to grant Reprieves + and Pardons for Offences against the United States, except in Cases of + Impeachment. + + Clause 2: He shall have Power, by and with the Advice and Consent of + the Senate, to make Treaties, provided two thirds of the Senators + present concur; and he shall nominate, and by and with the Advice and + Consent of the Senate, shall appoint Ambassadors, other public + Ministers and Consuls, Judges of the supreme Court, and all other + Officers of the United States, whose Appointments are not herein + otherwise provided for, and which shall be established by Law: but the + Congress may by Law vest the Appointment of such inferior Officers, as + they think proper, in the President alone, in the Courts of Law, or in + the Heads of Departments. + + Clause 3: The President shall have Power to fill up all Vacancies that + may happen during the Recess of the Senate, by granting Commissions + which shall expire at the End of their next Session. + + Section. 3. + + He shall from time to time give to the Congress Information of the + State of the Union, and recommend to their Consideration such Measures + as he shall judge necessary and expedient; he may, on extraordinary + Occasions, convene both Houses, or either of them, and in Case of + Disagreement between them, with Respect to the Time of Adjournment, he + may adjourn them to such Time as he shall think proper; he shall + receive Ambassadors and other public Ministers; he shall take Care + that the Laws be faithfully executed, and shall Commission all the + Officers of the United States. + + Section. 4. + + The President, Vice President and all civil Officers of the United + States, shall be removed from Office on Impeachment for, and + Conviction of, Treason, Bribery, or other high Crimes and + Misdemeanors. + +Article. III. + + Section. 1. + + The judicial Power of the United States, shall be vested in one + supreme Court, and in such inferior Courts as the Congress may from + time to time ordain and establish. The Judges, both of the supreme and + inferior Courts, shall hold their Offices during good Behaviour, and + shall, at stated Times, receive for their Services, a Compensation, + which shall not be diminished during their Continuance in Office. + + Section. 2. + + Clause 1: The judicial Power shall extend to all Cases, in Law and + Equity, arising under this Constitution, the Laws of the United + States, and Treaties made, or which shall be made, under their + Authority;--to all Cases affecting Ambassadors, other public Ministers + and Consuls;--to all Cases of admiralty and maritime Jurisdiction;--to + Controversies to which the United States shall be a Party;--to + Controversies between two or more States;--between a State and + Citizens of another State; (See Note 10)--between Citizens of + different States, --between Citizens of the same State claiming Lands + under Grants of different States, and between a State, or the Citizens + thereof, and foreign States, Citizens or Subjects. + + Clause 2: In all Cases affecting Ambassadors, other public Ministers + and Consuls, and those in which a State shall be Party, the supreme + Court shall have original Jurisdiction. In all the other Cases before + mentioned, the supreme Court shall have appellate Jurisdiction, both + as to Law and Fact, with such Exceptions, and under such Regulations + as the Congress shall make. + + Clause 3: The Trial of all Crimes, except in Cases of Impeachment, + shall be by Jury; and such Trial shall be held in the State where the + said Crimes shall have been committed; but when not committed within + any State, the Trial shall be at such Place or Places as the Congress + may by Law have directed. + + Section. 3. + + Clause 1: Treason against the United States, shall consist only in + levying War against them, or in adhering to their Enemies, giving them + Aid and Comfort. No Person shall be convicted of Treason unless on the + Testimony of two Witnesses to the same overt Act, or on Confession in + open Court. + + Clause 2: The Congress shall have Power to declare the Punishment of + Treason, but no Attainder of Treason shall work Corruption of Blood, + or Forfeiture except during the Life of the Person attainted. + +Article. IV. + + Section. 1. + + Full Faith and Credit shall be given in each State to the public Acts, + Records, and judicial Proceedings of every other State. And the + Congress may by general Laws prescribe the Manner in which such Acts, + Records and Proceedings shall be proved, and the Effect thereof. + + Section. 2. + + Clause 1: The Citizens of each State shall be entitled to all + Privileges and Immunities of Citizens in the several States. + + Clause 2: A Person charged in any State with Treason, Felony, or other + Crime, who shall flee from Justice, and be found in another State, + shall on Demand of the executive Authority of the State from which he + fled, be delivered up, to be removed to the State having Jurisdiction + of the Crime. + + Clause 3: No Person held to Service or Labour in one State, under the + Laws thereof, escaping into another, shall, in Consequence of any Law + or Regulation therein, be discharged from such Service or Labour, but + shall be delivered up on Claim of the Party to whom such Service or + Labour may be due. (See Note 11) + + Section. 3. + + Clause 1: New States may be admitted by the Congress into this Union; + but no new State shall be formed or erected within the Jurisdiction of + any other State; nor any State be formed by the Junction of two or + more States, or Parts of States, without the Consent of the + Legislatures of the States concerned as well as of the Congress. + + Clause 2: The Congress shall have Power to dispose of and make all + needful Rules and Regulations respecting the Territory or other + Property belonging to the United States; and nothing in this + Constitution shall be so construed as to Prejudice any Claims of the + United States, or of any particular State. + + Section. 4. + + The United States shall guarantee to every State in this Union a + Republican Form of Government, and shall protect each of them against + Invasion; and on Application of the Legislature, or of the Executive + (when the Legislature cannot be convened) against domestic Violence. + +Article. V. + + The Congress, whenever two thirds of both Houses shall deem it + necessary, shall propose [1]Amendments to this Constitution, or, on + the Application of the Legislatures of two thirds of the several + States, shall call a Convention for proposing Amendments, which, in + either Case, shall be valid to all Intents and Purposes, as Part of + this Constitution, when ratified by the Legislatures of three fourths + of the several States, or by Conventions in three fourths thereof, as + the one or the other Mode of Ratification may be proposed by the + Congress; Provided that no Amendment which may be made prior to the + Year One thousand eight hundred and eight shall in any Manner affect + the first and fourth Clauses in the Ninth Section of the first + Article; and that no State, without its Consent, shall be deprived of + its equal Suffrage in the Senate. + +Article. VI. + + Clause 1: All Debts contracted and Engagements entered into, before + the Adoption of this Constitution, shall be as valid against the + United States under this Constitution, as under the Confederation. + + Clause 2: This Constitution, and the Laws of the United States which + shall be made in Pursuance thereof; and all Treaties made, or which + shall be made, under the Authority of the United States, shall be the + supreme Law of the Land; and the Judges in every State shall be bound + thereby, any Thing in the Constitution or Laws of any State to the + Contrary notwithstanding. + + Clause 3: The Senators and Representatives before mentioned, and the + Members of the several State Legislatures, and all executive and + judicial Officers, both of the United States and of the several + States, shall be bound by Oath or Affirmation, to support this + Constitution; but no religious Test shall ever be required as a + Qualification to any Office or public Trust under the United States. + +Article. VII. + + The Ratification of the Conventions of nine States, shall be + sufficient for the Establishment of this Constitution between the + States so ratifying the Same. + + done in Convention by the Unanimous Consent of the States present the + Seventeenth Day of September in the Year of our Lord one thousand + seven hundred and Eighty seven and of the Independence of the United + States of America the Twelfth In witness whereof We have hereunto + subscribed our Names, + + GO WASHINGTON--Presidt. and deputy from Virginia + + [Signed also by the deputies of twelve States.] + + Delaware + + Geo: Read + Gunning Bedford jun + John Dickinson + Richard Bassett + Jaco: Broom + + Maryland + + James MCHenry + Dan of ST ThoS. Jenifer + DanL Carroll. + + Virginia + + John Blair-- + James Madison Jr. + + North Carolina + + WM Blount + RichD. Dobbs Spaight. + Hu Williamson + + South Carolina + + J. Rutledge + Charles 1ACotesworth Pinckney + Charles Pinckney + Pierce Butler. + + Georgia + + William Few + Abr Baldwin + + New Hampshire + + John Langdon + Nicholas Gilman + + Massachusetts + + Nathaniel Gorham + Rufus King + + Connecticut + WM. SamL. Johnson + Roger Sherman + + New York + + Alexander Hamilton + + New Jersey + + Wil: Livingston + David Brearley. + WM. Paterson. + Jona: Dayton + + Pennsylvania + + B Franklin + Thomas Mifflin + RobT Morris + Geo. Clymer + ThoS. FitzSimons + Jared Ingersoll + James Wilson. + Gouv Morris + + Attest William Jackson Secretary + + NOTES + + Note 1: This text of the Constitution follows the engrossed copy + signed by Gen. Washington and the deputies from 12 States. The small + superior figures preceding the paragraphs designate Clauses, and were + not in the original and have no reference to footnotes. + + The Constitution was adopted by a convention of the States on + September 17, 1787, and was subsequently ratified by the several + States, on the following dates: Delaware, December 7, 1787; + Pennsylvania, December 12, 1787; New Jersey, December 18, 1787; + Georgia, January 2, 1788; Connecticut, January 9, 1788; Massachusetts, + February 6, 1788; Maryland, April 28, 1788; South Carolina, May 23, + 1788; New Hampshire, June 21, 1788. + + Ratification was completed on June 21, 1788. + + The Constitution was subsequently ratified by Virginia, June 25, 1788; + New York, July 26, 1788; North Carolina, November 21, 1789; Rhode + Island, May 29, 1790; and Vermont, January 10, 1791. + + In May 1785, a committee of Congress made a report recommending an + alteration in the Articles of Confederation, but no action was taken + on it, and it was left to the State Legislatures to proceed in the + matter. In January 1786, the Legislature of Virginia passed a + resolution providing for the appointment of five commissioners, who, + or any three of them, should meet such commissioners as might be + appointed in the other States of the Union, at a time and place to be + agreed upon, to take into consideration the trade of the United + States; to consider how far a uniform system in their commercial + regulations may be necessary to their common interest and their + permanent harmony; and to report to the several States such an act, + relative to this great object, as, when ratified by them, will enable + the United States in Congress effectually to provide for the same. The + Virginia commissioners, after some correspondence, fixed the first + Monday in September as the time, and the city of Annapolis as the + place for the meeting, but only four other States were represented, + viz: Delaware, New York, New Jersey, and Pennsylvania; the + commissioners appointed by Massachusetts, New Hampshire, North + Carolina, and Rhode Island failed to attend. Under the circumstances + of so partial a representation, the commissioners present agreed upon + a report, (drawn by Mr. Hamilton, of New York,) expressing their + unanimous conviction that it might essentially tend to advance the + interests of the Union if the States by which they were respectively + delegated would concur, and use their endeavors to procure the + concurrence of the other States, in the appointment of commissioners + to meet at Philadelphia on the Second Monday of May following, to take + into consideration the situation of the United States; to devise such + further provisions as should appear to them necessary to render the + Constitution of the Federal Government adequate to the exigencies of + the Union; and to report such an act for that purpose to the United + States in Congress assembled as, when agreed to by them and afterwards + confirmed by the Legislatures of every State, would effectually + provide for the same. + + Congress, on the 21st of February, 1787, adopted a resolution in favor + of a convention, and the Legislatures of those States which had not + already done so (with the exception of Rhode Island) promptly + appointed delegates. On the 25th of May, seven States having convened, + George Washington, of Virginia, was unanimously elected President, and + the consideration of the proposed constitution was commenced. On the + 17th of September, 1787, the Constitution as engrossed and agreed upon + was signed by all the members present, except Mr. Gerry of + Massachusetts, and Messrs. Mason and Randolph, of Virginia. The + president of the convention transmitted it to Congress, with a + resolution stating how the proposed Federal Government should be put + in operation, and an explanatory letter. Congress, on the 28th of + September, 1787, directed the Constitution so framed, with the + resolutions and letter concerning the same, to "be transmitted to the + several Legislatures in order to be submitted to a convention of + delegates chosen in each State by the people thereof, in conformity to + the resolves of the convention." + + On the 4th of March, 1789, the day which had been fixed for commencing + the operations of Government under the new Constitution, it had been + ratified by the conventions chosen in each State to consider it, as + follows: Delaware, December 7, 1787; Pennsylvania, December 12, 1787; + New Jersey, December 18, 1787; Georgia, January 2, 1788; Connecticut, + January 9, 1788; Massachusetts, February 6, 1788; Maryland, April 28, + 1788; South Carolina, May 23, 1788; New Hampshire, June 21, 1788; + Virginia, June 25, 1788; and New York, July 26, 1788. + + The President informed Congress, on the 28th of January, 1790, that + North Carolina had ratified the Constitution November 21, 1789; and he + informed Congress on the 1st of June, 1790, that Rhode Island had + ratified the Constitution May 29, 1790. Vermont, in convention, + ratified the Constitution January 10, 1791, and was, by an act of + Congress approved February 18, 1791, "received and admitted into this + Union as a new and entire member of the United States." + + Note 2: The part of this Clause relating to the mode of apportionment + of representatives among the several States has been affected by + Section 2 of amendment XIV, and as to taxes on incomes without + apportionment by amendment XVI. + + Note 3: This Clause has been affected by Clause 1 of amendment XVII. + + Note 4: This Clause has been affected by Clause 2 of amendment XVIII. + + Note 5: This Clause has been affected by amendment XX. + + Note 6: This Clause has been affected by amendment XXVII. + + Note 7: This Clause has been affected by amendment XVI. + + Note 8: This Clause has been superseded by amendment XII. + + Note 9: This Clause has been affected by amendment XXV. + + Note 10: This Clause has been affected by amendment XI. + + Note 11: This Clause has been affected by amendment XIII. + + Note 12: The first ten amendments to the Constitution of the United + States (and two others, one of which failed of ratification and the + other which later became the 27th amendment) were proposed to the + legislatures of the several States by the First Congress on September + 25, 1789. The first ten amendments were ratified by the following + States, and the notifications of ratification by the Governors thereof + were successively communicated by the President to Congress: New + Jersey, November 20, 1789; Maryland, December 19, 1789; North + Carolina, December 22, 1789; South Carolina, January 19, 1790; New + Hampshire, January 25, 1790; Delaware, January 28, 1790; New York, + February 24, 1790; Pennsylvania, March 10, 1790; Rhode Island, June 7, + 1790; Vermont, November 3, 1791; and Virginia, December 15, 1791. + + Ratification was completed on December 15, 1791. + + The amendments were subsequently ratified by the legislatures of + Massachusetts, March 2, 1939; Georgia, March 18, 1939; and + Connecticut, April 19, 1939. + + Note 13: Only the 13th, 14th, 15th, and 16th articles of amendment had + numbers assigned to them at the time of ratification. + + Note 14: This sentence has been superseded by section 3 of amendment + XX. + + Note 15: See amendment XIX and section 1 of amendment XXVI. + + Note 16: Repealed by section 1 of amendment XXI. + +References + + 1. http://www.house.gov/Constitution/Amend.html diff --git a/tests/array-nr.l b/tests/array-nr.l deleted file mode 100644 index d961ee9..0000000 --- a/tests/array-nr.l +++ /dev/null @@ -1,55 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -%{ -/* A template scanner file to build "scanner.c". */ -#include -#include -#include "config.h" -/*#include "parser.h" */ - -%} - -%option 8bit prefix="test" -%option nounput nomain noyywrap -%option warn array - - -%% - -.|\n { } - - -%% - -int main (void); - -int -main () -{ - yyin = stdin; - yyout = stdout; - yylex(); - printf("TEST RETURNING OK.\n"); - return 0; -} diff --git a/tests/array-nr.txt b/tests/array-nr.txt deleted file mode 100644 index 7288a40..0000000 --- a/tests/array-nr.txt +++ /dev/null @@ -1,2 +0,0 @@ -0000 foo 1111 foo 0000 bar -0000 foo 1111 foo 0000 bar diff --git a/tests/array-r.l b/tests/array-r.l deleted file mode 100644 index 0285240..0000000 --- a/tests/array-r.l +++ /dev/null @@ -1,62 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -%{ -/* A template scanner file to build "scanner.c". */ -#include -#include -#include "config.h" -/*#include "parser.h" */ - -%} - -%option 8bit prefix="test" -%option nounput nomain noyywrap -%option warn array reentrant - - -%% - -.|\n { } - - -%% - -int main(void); - -int -main () -{ - yyscan_t lexer; - - yylex_init(&lexer); - yyset_in(stdin, lexer); - yyset_out(stdout, lexer); - - yylex( lexer ); - - yylex_destroy( lexer); - printf("TEST RETURNING OK.\n"); - - return 0; -} diff --git a/tests/array-r.txt b/tests/array-r.txt deleted file mode 100644 index 7288a40..0000000 --- a/tests/array-r.txt +++ /dev/null @@ -1,2 +0,0 @@ -0000 foo 1111 foo 0000 bar -0000 foo 1111 foo 0000 bar diff --git a/tests/array_nr.l b/tests/array_nr.l new file mode 100644 index 0000000..d961ee9 --- /dev/null +++ b/tests/array_nr.l @@ -0,0 +1,55 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +%{ +/* A template scanner file to build "scanner.c". */ +#include +#include +#include "config.h" +/*#include "parser.h" */ + +%} + +%option 8bit prefix="test" +%option nounput nomain noyywrap +%option warn array + + +%% + +.|\n { } + + +%% + +int main (void); + +int +main () +{ + yyin = stdin; + yyout = stdout; + yylex(); + printf("TEST RETURNING OK.\n"); + return 0; +} diff --git a/tests/array_nr.txt b/tests/array_nr.txt new file mode 100644 index 0000000..7288a40 --- /dev/null +++ b/tests/array_nr.txt @@ -0,0 +1,2 @@ +0000 foo 1111 foo 0000 bar +0000 foo 1111 foo 0000 bar diff --git a/tests/array_r.l b/tests/array_r.l new file mode 100644 index 0000000..0285240 --- /dev/null +++ b/tests/array_r.l @@ -0,0 +1,62 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +%{ +/* A template scanner file to build "scanner.c". */ +#include +#include +#include "config.h" +/*#include "parser.h" */ + +%} + +%option 8bit prefix="test" +%option nounput nomain noyywrap +%option warn array reentrant + + +%% + +.|\n { } + + +%% + +int main(void); + +int +main () +{ + yyscan_t lexer; + + yylex_init(&lexer); + yyset_in(stdin, lexer); + yyset_out(stdout, lexer); + + yylex( lexer ); + + yylex_destroy( lexer); + printf("TEST RETURNING OK.\n"); + + return 0; +} diff --git a/tests/array_r.txt b/tests/array_r.txt new file mode 100644 index 0000000..7288a40 --- /dev/null +++ b/tests/array_r.txt @@ -0,0 +1,2 @@ +0000 foo 1111 foo 0000 bar +0000 foo 1111 foo 0000 bar diff --git a/tests/basic-nr.l b/tests/basic-nr.l deleted file mode 100644 index 7109b2b..0000000 --- a/tests/basic-nr.l +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -/* TEST scanner. - Basic non-reentrant scanner. - - Sample Input: - # this is a comment - foo = true - bar = "string value" - integer = 43 -*/ -%{ -#include "config.h" -%} - -%option prefix="test" -%option nounput noyywrap noyylineno warn nodefault - -IDENT [[:alnum:]_-] -WS [[:blank:]] -%% - -^{IDENT}+{WS}*={WS}*(true|false){WS}*\r?\n { return 100;} -^{IDENT}+{WS}*={WS}*\"[^\"\n\r]*\"{WS}*\r?\n { return 101;} -^{IDENT}+{WS}*={WS}*[[:digit:]]+{WS}*\r?\n { return 102;} -^{WS}*#.*\r?\n { } -^{WS}*\r?\n { } -.|\n { fprintf(stderr,"Invalid line.\n"); exit(-1);} - -%% - -int main(void); - -int main () -{ - yyin = stdin; - yyout = stdout; - while( yylex() ) - { - } - printf("TEST RETURNING OK.\n"); - return 0; -} diff --git a/tests/basic-nr.txt b/tests/basic-nr.txt deleted file mode 100644 index 642e0fb..0000000 --- a/tests/basic-nr.txt +++ /dev/null @@ -1,5 +0,0 @@ -# this is a comment -foo = "bar" -num = 43 -setting = false - diff --git a/tests/basic-r.l b/tests/basic-r.l deleted file mode 100644 index 425af7c..0000000 --- a/tests/basic-r.l +++ /dev/null @@ -1,68 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -/* A reentrant scanner. - This file will not compile under flex version <= 2.5.4. - Sample Input: - # this is a comment - foo = true - bar = "string value" - integer = 43 -*/ -%{ -#include "config.h" -%} - -%option prefix="test" -%option nounput noyywrap noyylineno warn nodefault -%option reentrant - -IDENT [[:alnum:]_-] -WS [[:blank:]] -%% - -^{IDENT}+{WS}*={WS}*(true|false){WS}*\r?\n { return 100;} -^{IDENT}+{WS}*={WS}*\"[^\"\n\r]*\"{WS}*\r?\n { return 101;} -^{IDENT}+{WS}*={WS}*[[:digit:]]+{WS}*\r?\n { return 102;} -^{WS}*#.*\r?\n { } -^{WS}*\r?\n { } -.|\n { fprintf(stderr,"Invalid line.\n"); exit(-1);} - -%% - -int main(void); - -int main () -{ - yyscan_t lexer; - yylex_init( &lexer ); - yyset_out ( stdout,lexer); - yyset_in ( stdin, lexer); - while( yylex(lexer) ) - { - } - yylex_destroy( lexer ); - printf("TEST RETURNING OK.\n"); - return 0; -} - diff --git a/tests/basic-r.txt b/tests/basic-r.txt deleted file mode 100644 index 2160628..0000000 --- a/tests/basic-r.txt +++ /dev/null @@ -1,4 +0,0 @@ -# this is a comment -foo = "bar" -num = 43 -setting = false diff --git a/tests/basic_nr.l b/tests/basic_nr.l new file mode 100644 index 0000000..7109b2b --- /dev/null +++ b/tests/basic_nr.l @@ -0,0 +1,64 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +/* TEST scanner. + Basic non-reentrant scanner. + + Sample Input: + # this is a comment + foo = true + bar = "string value" + integer = 43 +*/ +%{ +#include "config.h" +%} + +%option prefix="test" +%option nounput noyywrap noyylineno warn nodefault + +IDENT [[:alnum:]_-] +WS [[:blank:]] +%% + +^{IDENT}+{WS}*={WS}*(true|false){WS}*\r?\n { return 100;} +^{IDENT}+{WS}*={WS}*\"[^\"\n\r]*\"{WS}*\r?\n { return 101;} +^{IDENT}+{WS}*={WS}*[[:digit:]]+{WS}*\r?\n { return 102;} +^{WS}*#.*\r?\n { } +^{WS}*\r?\n { } +.|\n { fprintf(stderr,"Invalid line.\n"); exit(-1);} + +%% + +int main(void); + +int main () +{ + yyin = stdin; + yyout = stdout; + while( yylex() ) + { + } + printf("TEST RETURNING OK.\n"); + return 0; +} diff --git a/tests/basic_nr.txt b/tests/basic_nr.txt new file mode 100644 index 0000000..642e0fb --- /dev/null +++ b/tests/basic_nr.txt @@ -0,0 +1,5 @@ +# this is a comment +foo = "bar" +num = 43 +setting = false + diff --git a/tests/basic_r.l b/tests/basic_r.l new file mode 100644 index 0000000..425af7c --- /dev/null +++ b/tests/basic_r.l @@ -0,0 +1,68 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +/* A reentrant scanner. + This file will not compile under flex version <= 2.5.4. + Sample Input: + # this is a comment + foo = true + bar = "string value" + integer = 43 +*/ +%{ +#include "config.h" +%} + +%option prefix="test" +%option nounput noyywrap noyylineno warn nodefault +%option reentrant + +IDENT [[:alnum:]_-] +WS [[:blank:]] +%% + +^{IDENT}+{WS}*={WS}*(true|false){WS}*\r?\n { return 100;} +^{IDENT}+{WS}*={WS}*\"[^\"\n\r]*\"{WS}*\r?\n { return 101;} +^{IDENT}+{WS}*={WS}*[[:digit:]]+{WS}*\r?\n { return 102;} +^{WS}*#.*\r?\n { } +^{WS}*\r?\n { } +.|\n { fprintf(stderr,"Invalid line.\n"); exit(-1);} + +%% + +int main(void); + +int main () +{ + yyscan_t lexer; + yylex_init( &lexer ); + yyset_out ( stdout,lexer); + yyset_in ( stdin, lexer); + while( yylex(lexer) ) + { + } + yylex_destroy( lexer ); + printf("TEST RETURNING OK.\n"); + return 0; +} + diff --git a/tests/basic_r.txt b/tests/basic_r.txt new file mode 100644 index 0000000..2160628 --- /dev/null +++ b/tests/basic_r.txt @@ -0,0 +1,4 @@ +# this is a comment +foo = "bar" +num = 43 +setting = false diff --git a/tests/bison-nr-main.c b/tests/bison-nr-main.c deleted file mode 100644 index edc4d14..0000000 --- a/tests/bison-nr-main.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -#include "bison-nr-parser.h" -#include "bison-nr-scanner.h" - -extern int testparse(void); - -int main ( int argc, char** argv ) -{ - /*yydebug =1;*/ - testin = stdin; - testparse ( ); - return 0; -} - - - -/* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */ diff --git a/tests/bison-nr-parser.y b/tests/bison-nr-parser.y deleted file mode 100644 index 2cbf9aa..0000000 --- a/tests/bison-nr-parser.y +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -/* - How to compile: - bison --defines --output-file="parser.c" --name-prefix="test" parser.y - */ -%{ -#include -#include -#include -#include "config.h" - -#define YYERROR_VERBOSE 1 -/* #define YYPARSE_PARAM scanner */ -/* #define YYLEX_PARAM scanner */ - -int yyerror(char* msg); -extern int testget_lineno(void); - - -/* A dummy function. A check against seg-faults in yylval->str. */ -int process_text(char* s) { - int total =0; - while(*s) { - total += (int) *s; - ++s; - } - return total; -} - - -%} - -%pure_parser - -%union { - int lineno; - char * str; -} -%token IDENT -%token LINENO -%token EQUAL "=" -%token COLON ":" -%token SPACE " " -%% - -file: - line - | file line - ; - -line: - LINENO COLON SPACE IDENT EQUAL IDENT - { - process_text($4); - process_text($6); - /* Check lineno. */ - if( $1 != @1.first_line || $1 != testget_lineno()) - { - yyerror("Parse failed: Line numbers do not match."); - YYABORT; - } - - /* Recreate the line to stdout. */ - printf ( "%04d: %s=%s\n", @1.first_line, $4, $6); - } - ; - -%% - -int yyerror(char* msg) { - fprintf(stderr,"%s\n",msg); - return 0; -} - diff --git a/tests/bison-nr-scanner.l b/tests/bison-nr-scanner.l deleted file mode 100644 index 4d35095..0000000 --- a/tests/bison-nr-scanner.l +++ /dev/null @@ -1,62 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -%{ -/* The scanner expects to link to bison yylval . */ -#include -#include -#include "bison-nr-parser.h" -#include "config.h" -static char* STRDUP(char* s1); -#define YY_EXTRA_TYPE int -%} - -%option 8bit prefix="test" -%option bison-locations yylineno -%option nomain nounput noyy_top_state noyywrap nodefault warn -%option prefix="test" header="bison-nr-scanner.h" yylineno - - -%% - -^[[:digit:]]+ { - yylval->lineno = yylineno; - yylloc->first_line = (int)strtol(yytext,NULL,10); - return LINENO; - } -":" { return COLON; } -" " { return SPACE; } -"=" { return EQUAL; } -[[:alnum:]_]+ { yylval->str = STRDUP(yytext); return IDENT;} - -\r|\n { } -. { yyterminate();} -%% - - -static char* STRDUP(char* s1) -{ - char* s2 = (char*)malloc(strlen(s1)+1); - sprintf(s2,"%s",s1); - return s2; -} diff --git a/tests/bison-nr.txt b/tests/bison-nr.txt deleted file mode 100644 index 94adcb2..0000000 --- a/tests/bison-nr.txt +++ /dev/null @@ -1,4 +0,0 @@ -0001: FIRSTNAME=firstname -0002: MIDDLENAME=middle -0003: LASTNAME=lastname -0004: ADDRESS=address diff --git a/tests/bison-yylloc-main.c b/tests/bison-yylloc-main.c deleted file mode 100644 index ba56219..0000000 --- a/tests/bison-yylloc-main.c +++ /dev/null @@ -1,40 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -#include "bison-yylloc-parser.h" -#include "bison-yylloc-scanner.h" - -int main ( int argc, char** argv ) -{ - yyscan_t scanner; - /*yydebug =1;*/ - testlex_init ( &scanner ); - testset_in(stdin,scanner); - testparse ( scanner ); - testlex_destroy ( scanner ); - return 0; -} - - - -/* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */ diff --git a/tests/bison-yylloc-parser.y b/tests/bison-yylloc-parser.y deleted file mode 100644 index 87cb501..0000000 --- a/tests/bison-yylloc-parser.y +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -%parse-param { void* scanner } -%lex-param { void* scanner } - -/* - How to compile: - bison --defines --output-file="bison-yylloc-parser.c" --name-prefix="test" parser.y - */ -%{ -#include -#include -#include -#include "config.h" - -#define YYERROR_VERBOSE 1 - -extern int testget_lineno(void*); - - -/* A dummy function. A check against seg-faults in yylval->str. */ -int process_text(char* s) { - int total =0; - while(*s) { - total += (int) *s; - ++s; - } - return total; -} - - -%} - -%pure-parser - -%union { - int lineno; - char * str; -} -%token IDENT -%token LINENO -%token EQUAL "=" -%token COLON ":" -%token SPACE " " -%% - -file: - line - | file line - ; - -line: - LINENO COLON SPACE IDENT EQUAL IDENT - { - process_text($4); - process_text($6); - /* Check lineno. */ - if( $1 != @1.first_line || $1 != testget_lineno(scanner)) - { - yyerror("Parse failed: Line numbers do not match."); - YYABORT; - } - - /* Recreate the line to stdout. */ - printf ( "%04d: %s=%s\n", @1.first_line, $4, $6); - } - ; - -%% - -int yyerror(void* scanner, char* msg) { - fprintf(stderr,"%s\n",msg); - return 0; -} - diff --git a/tests/bison-yylloc-scanner.l b/tests/bison-yylloc-scanner.l deleted file mode 100644 index dbcc237..0000000 --- a/tests/bison-yylloc-scanner.l +++ /dev/null @@ -1,65 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -%{ -/* The scanner expects to link to bison yylval . */ -#include -#include -#include "bison-yylloc-parser.h" -#include "config.h" -static char* STRDUP(char* s1); -#define YY_EXTRA_TYPE int -%} - -%option 8bit prefix="test" -%option reentrant bison-bridge bison-locations yylineno -%option nomain nounput noyy_top_state noyywrap nodefault warn -%option header="bison-yylloc-scanner.h" - - -%% - - if ( !yyextra) - yyextra = 1; - -^[[:digit:]]+ { - yylval->lineno = yyextra++; - yylloc->first_line = (int)strtol(yytext,NULL,10); - return LINENO; - } -":" { return COLON; } -" " { return SPACE; } -"=" { return EQUAL; } -[[:alnum:]_]+ { yylval->str = STRDUP(yytext); return IDENT;} - -\r|\n { } -. { yyterminate();} -%% - - -static char* STRDUP(char* s1) -{ - char* s2 = (char*)malloc(strlen(s1)+1); - sprintf(s2,"%s",s1); - return s2; -} diff --git a/tests/bison-yylloc.txt b/tests/bison-yylloc.txt deleted file mode 100644 index 94adcb2..0000000 --- a/tests/bison-yylloc.txt +++ /dev/null @@ -1,4 +0,0 @@ -0001: FIRSTNAME=firstname -0002: MIDDLENAME=middle -0003: LASTNAME=lastname -0004: ADDRESS=address diff --git a/tests/bison-yylval-main.c b/tests/bison-yylval-main.c deleted file mode 100644 index 5a0b4e8..0000000 --- a/tests/bison-yylval-main.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -#include "bison-yylval-parser.h" -#include "bison-yylval-scanner.h" - -int main ( int argc, char** argv ) -{ - yyscan_t scanner; - /*yydebug =1;*/ - testlex_init ( &scanner ); - testset_in(stdin,scanner); - testparse ( scanner ); - testlex_destroy ( scanner ); - return 0; -} - - -/* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */ diff --git a/tests/bison-yylval-parser.y b/tests/bison-yylval-parser.y deleted file mode 100644 index 626c5e7..0000000 --- a/tests/bison-yylval-parser.y +++ /dev/null @@ -1,80 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -/* Accepts html-like input. - How to compile: - bison --defines --output-file="parser.c" --name-prefix="test" parser.y - */ -%parse-param { void* scanner } -%lex-param { void* scanner } -%{ -#include -#include -#include -#include "config.h" - -#define YYERROR_VERBOSE 1 - - -/* A dummy function. A check against seg-faults in yylval->str. */ -int process_text(char* s) { - int total =0; - while(*s) { - total += (int) *s; - ++s; - } - return total; -} - - -%} - -%pure-parser - -%union { - long unused; - char * str; -} - -%token TAGNAME TEXT -%token LT -%token GT -%token LTSLASH " -#include -#include "bison-yylval-parser.h" -#include "config.h" -static char* STRDUP(char* s1); - -enum yesno_t { no=0, yes=1 }; -#define YY_EXTRA_TYPE enum yesno_t -%} - -%option 8bit prefix="test" -%option reentrant bison-bridge -%option noyywrap nomain nounput noyy_top_state noyywrap nodefault warn -%option header="bison-yylval-scanner.h" -%option stack - - -%x IN_TAG -%x DISCARD_THRU_GT -%% - - #define YY_USER_INIT yyextra = no; - #define NEED_TAG_NAME yyextra - - -{ -"str = STRDUP(yytext); return TEXT;} -} -{ -">" { yy_pop_state( yyscanner ); return GT; } -[[:alpha:]][[:alnum:]]* { - if( NEED_TAG_NAME == yes){ - NEED_TAG_NAME=no; - yylval->str = STRDUP(yytext); - return TAGNAME; - } - } - -.|\r|\n { } -} -{ -[^>]{1,512} { } -">" { yy_pop_state(yyscanner);} -} -%% - - -static char* STRDUP(char* s1) -{ - char* s2 = (char*)malloc(strlen(s1)+1); - sprintf(s2,"%s",s1); - return s2; -} diff --git a/tests/bison-yylval.txt b/tests/bison-yylval.txt deleted file mode 100644 index 846f206..0000000 --- a/tests/bison-yylval.txt +++ /dev/null @@ -1,5 +0,0 @@ - - - This is a test - - diff --git a/tests/bison_nr.txt b/tests/bison_nr.txt new file mode 100644 index 0000000..94adcb2 --- /dev/null +++ b/tests/bison_nr.txt @@ -0,0 +1,4 @@ +0001: FIRSTNAME=firstname +0002: MIDDLENAME=middle +0003: LASTNAME=lastname +0004: ADDRESS=address diff --git a/tests/bison_nr_main.c b/tests/bison_nr_main.c new file mode 100644 index 0000000..2585750 --- /dev/null +++ b/tests/bison_nr_main.c @@ -0,0 +1,39 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +#include "bison_nr_parser.h" +#include "bison_nr_scanner.h" + +extern int testparse(void); + +int main ( int argc, char** argv ) +{ + /*yydebug =1;*/ + testin = stdin; + testparse ( ); + return 0; +} + + + +/* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */ diff --git a/tests/bison_nr_parser.y b/tests/bison_nr_parser.y new file mode 100644 index 0000000..2cbf9aa --- /dev/null +++ b/tests/bison_nr_parser.y @@ -0,0 +1,96 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +/* + How to compile: + bison --defines --output-file="parser.c" --name-prefix="test" parser.y + */ +%{ +#include +#include +#include +#include "config.h" + +#define YYERROR_VERBOSE 1 +/* #define YYPARSE_PARAM scanner */ +/* #define YYLEX_PARAM scanner */ + +int yyerror(char* msg); +extern int testget_lineno(void); + + +/* A dummy function. A check against seg-faults in yylval->str. */ +int process_text(char* s) { + int total =0; + while(*s) { + total += (int) *s; + ++s; + } + return total; +} + + +%} + +%pure_parser + +%union { + int lineno; + char * str; +} +%token IDENT +%token LINENO +%token EQUAL "=" +%token COLON ":" +%token SPACE " " +%% + +file: + line + | file line + ; + +line: + LINENO COLON SPACE IDENT EQUAL IDENT + { + process_text($4); + process_text($6); + /* Check lineno. */ + if( $1 != @1.first_line || $1 != testget_lineno()) + { + yyerror("Parse failed: Line numbers do not match."); + YYABORT; + } + + /* Recreate the line to stdout. */ + printf ( "%04d: %s=%s\n", @1.first_line, $4, $6); + } + ; + +%% + +int yyerror(char* msg) { + fprintf(stderr,"%s\n",msg); + return 0; +} + diff --git a/tests/bison_nr_scanner.l b/tests/bison_nr_scanner.l new file mode 100644 index 0000000..154d12b --- /dev/null +++ b/tests/bison_nr_scanner.l @@ -0,0 +1,62 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +%{ +/* The scanner expects to link to bison yylval . */ +#include +#include +#include "bison_nr_parser.h" +#include "config.h" +static char* STRDUP(char* s1); +#define YY_EXTRA_TYPE int +%} + +%option 8bit prefix="test" +%option bison-locations yylineno +%option nomain nounput noyy_top_state noyywrap nodefault warn +%option prefix="test" header="bison_nr_scanner.h" yylineno + + +%% + +^[[:digit:]]+ { + yylval->lineno = yylineno; + yylloc->first_line = (int)strtol(yytext,NULL,10); + return LINENO; + } +":" { return COLON; } +" " { return SPACE; } +"=" { return EQUAL; } +[[:alnum:]_]+ { yylval->str = STRDUP(yytext); return IDENT;} + +\r|\n { } +. { yyterminate();} +%% + + +static char* STRDUP(char* s1) +{ + char* s2 = (char*)malloc(strlen(s1)+1); + sprintf(s2,"%s",s1); + return s2; +} diff --git a/tests/bison_yylloc.txt b/tests/bison_yylloc.txt new file mode 100644 index 0000000..94adcb2 --- /dev/null +++ b/tests/bison_yylloc.txt @@ -0,0 +1,4 @@ +0001: FIRSTNAME=firstname +0002: MIDDLENAME=middle +0003: LASTNAME=lastname +0004: ADDRESS=address diff --git a/tests/bison_yylloc_main.c b/tests/bison_yylloc_main.c new file mode 100644 index 0000000..f9fb63d --- /dev/null +++ b/tests/bison_yylloc_main.c @@ -0,0 +1,40 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +#include "bison_yylloc_parser.h" +#include "bison_yylloc_scanner.h" + +int main ( int argc, char** argv ) +{ + yyscan_t scanner; + /*yydebug =1;*/ + testlex_init ( &scanner ); + testset_in(stdin,scanner); + testparse ( scanner ); + testlex_destroy ( scanner ); + return 0; +} + + + +/* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */ diff --git a/tests/bison_yylloc_parser.y b/tests/bison_yylloc_parser.y new file mode 100644 index 0000000..d2dfc13 --- /dev/null +++ b/tests/bison_yylloc_parser.y @@ -0,0 +1,96 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +%parse-param { void* scanner } +%lex-param { void* scanner } + +/* + How to compile: + bison --defines --output-file="bison_yylloc_parser.c" --name-prefix="test" parser.y + */ +%{ +#include +#include +#include +#include "config.h" + +#define YYERROR_VERBOSE 1 + +extern int testget_lineno(void*); + + +/* A dummy function. A check against seg-faults in yylval->str. */ +int process_text(char* s) { + int total =0; + while(*s) { + total += (int) *s; + ++s; + } + return total; +} + + +%} + +%pure-parser + +%union { + int lineno; + char * str; +} +%token IDENT +%token LINENO +%token EQUAL "=" +%token COLON ":" +%token SPACE " " +%% + +file: + line + | file line + ; + +line: + LINENO COLON SPACE IDENT EQUAL IDENT + { + process_text($4); + process_text($6); + /* Check lineno. */ + if( $1 != @1.first_line || $1 != testget_lineno(scanner)) + { + yyerror("Parse failed: Line numbers do not match."); + YYABORT; + } + + /* Recreate the line to stdout. */ + printf ( "%04d: %s=%s\n", @1.first_line, $4, $6); + } + ; + +%% + +int yyerror(void* scanner, char* msg) { + fprintf(stderr,"%s\n",msg); + return 0; +} + diff --git a/tests/bison_yylloc_scanner.l b/tests/bison_yylloc_scanner.l new file mode 100644 index 0000000..b4bb9f7 --- /dev/null +++ b/tests/bison_yylloc_scanner.l @@ -0,0 +1,65 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +%{ +/* The scanner expects to link to bison yylval . */ +#include +#include +#include "bison_yylloc_parser.h" +#include "config.h" +static char* STRDUP(char* s1); +#define YY_EXTRA_TYPE int +%} + +%option 8bit prefix="test" +%option reentrant bison-bridge bison-locations yylineno +%option nomain nounput noyy_top_state noyywrap nodefault warn +%option header="bison_yylloc_scanner.h" + + +%% + + if ( !yyextra) + yyextra = 1; + +^[[:digit:]]+ { + yylval->lineno = yyextra++; + yylloc->first_line = (int)strtol(yytext,NULL,10); + return LINENO; + } +":" { return COLON; } +" " { return SPACE; } +"=" { return EQUAL; } +[[:alnum:]_]+ { yylval->str = STRDUP(yytext); return IDENT;} + +\r|\n { } +. { yyterminate();} +%% + + +static char* STRDUP(char* s1) +{ + char* s2 = (char*)malloc(strlen(s1)+1); + sprintf(s2,"%s",s1); + return s2; +} diff --git a/tests/bison_yylval.txt b/tests/bison_yylval.txt new file mode 100644 index 0000000..846f206 --- /dev/null +++ b/tests/bison_yylval.txt @@ -0,0 +1,5 @@ + + + This is a test + + diff --git a/tests/bison_yylval_main.c b/tests/bison_yylval_main.c new file mode 100644 index 0000000..f615c4b --- /dev/null +++ b/tests/bison_yylval_main.c @@ -0,0 +1,39 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +#include "bison_yylval_parser.h" +#include "bison_yylval_scanner.h" + +int main ( int argc, char** argv ) +{ + yyscan_t scanner; + /*yydebug =1;*/ + testlex_init ( &scanner ); + testset_in(stdin,scanner); + testparse ( scanner ); + testlex_destroy ( scanner ); + return 0; +} + + +/* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */ diff --git a/tests/bison_yylval_parser.y b/tests/bison_yylval_parser.y new file mode 100644 index 0000000..626c5e7 --- /dev/null +++ b/tests/bison_yylval_parser.y @@ -0,0 +1,80 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +/* Accepts html-like input. + How to compile: + bison --defines --output-file="parser.c" --name-prefix="test" parser.y + */ +%parse-param { void* scanner } +%lex-param { void* scanner } +%{ +#include +#include +#include +#include "config.h" + +#define YYERROR_VERBOSE 1 + + +/* A dummy function. A check against seg-faults in yylval->str. */ +int process_text(char* s) { + int total =0; + while(*s) { + total += (int) *s; + ++s; + } + return total; +} + + +%} + +%pure-parser + +%union { + long unused; + char * str; +} + +%token TAGNAME TEXT +%token LT +%token GT +%token LTSLASH " +#include +#include "bison_yylval_parser.h" +#include "config.h" +static char* STRDUP(char* s1); + +enum yesno_t { no=0, yes=1 }; +#define YY_EXTRA_TYPE enum yesno_t +%} + +%option 8bit prefix="test" +%option reentrant bison-bridge +%option noyywrap nomain nounput noyy_top_state noyywrap nodefault warn +%option header="bison_yylval_scanner.h" +%option stack + + +%x IN_TAG +%x DISCARD_THRU_GT +%% + + #define YY_USER_INIT yyextra = no; + #define NEED_TAG_NAME yyextra + + +{ +"str = STRDUP(yytext); return TEXT;} +} +{ +">" { yy_pop_state( yyscanner ); return GT; } +[[:alpha:]][[:alnum:]]* { + if( NEED_TAG_NAME == yes){ + NEED_TAG_NAME=no; + yylval->str = STRDUP(yytext); + return TAGNAME; + } + } + +.|\r|\n { } +} +{ +[^>]{1,512} { } +">" { yy_pop_state(yyscanner);} +} +%% + + +static char* STRDUP(char* s1) +{ + char* s2 = (char*)malloc(strlen(s1)+1); + sprintf(s2,"%s",s1); + return s2; +} -- cgit v1.2.3