FYI bug identified in c2ast and fixed with release 0.37, just uploaded. JD.
Le mercredi 5 mars 2014 21:34:43 UTC+1, Durand Jean-Damien a écrit : > > Sorry for the noise, I just want to comment that there are some c2ast > failures, and I will have to: > * check with a previous version of Marpa::R2 in case this would be a > regression > * check c2ast itself > Few files are in failure, but hey, there should be 100% success parsing C. > > Le mercredi 5 mars 2014 20:55:49 UTC+1, Durand Jean-Damien a écrit : >> >> Btw, interesting. One of the files seems crafted I do not know how: >> >> return defgetenv("GOROOT", /home/jdurand/Téléchargements/go); >> --------------------------^ >> >> and another one gives c2ast failure. This last case I will have to check. >> Could be a c2ast bug, to be confirmed. >> >> d->name = d->uid = d->gid = d->muid = ""; >> -^ >> >> JD. >> >> Le mercredi 5 mars 2014 20:34:45 UTC+1, rns a écrit : >>> >>> That's a great start! >>> >>> As for the question, can't really help here, sorry, >>> golang-dev<https://groups.google.com/forum/#!forum/golang-dev> looks >>> like a good place to ask and/or report on the results. >>> >>> "We plan to translate the existing compilers from C to Go by writing and >>> then applying an automatic translator" — says Russ Cox in Go 1.3+ >>> Compiler >>> Overhaul<https://docs.google.com/document/d/1P3BLR31VA8cvLJLfMibSuTdwTuF7WWLux71CYD0eeD8/edit> >>> — >>> looks like they may find C parsing features provided by >>> MarpaX::Languages::C::AST useful. >>> >>> >>> >>> >>> On Wed, Mar 5, 2014 at 9:13 PM, Durand Jean-Damien < >>> jeandami...@gmail.com> wrote: >>> >>>> Is there a way to know how GO bootstraps its library, I mean starting >>>> at: >>>> >>>> ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds >>>> go_bootstrap >>>> # Delay move of dist tool to now, because bootstrap may clear tool >>>> directory. >>>> mv cmd/dist/dist "$GOTOOLDIR"/dist >>>> "$GOTOOLDIR"/go_bootstrap clean -i std >>>> echo >>>> >>>> if [ "$GOHOSTARCH" != "$GOARCH" -o "$GOHOSTOS" != "$GOOS" ]; then >>>> echo "# Building packages and commands for host, $GOHOSTOS/$GOHOSTARCH." >>>> GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH \ >>>> "$GOTOOLDIR"/go_bootstrap install -ccflags "$GO_CCFLAGS" -gcflags >>>> "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std >>>> echo >>>> fi >>>> >>>> echo "# Building packages and commands for $GOOS/$GOARCH." >>>> "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -ccflags "$GO_CCFLAGS" >>>> -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std >>>> echo >>>> >>>> rm -f "$GOTOOLDIR"/go_bootstrap >>>> >>>> if [ "$1" != "--no-banner" ]; then >>>> "$GOTOOLDIR"/dist banner >>>> fi >>>> >>>> I see ccflags etc... but I mean: can you confirm or give me a way to >>>> know what are exactly all the c flags in action. >>>> The first step, creating the bootstrap was easy. But bootstrap is a bit >>>> obscure. >>>> Oterwise c2ast did not suffer from analysing GO bootstrap code -; >>>> >>>> Ah, result of the 1st step (i.e. the one that generates the bootstrap) >>>> is: >>>> >>>> cmd/dist/buf.c(218) strpcmp: Names beginning with 'str', 'mem', or >>>> 'wcs' followed by a lowercase letter are reserved for additional string >>>> and >>>> array functions >>>> cmd/dist/build.c(25) tooldir: Names that begin with either 'is' or >>>> 'to' followed by a lowercase letter may be used for additional character >>>> testing and conversion functions. >>>> cmd/dist/build.c(612) islib: Names that begin with either 'is' or >>>> 'to' followed by a lowercase letter may be used for additional character >>>> testing and conversion functions. >>>> cmd/dist/build.c(612) ispkg: Names that begin with either 'is' or >>>> 'to' followed by a lowercase letter may be used for additional character >>>> testing and conversion functions. >>>> cmd/dist/build.c(612) isgo: Names that begin with either 'is' or >>>> 'to' followed by a lowercase letter may be used for additional character >>>> testing and conversion functions. >>>> cmd/dist/goc2c.c(127) structround: Names beginning with 'str', >>>> 'mem', or 'wcs' followed by a lowercase letter are reserved for additional >>>> string and array functions >>>> cmd/dist/goc2c.c(284) token: Names that begin with either 'is' or >>>> 'to' followed by a lowercase letter may be used for additional character >>>> testing and conversion functions. >>>> cmd/dist/goc2c.c(294) token: Names that begin with either 'is' or >>>> 'to' followed by a lowercase letter may be used for additional character >>>> testing and conversion functions. >>>> cmd/dist/goc2c.c(389) token: Names that begin with either 'is' or >>>> 'to' followed by a lowercase letter may be used for additional character >>>> testing and conversion functions. >>>> cmd/dist/goc2c.c(437) token: Names that begin with either 'is' or >>>> 'to' followed by a lowercase letter may be used for additional character >>>> testing and conversion functions. >>>> >>>> Thanks / JD. >>>> >>>> Le mercredi 5 mars 2014 10:24:56 UTC+1, rns a écrit : >>>> >>>>> There is that presentation [1] to be held at GopherCon; at first >>>>> sight, running >>>>> cscan/c2ast<https://github.com/jddurand/MarpaX-Languages-C-AST/tree/master/bin>like >>>>> Jean Damien did >>>>> with perl source >>>>> code<https://groups.google.com/d/msg/marpa-parser/QkcRarH1N7k/VJWmdfICNsQJ>and >>>>> blogging or otherwise letting know about it looks like a good thing to >>>>> show what Marpa can do. >>>>> >>>>> [1] Go from C to Go >>>>> Friday, 25 Apr 8:30am (30m)Russ Cox - Engineer at Google >>>>> >>>>> It's time for the Go compilers to be written in Go, not in C. I'll >>>>> talk about the unusual process the Go team has adopted to make that >>>>> happen: >>>>> mechanical conversion of the existing C compilers into idiomatic Go code. >>>>> >>>>> http://www.gophercon.com/schedule/#ross_cox >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "marpa parser" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to marpa-parser...@googlegroups.com. >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>> >>> -- You received this message because you are subscribed to the Google Groups "marpa parser" group. To unsubscribe from this group and stop receiving emails from it, send an email to marpa-parser+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.