[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMPORTANT] Ideas for Summer of Code 2018

From: Mathieu Lirzin
Subject: Re: [IMPORTANT] Ideas for Summer of Code 2018
Date: Wed, 21 Feb 2018 16:30:39 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)


Mathieu Lirzin <address@hidden> writes:

> Here is the first version of the ideas for GNU Automake:
> GNU Automake 
> GNU Automake is a Makefile generator for the GNU Build system. The generated 
> Makefiles are portable and compliant with to GNU Makefile standards. 
> Modularize Automake to improve the test-suite performance 
> Currently automake is implemented as a monolithic Perl script with some 
> modules for code shared with aclocal which is another script distributed with 
> Automake. To ensure its practical correctness Automake provides a huge 
> test-suite and requires
> every non-trivial bug-fix to be covered by an additional non-regression test. 
> Unfortunately this whole test-suite is quite slow to run (~20-30 min) which 
> makes it hard for maintainers to effectively use it, and is long enough to 
> refrain users to run it.
> The main reason for this slowness is that almost all tests are 
> integration/validation tests that touch the file system. A more effective 
> approach would be to replace those with unit tests when possible. The 
> objective of this project is to incrementally
> refactor the current implementation by decomposing it into modules and unit 
> test those with Test::More. 
> Skills: Good understanding of the different testing strategies, Basic 
> knowledge of Perl
> Mentor: Mathieu Lirzin
> Contact: address@hidden 

Could you add the following snippet on top of the initial Automake
project idea?

Parse using an Abstract Syntax Tree

When reading its input files automake doesn't clearly separate the parsing, semantic analysis, and code generation phases. This design does not help with the separation of concerns and makes the code hard to test. The objective of this project is to write a parser for files that generates an Abstract Syntax Tree (AST) That can be used independently of the files generation process.

Skills: Understanding of the classical compilation phases. Basic knowledge of Perl
Mentor: Mathieu Lirzin
Contact: address@hidden


Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37

reply via email to

[Prev in Thread] Current Thread [Next in Thread]