Comments (8)
@zbeekman Indeed, it won't be able to deal with Fortran 2003 for a while as CamFort will entirely depend on fortran-src's capabilities.
You should give it a go! Haskell is a wonderful language.
If you'd like to help you can try to try source code for 66/77/90 with fortran-src (you don't need to learn Haskell as it has a command line utility that dumps a parse tree) and open issues for failing standard compliant files. I will write a README for it today or tomorrow for the command line tool. Hopefully, that should help.
But overall, many thanks for your interest.
from camfort.
Yup, that's true and you're very welcome! Many thanks in advance.
from camfort.
Thanks. Though language-fortran
is still under my account. We are switching to the new parser fotran-src
soon, but the master
branch of camfort
still uses language-fortran
(though it is also available on Hackage).
from camfort.
oh, ok... so for now dorchard/language-fortran
is correct, but fortran-src
will become the new parser sometime in the future?
Also, have you heard of Craig Rasmussen's Open Fortran Parser project? I don't know how extensive your parser is in its ability to handle all of Fortran's language features, but Craig's OFP currently uses Strategoxt which is unmaintained (although stewardship has been transferred over to him, more or less) and is currently only installable from years old pre-compiled binaries on most systems... Your actively maintained, haskell based parse seems like it could be a saner starting point, although I don't know how much work he would have to do to reinvent the wheel...
Over at https://github.com/sourceryinstitute/opencoarrays we're in the process of creating a source to source translation tool to allow older GFortran compilers ( < 5.1 ) as well as other compilers with no/poor coarray Fortran capabilities to be able to support most of the F2008 and F2015 CAF language features. The transpiler reads source code with CAF syntax and creates intermediate sources that call into the OpenCoarrays library (the main portion of which sits on top of an MPI-3 implementation, however there is some experimental support for GASNet). We're working with Craig and OFP to achieve this, but if you can generate ASTs for modern Fortran (with coarray syntax) your actively maintained Haskel could be a better alternative... I'd be curious to hear your thoughts on the matter, and might put you in touch, if you'd be open to the idea...
from camfort.
@zbeekman with regards to how much work: the answer is 8 months worth of man hour for Fortran 66, 77, and 90. Give or take... with plenty of bugs.
from camfort.
Does that mean that the status of support for >= F2003 is minimal/non-existant?
from camfort.
At this moment it is non-existant but that's only because we started from 66 standard and are moving our way up the ladder. We are just trying to finish off 90 and then want to move to 95, 2003, 2008, and eventually 2015 (probably when it gets standardised).
from camfort.
@madgen Thanks so much for the info!
As a corollary, does that mean camfort won't be able to deal with (for it's units analysis) Fortran sources with Fortran 2003 syntax?
It sounds like right now we'll have to stick with crusty StrategoXT, but may be able to re-evaluate fortran-src
/camfort
in the future. Maybe I'll have to learn Haskell, so I can help
from camfort.
Related Issues (20)
- Stencils inference doesn't make a report HOT 1
- Cross-module verification: non-module program units
- camfort complains with double colon use statement HOT 1
- Camfort complains about contiguous arrays HOT 1
- Camfort 0.9 and 0.904
- Q: Is there a way to build camfort on Windows without hmatrix/OpenBLAS? HOT 8
- Support GHC 9.0 HOT 4
- When I use camfort's common elimination for Fortran77 legacy, I get an error. HOT 3
- Support Windows again HOT 6
- COMMON block elimination misbinds variables sometimes HOT 1
- Brew fails HOT 5
- Windows install of 1.1.1 - "The code execution cannot proceed because libbas.dll was not found" HOT 12
- Any projection when post f95 will be supported? HOT 3
- lack of documentation on how to refactor HOT 5
- Lack of command usage, example invocation documentation
- issues with building on macOS HOT 4
- New basic check: conditional in for loop
- [Possible change] Don't make units all lowercase when parsing. HOT 1
- Short-circuiting logic analysis
- Suppress warnings option HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from camfort.