automake
[Top][All Lists]
Advanced

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

Re: Proposal Accepted for GSoC


From: Matthias Paulmier
Subject: Re: Proposal Accepted for GSoC
Date: Thu, 03 May 2018 15:45:39 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hello Vishal,


Vishal Gupta <address@hidden> writes:

> Hello and sorry for late reply. Last few days, I was preparing for final
> practical exam, doing reports and assignments. But, I made some progress.
>
> On Thu, Apr 26, 2018 at 12:13 AM, Mathieu Lirzin <address@hidden> wrote:
>
>> Hello Vishal,
>>
>> Vishal Gupta <address@hidden> writes:
>>
>> > My proposal for the project " Parse Makefile.am using abstract syntax
>> > tree" has been accepted and I am excited to start working on the same.
>>
>> Congrats!
>>
>> > The community bonding period will be till 14th May. As discussed in
>> > the proposal, I will be working on improving my perl skills and
>> > understanding the Automake's Code. Some queries about that :
>> >
>> > 1) Good resource for studying Perl and important concepts required for
>> > completing the project. A short task of 4-5 days would be great for
>> > testing my knowledge of perl and quantify my progress.
>>
>> Like I said to Matthias, Perl comes with an extensive set of manpages
>> which consist of tutorials and reference manuals.  ‘perlintro(1)’ is a
>> good entry point.  The “Learning Perl” book by Tom Phoenix and Randal
>> Schwartz is a nice introduction to Perl.
>>
>> You will need to get familiar with perl references which is a somewhat
>> advance topic in order to build recursive structure for the AST.
>>
>> To learn Perl I think it is important to have an interactive environment
>> ‘perl -d -e ''’ is useful for that.
>>
>
> I am learning Perl from the book "Programming Perl" suggested by Al
> Pacifico. I have completed some basics and I will try to learn Perl
> references in the coming days.
>
>>
>> > 2) How to go about understanding the Automake code .
>>
>> The first step is to compile it from the Git repository and report
>> unclear points.  I encourage you to get familiar with Automake from a
>> user perspective by creating build definitions for some dummy C programs
>> and libraries by following the Automake manual which is nicely written.
>>
>
> I have compiled the program from Git repository and executed it. Some
> queries regarding that :-
>
> 1) I was trying to find from where the execution started in the Automake
> directory
> <https://github.com/vishalgupta97/Automake-Fork/tree/master/lib/Automake>
> I wasn't able to find the start of execution, then after compiling I looked
> at the file Automake
> <https://github.com/vishalgupta97/Automake-Fork/blob/master/bin/automake>,
> and it contains the start of the execution but how is this file generated
> as I am not able to find the associated perl code written in this file and
> this file is generated after compilation.

This file is generated from automake/bin/makefile.in.

> 2) In Rule.pm
> <https://github.com/vishalgupta97/Automake-Fork/blob/6d227715530ddb8c55edd6904eaa96314c162eb6/lib/Automake/Rule.pm#L148>
> file,
> =head1, =head2, =cut and =back are some sort of description for the file, I
> think head indicate starting of description, cut indicates end of that
> description. I can't find description about them in perl book.

Lines that start with an `=' sign are commands for the perl
documentation format (POD). More about it under 'perlpod(1)'.

> 3) In Rule.pm
> <https://github.com/vishalgupta97/Automake-Fork/blob/6d227715530ddb8c55edd6904eaa96314c162eb6/lib/Automake/Rule.pm#L174>
> file,
> ($$$;%) means that it accept three scalar value and one optional values. In
> this case, if optional value is not present then what is stored in the
> variable and can we have more than two optional variable.

I'm not their yet in my learning of perl but I would guess undef
(?). The 'perlsub(1)' man page should hold the necessary information for
this.

> I have created a Makefile
> <https://github.com/vishalgupta97/vsql/blob/master/Makefile> for my DBMS
> project. It is a basic makefile, but i will try to make it better during
> the the coming days.
>
>>
>> > 3) Any other task required to be completed during the community bonding
>> period.
>>
>> I think, it is important that you get more familiar with Git usage and
>> good practices before the coding period.  There is a lot of resources
>> online and particularly a great book freely available:
>>
>>   https://git-scm.com/book/en/v2
>
>
>  Some basic command which I have worked with are init, clone, add, status,
> commit, remote, push, pull. I have not worked with branching and merging
> commands.
>
>>
>>
>> > As discussed in the proposal that I will be having my exams from 8th
>> > to 15th May, so I will try to complete the work before that time.
>>
>> No problem.
>>
>> If you have any question or difficulty in your discovery, you can ask on
>> the #autotools IRC channel on Freenode or directly to me (my pseudo is
>> ‘mthl’).  I am not sure about your actual timezone (mine is UTC+2) but
>> if you are from India don't expect me to available too soon in the
>> morning.  :-)
>>
>
> I am from India and my timezone is UTC+5:30.
>
>>
>> HTH,
>>
>> --
>> Mathieu Lirzin
>> GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37
>>
>
> It would be good if I can get an architecture diagram of how all the files
> are related, or I will try to make something.

I will need that for my GSoC too so I will be working on that in the
next couple of weeks I guess. I need to discuss this further with
Mathieu. I will check in IRC soon (I should already be in there if my
ZNC server is setup properly).

> As suggested by Diab Jerius, Marpa and Parse::RecDescent are good parsers.
> Will we be using these parsers for parsing?
>
>
> Regards,
> Vishal Gupta

Please correct me if I'm wrong.
--
Matthias Paulmier



reply via email to

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