On Wed, Apr 24, 2013 at 6:05 PM, Alex L <arphaman at gmail.com> wrote:> So I had a go at choosing the useful subset of > Fortran on which I would like to work on - my update proposal can be viewed > at https://gist.github.com/hyp/5434845 .Are expression parsing and AST implemented? What about type representation? Dmitri -- main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
> > You may want to check the later versions of the standard also to check if > some of your proposal is not deprecated there. >I had a quick check with 2008 standard, and I'm pretty sure that all of the stuff that I chose is there, although a lot of it has various additions and changes. The most important thing in the Fortran standard is the array support and> it is a big task by itself. In my opinion, the I/O part is not the most > important thing yet it is an enormous task. Usually, the Fortran routines > are used externally in other computation and I/O is done through other and > more efficient layers.This information will definitely come in handy as I'm still discovering the industry standard usage patterns and practices for Fortran. Thanks for the support! Are expression parsing and AST implemented? What about type representation? Bill implemented parsing and AST for a lot of expressions, covering a good bit of what's needed. The statements and declarations not so much, but a there's a lot of really helpful high level overview functions and various utility functions. There was a lot of work for type representation as well, but there's still some stuff to do in that area, especially for records, arrays and various constraint checks. 2013/4/24 Dmitri Gribenko <gribozavr at gmail.com>> On Wed, Apr 24, 2013 at 6:05 PM, Alex L <arphaman at gmail.com> wrote: > > So I had a go at choosing the useful subset of > > Fortran on which I would like to work on - my update proposal can be > viewed > > at https://gist.github.com/hyp/5434845 . > > Are expression parsing and AST implemented? What about type > representation? > > Dmitri > > -- > main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if > (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/ >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130424/158227b6/attachment.html>
2013/4/24 Alex L <arphaman at gmail.com>> You may want to check the later versions of the standard also to check if >> some of your proposal is not deprecated there. >> > I had a quick check with 2008 standard, and I'm pretty sure that all of > the stuff that I chose is there, although a lot of it has various additions > and changes. >The EQUIVALENCE keyword is deprecated, still I don't know if it is still widely used in F77 code. I think one of the main resaons it was deprecated is that it voids all type checking (especially in modules). Matthieu -- Information System Engineer, Ph.D. Blog: http://matt.eifelle.com LinkedIn: http://www.linkedin.com/in/matthieubrucher Music band: http://liliejay.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130424/315115a1/attachment.html>
On Wed, Apr 24, 2013 at 8:46 PM, Alex L <arphaman at gmail.com> wrote:>> Are expression parsing and AST implemented? What about type >> representation? > > Bill implemented parsing and AST for a lot of expressions, covering a good > bit of what's needed. The statements and declarations not so much, but a > there's a lot of really helpful high level overview functions and various > utility functions. There was a lot of work for type representation as well, > but there's still some stuff to do in that area, especially for records, > arrays and various constraint checks.If you are going to work on improvements in this area, then it would help to add them to the proposal (maybe that will move other, not so important, features out of scope). Dmitri -- main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/