• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

build-aux/H03-May-2022-23,50219,516

data/H08-Mar-2021-19,94115,534

doc/H03-May-2022-37,15130,157

etc/H08-Mar-2021-1,362830

examples/H03-May-2022-6,0293,824

gnulib-po/H07-May-2022-30,86123,352

lib/H03-May-2022-89,62558,243

m4/H08-Mar-2021-28,81127,158

po/H03-May-2022-51,16541,225

runtime-po/H07-May-2022-3,6533,185

src/H08-Mar-2021-43,89828,388

tests/H08-Mar-2021-432,909344,599

.prev-versionH A D07-Mar-20216 21

.tarball-versionH A D08-Mar-20216 21

.versionH A D08-Mar-20216 21

ABOUT-NLSH A D29-Oct-201991.6 KiB1,2831,244

AUTHORSH A D30-Jan-20211.4 KiB4327

COPYINGH A D30-Jan-202134.3 KiB675553

ChangeLogH A D08-Mar-20211,015.8 KiB30,73522,081

ChangeLog-1998H A D27-Jun-202045.7 KiB1,501926

ChangeLog-2012H A D30-Jan-2021975.5 KiB26,74120,752

GNUmakefileH A D07-Mar-20214.5 KiB12864

INSTALLH A D07-Mar-202115.4 KiB369287

Makefile.amH A D07-Mar-20214.9 KiB14384

Makefile.inH A D03-May-2022918.2 KiB12,42211,260

NEWSH A D08-Mar-2021155.4 KiB4,6003,150

PACKAGINGH A D30-Jan-20211.9 KiB5640

READMEH A D30-Jan-20215.3 KiB136104

README-alphaH A D30-Jan-20211.1 KiB3222

THANKSH A D07-Mar-202111.5 KiB256246

TODOH A D07-Mar-202133 KiB891696

aclocal.m4H A D08-Mar-202147.3 KiB1,3511,246

cfg.mkH A D07-Mar-20216.9 KiB178105

configureH A D08-Mar-20211.3 MiB52,32740,344

configure.acH A D30-Jan-202112.4 KiB364325

maint.mkH A D07-Mar-202164.8 KiB1,7571,139

README

