[Haskell-cafe] static analysis of a C-like language

Carter Schonwald carter.schonwald at gmail.com
Thu Nov 29 14:31:15 UTC 2018

Most parser libraries in Haskell provide facilities for including source

And then you include in your syntax tree extra fields for those positions.

Simple as that

The paper :
Is a great reference for how to add a bunch of program analysis features
after you have a working interpreter .  Also it’s citations show a bunch of
ways you can Add different flavored of anayses

On Mon, Nov 26, 2018 at 3:37 PM Olaf Klinke <olf at aatal-apotheke.de> wrote:

> > Hello Olaf,
> >
> > to me that sounds as if you want to do an abstract interpretation with a
> > forward collecting semantics that employs non-relational abstract
> > domains for the primitive data types and summarizes the dimensions of
> > arrays.
> ...
> > I would start by writing a simple interpreter for the language to be
> > analyzed. That way you fix messy details before they bite you, e.g. the
> > order in which submodules are loaded and initialized.
> I was hoping not having to write an interpreter (because the language
> author wrote a translation to C++ already), but if that is the way to go,
> I'll do it. As I understand it, the Haskell semantics should contain just
> enough substance so that the errors I am after will cause hiccups in the
> Haskell compiler? That is indeed a compelling approach.
> What this does not address is the question about error reporting:  How
> could a translation to Haskell preserve information about scope, source
> position and masking? Can I leverage the ghc API for that?
> Regards,
> Olaf
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20181129/c24668a7/attachment.html>

More information about the Haskell-Cafe mailing list