-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
releases FrontC 4.0.0 #18632
releases FrontC 4.0.0 #18632
Conversation
This release doesn't really introduce any new features but it switches FrontC to menhir and dune. The switch to menir was required because the parser has a circular dependency on the lexer and only menhir is capable of refactoring tokens from the parser. The circular dependency, on its own, prevented us from upgrading FrontC to dune, which in turn prevented us from using FrontC in duniverse. Switching to menhir required some number of tweaks to the grammar, which might change the behavior of the parser, hence the new version. We will still support the old version of FrontC (aka stable) and release bug fixes, but only the 4.x version will receive new feautures, such as support for the more modern C syntax. We also added tests and split the package into three subpackages. The FrontC package is the library with the same contents as before. And there are also two packages with executables: - calipso - a program analysis tool that reduces non-structural control flow in C programs; - ctoxml - a program that will dump the parser C AST in XML. The `printc` executable is no longer installed as its main purpose is testing and doesn't provide any useful features for the end users, it just works as `cat`.
it looks like that older versions of OCaml do not work, most likely due to Menhir version (will investigate later, but 4.08.0 is good so far)
it looks like that all recent PRs are failing on 4.13 when they try bootstrapping dune with
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @kit-ty-kate! But can you please explain why is dune not a build dependency? What am I missing here?
Concerning the version field it is actually coming from the dune-project
file, which in turn, requires this field.
Hmm.. I am experiencing some issues downstream, so I would close this issue until they are resolved. Will be back soon :) |
OK, I am opening it again, false alarm. Was confused with various versions (I wish at some time we will switch to duniverse) |
Any updates on the |
This is an error in dune with OCaml 4.13 (currently trunk). It has been fixed in OCaml, and it should stop showing up in a few days
This is an issue in dune which breaks the whole opam switch in case of a downgrade if everything is not reinstalled. See ocaml/dune#2147 for more details. Sorry it took so long to merge. Thanks! |
Thanks, Kate! |
This release doesn't really introduce any new features but it switches
FrontC to menhir and dune. The switch to menir was required because
the parser has a circular dependency on the lexer and only menhir is
capable of refactoring tokens from the parser. The circular
dependency, on its own, prevented us from upgrading FrontC to dune,
which in turn prevented us from using FrontC in duniverse.
Switching to menhir required some number of tweaks to the grammar,
which might change the behavior of the parser, hence the new
version. We will still support the old version of FrontC (aka stable)
and release bug fixes, but only the 4.x version will receive new
feautures, such as support for the more modern C syntax.
We also added tests and split the package into three subpackages.
The FrontC package is the library with the same contents as
before. And there are also two packages with executables:
calipso - a program analysis tool that reduces non-structural
control flow in C programs;
ctoxml - a program that will dump the parser C AST in XML.
The
printc
executable is no longer installed as its main purpose istesting and doesn't provide any useful features for the end users, it
just works as
cat
.