Top 1,000 Features Creators Resources Extensions Blog Explorer CSV Download
GitHub icon


< >

Bison is an open source grammar language created in 1985 by Robert Corbett.

#346on PLDB 39Years Old 196Repos

GNU bison, commonly known as Bison, is a parser generator that is part of the GNU Project. Bison reads a specification of a context-free language, warns about any parsing ambiguities, and generates a parser (either in C, C++, or Java) which reads sequences of tokens and decides whether the sequence conforms to the syntax specified by the grammar. Bison by default generates LALR parsers but can also create GLR parsers. Read more on Wikipedia...

Example from the web:
/* Reverse Polish Notation calculator. */ %{ #include <stdio.h> #include <math.h> int yylex (void); void yyerror (char const *); %} %define api.value.type {double} %token NUM %% /* Grammar rules and actions follow. */
Example from Wikipedia:
# Makefile FILES = Lexer.c Parser.c Expression.c main.c CC = g++ CFLAGS = -g -ansi test: $(FILES) $(CC) $(CFLAGS) $(FILES) -o test Lexer.c: Lexer.l flex Lexer.l Parser.c: Parser.y Lexer.c bison Parser.y clean: rm -f *.o *~ Lexer.c Lexer.h Parser.c Parser.h test

Language features

Feature Supported Token Example
// A comment
MultiLine Comments /* */
/* A comment
Line Comments //
// A comment
Semantic Indentation X

View source

- Build the next great programming language · About · Acknowledgements · Part of the World Wide Scroll