WinFlexBison — Flex and Bison for Microsoft Windows
WinFlexBison is a Windows port of Flex (the fast lexical analyser) and GNU Bison (parser generator).
Both win_flex and win_bison are based on upstream sources but depend on system libraries only.
NOTE:
- 2.4.x versions include GNU Bison version 2.7
- 2.5.x versions include GNU Bison version 3.x.x
License
Flex uses a BSD license, GNU Bison is licensed under the GNU General Public License (GPLv3+).
All build scripts in WinFlexBison are distributed under GPLv3+. See COPYING for details.
All documentation, especially those under custom_build_rules/doc, is distributed under the GNU Free Documentation License (FDL 1.3+).
Build status
Bison 3.x (master) and, for compatibility reasons, Bison 2.7 (bison2.7)
Downloads
https://github.com/lexxmark/winflexbison/releases provides stable versions.
To test non-released development versions see the artifacts provided by CI under «Build status».
Changelog
The release page includes the full Changelog but you may also see the changelog.md file.
Build requirements
- Visual Studio 2017 or newer
- optional: CMake (when building with CMake)
HowTo
You may use win_flex and win_bison directly on the command line or use them via CustomBuildRules in VisualStudio.
Example flex/bison files
See https://github.com/meyerd/flex-bison-example
Recently, ive turned to Matlab as a simplistic language to extra computation information from an application. But to do this I needed to analyze the source code and build a dependency flow graph to represent the data dependencies between computations.
The simplest solution: a custom compiler.
I chose to use Flex & Bison since it would allow me to use these tools in either windows or a linux environment. So first we’ll go over where to go to get the install files and then the installation & configuration.
To get the Flex windows installer head over to http://gnuwin32.sourceforge.net/packages/flex.htm and pick a download that suits your needs, although ill be using the “Complete package, except sources”. As you install the tool, be sure to choose an installation directory with NO SPACES in any of the folder names, i’ll be installing to “C:\GnuWin32”. At this point if you open a command window and type “flex” you should see: “‘flex’ is not recognized as an internal or external command, operable program or batch file.” This is because we need to add the folder containing the binary files (“C:\GnuWin32\bin”) that were just installed to the PATH system variable. After doing so, close the current cmd window and open a new one and try again. You should not see an error now (press CTRL+C to quit flex).
Pretty much the same procedure for Bison, head to http://gnuwin32.sourceforge.net/packages/bison.htm for the download. Install to the same directory as above, and then type “bison” in the same cmd window (you dont have to close it and reopen it since the PATH does not have to be modified since the binaries are in the same folder), you should see: “bison: missing operand after ‘bison’ Try ‘bison –help’ for more information.” Congrats! Youve just setup Flex and Bison on windows!
Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!
Learn More
Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You’ll have a chance to have your questions answered in a live Ask Me Anything format.
Learn More
Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don’t miss this opportunity to engage with our team and contribute to the future of Chocolatey!
Learn More
Webinar from
Wednesday, 17 January 2024
We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we’ll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!
Watch On-Demand
Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.
Watch The Replays
Webinar Replay from
Wednesday, 30 March 2022
At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!
Watch On-Demand
Livestream from
Thursday, 9 June 2022
Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.
Watch On-Demand
Livestream from
Thursday, 04 August 2022
Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We’ll talk about some cool new features, long term asks from Customers and Community and how you can get involved!
Watch On-Demand
Livestreams from
October 2022
For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.
Watch On-Demand
By data scientists, for data scientists