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 <
>>> [email protected]> 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].
>>>> 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/d/optout.