[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GSoC] Proposal for "Parse Makefile.am using an AST"
From: |
Matthias Paulmier |
Subject: |
Re: [GSoC] Proposal for "Parse Makefile.am using an AST" |
Date: |
Thu, 08 Mar 2018 21:25:17 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Mathieu Lirzin <address@hidden> writes:
> Hello Matthias,
>
> Matthias Paulmier <address@hidden> writes:
>
>> I'm a french CS student at the University of Bordeaux. I'm currently
>> following a
>> masters degree course specialized in network communications and
>> administration.
>> I've been interested in free software for a couple of years now and have been
>> willing to help a project for some time, but never found one I could help
>> with a
>> significant contribution before that.
>>
>> I have decided to candidate for the project "Parse Makefile.am using an
>> Abstract
>> Syntax Tree".
>
> Your proposal is very welcome. Google Summer of Code is a good
> opportunity to start contributing to Free Software.
>
>> The reason I'm choosing this subject over the other one is that I already
>> have
>> good knowledge about ASTs. I have worked on a small programming language as
>> an
>> assignment (project here :
>> <https://services.emi.u-bordeaux.fr/projet/viewvc/compilfinal/> but it is
>> very
>> poorly written). It is a very basic interpreter for a trimmed Pascal
>> programming
>> language written in C with Flex and Bison. On this project I've worked on the
>> syntax and semantic analysis as well the lexer (which is not a big deal with
>> Flex).
>>
>> I've already met with Mathieu Lirzin to talk about the project so I have a
>> general idea of what is expected of this GSoC. From my understanding, both
>> proposed subjects' goal is to go towards Automake's eventual modularization.
>> The
>> benefits of generating this AST from a Makefile.am file would be to separate
>> the
>> different code generation phases, improve the test suite by testing each
>> phase
>> separately and probably others that it can't think about now.
>>
>> My knowledge in Perl may be my weak point for this project as I only know a
>> bit
>> of the syntax. But I am familiar with other programming languages,
>> principally C
>> and Python.
>
> The background you have of this compilation course would be helpful for
> this project. IMO The lack of knowledge of Perl is not a big deal,
> however it means you will have to acquire a basic knowledge of Perl
> during the "Community Bonding" period.
That's what I was planning on doing. Should this be added to the roadmap ? Or is
it only about the coding part ?
>> If you have any suggestions on documents I can read or software I can check
>> to
>> prepare for this project I'll be glad to check them. I know texinfo is
>> written
>> in Perl and generates an AST so I'll check that.
>
> Yes looking at Texinfo will be interesting for that.
>
> I think you should start thinking on a roadmap with the milestones and
> deadlines for your formal application. The deliverables that are
> expected for this project are on one hand a Perl library capable of
> parsing 'Makefile.am' files, of injecting rudimentary predefined
> compilation rules based on the semantic analysis, and of dumping the
> resulting 'Makefile.in'. A example script using that library should be
> developped to easily be able to check the progress of the parsing and
> code generation work.
I'll write a first draft of my application this weekend and keep you updated on
it here. I have a good idea of what it will look like. I will follow the
guidelines for SoC[1]. I don't know which file format is required by google
since the applications are not open on their website yet so I'll write it as a
pdf file and put it on my personnal web page so I can show it here.
[1] <https://www.gnu.org/software/soc-projects/guidelines.html> and
Thanks for reading.
--
Matthias Paulmier