No pb, I think I managed to get it, using option -v - do not know if this will catch all the c file but it seems so. Will post the final result soon. Otherwise, yes, building an AST for automatic translation can probably be derived quite easily from c2ast (which still requires the preprocessor, but has very obscure flags, like --lazy, to work without... i.e. build an AST from an unpreprocessed file).
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 > <[email protected]<javascript:> > > 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 [email protected] <javascript:>. >> 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 [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