1GNU Bison is a general-purpose parser generator that converts an annotated
2context-free grammar into a deterministic LR or generalized LR (GLR) parser
3employing LALR(1) parser tables.  Bison can also generate IELR(1) or
4canonical LR(1) parser tables.  Once you are proficient with Bison, you can
5use it to develop a wide range of language parsers, from those used in
6simple desk calculators to complex programming languages.
7
8Bison is upward compatible with Yacc: all properly-written Yacc grammars
9work with Bison with no change.  Anyone familiar with Yacc should be able to
10use Bison with little trouble.  You need to be fluent in C, C++ or Java
11programming in order to use Bison.
12
13Bison and the parsers it generates are portable, they do not require any
14specific compilers.
15
16GNU Bison's home page is https://gnu.org/software/bison/.
17
18# Installation
19## Build from git
20The [README-hacking.md file](README-hacking.md) is about building, modifying
21and checking Bison.  See its "Working from the Repository" section to build
22Bison from the git repo.  Roughly, run:
23
24    $ git submodule update --init
25    $ ./bootstrap
26
27then proceed with the usual `configure && make` steps.
28
29## Build from tarball
30See the [INSTALL file](INSTALL) for generic compilation and installation
31instructions.
32
33Bison requires GNU m4 1.4.6 or later.  See
34https://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.gz.
35
36## Running a non installed bison
37Once you ran `make`, you might want to toy with this fresh bison before
38installing it.  In that case, do not use `src/bison`: it would use the
39*installed* files (skeletons, etc.), not the local ones.  Use `tests/bison`.
40
41## Colored diagnostics
42As an experimental feature, diagnostics are now colored, controlled by the
43`--color` and `--style` options.
44
45To use them, install the libtextstyle library, 0.20.5 or newer, before
46configuring Bison.  It is available from https://alpha.gnu.org/gnu/gettext/,
47for instance https://alpha.gnu.org/gnu/gettext/libtextstyle-0.20.5.tar.gz,
48or as part of Gettext 0.21 or newer, for instance
49https://ftp.gnu.org/gnu/gettext/gettext-0.21.tar.gz.
50
51The option --color supports the following arguments:
52- always, yes: Enable colors.
53- never, no: Disable colors.
54- auto, tty (default): Enable colors if the output device is a tty.
55
56To customize the styles, create a CSS file, say `bison-bw.css`, similar to
57
58    /* bison-bw.css */
59    .warning   { }
60    .error     { font-weight: 800; text-decoration: underline; }
61    .note      { }
62
63then invoke bison with `--style=bison-bw.css`, or set the `BISON_STYLE`
64environment variable to `bison-bw.css`.
65
66In some diagnostics, bison uses libtextstyle to emit special escapes to
67generate clickable hyperlinks.  The environment variable
68`NO_TERM_HYPERLINKS` can be used to suppress them.  This may be useful for
69terminal emulators which produce garbage output when they receive the escape
70sequence for a hyperlink. Currently (as of 2020), this affects some versions
71of emacs, guake, konsole, lxterminal, rxvt, yakuake.
72
73## Relocatability
74If you pass `--enable-relocatable` to `configure`, Bison is relocatable.
75
76A relocatable program can be moved or copied to a different location on the
77file system.  It can also be used through mount points for network sharing.
78It is possible to make symlinks to the installed and moved programs, and
79invoke them through the symlink.
80
81See "Enabling Relocatability" in the documentation.
82
83## Internationalization
84Bison supports two catalogs: one for Bison itself (i.e., for the
85maintainer-side parser generation), and one for the generated parsers (i.e.,
86for the user-side parser execution).  The requirements between both differ:
87bison needs ngettext, the generated parsers do not.  To simplify the build
88system, neither are installed if ngettext is not supported, even if
89generated parsers could have been localized.  See
90https://lists.gnu.org/r/bug-bison/2009-08/msg00006.html for more
91details.
92
93# Questions
94See the section FAQ in the documentation (doc/bison.info) for frequently
95asked questions.  The documentation is also available in PDF and HTML,
96provided you have a recent version of Texinfo installed: run `make pdf` or
97`make html`.
98
99If you have questions about using Bison and the documentation does not
100answer them, please send mail to <help-bison@gnu.org>.
101
102# Bug reports
103Please send bug reports to <bug-bison@gnu.org>.  Be sure to include the
104version number from `bison --version`, and a complete, self-contained test
105case in each bug report.
106
107# Copyright statements
108For any copyright year range specified as YYYY-ZZZZ in this package, note
109that the range specifies every single year in that closed interval.
110
111<!--
112
113LocalWords:  parsers ngettext Texinfo pdf html YYYY ZZZZ ispell american md
114LocalWords:  MERCHANTABILITY GLR LALR IELR submodule init README src bw
115LocalWords:  Relocatability symlinks symlink
116
117Local Variables:
118mode: markdown
119fill-column: 76
120ispell-dictionary: "american"
121End:
122
123Copyright (C) 1992, 1998-1999, 2003-2005, 2008-2015, 2018-2021 Free
124Software Foundation, Inc.
125
126This file is part of GNU bison, the GNU Compiler Compiler.
127
128Permission is granted to copy, distribute and/or modify this document
129under the terms of the GNU Free Documentation License, Version 1.3 or
130any later version published by the Free Software Foundation; with no
131Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
132Texts.  A copy of the license is included in the "GNU Free
133Documentation License" file as part of this distribution.
134
135-->
136

README-alpha

1-*- text -*-
2
3This is a test release of this package.  Using it more or less
4implicitly signs you up to help us find whatever problems you report.
5
6The documentation still needs more work.  Suggestions welcome.
7Patches even more welcome.
8
9Please send comments and problem reports about this test release to
10<bug-bison@gnu.org>.  This program will get better only if you report
11the problems you encounter.
12
13-----
14
15Copyright (C) 2002, 2004, 2009-2015, 2018-2021 Free Software Foundation,
16Inc.
17
18This file is part of GNU Bison.
19
20This program is free software: you can redistribute it and/or modify
21it under the terms of the GNU General Public License as published by
22the Free Software Foundation, either version 3 of the License, or
23(at your option) any later version.
24
25This program is distributed in the hope that it will be useful,
26but WITHOUT ANY WARRANTY; without even the implied warranty of
27MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28GNU General Public License for more details.
29
30You should have received a copy of the GNU General Public License
31along with this program.  If not, see <https://www.gnu.org/licenses/>.
32