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.
Post by Mathieu LirzinHello Vishal,
Post by Vishal GuptaMy 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!
Post by Vishal GuptaThe community bonding period will be till 14th May. As discussed in
the proposal, I will be working on improving my perl skills and
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.
Post by Mathieu LirzinPost by Vishal Gupta2) 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.
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.
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 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.
Post by Mathieu LirzinPost by Vishal Gupta3) 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
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.
Post by Mathieu LirzinPost by Vishal GuptaAs 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.
Post by Mathieu LirzinHTH,
--
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.
As suggested by Diab Jerius, Marpa and Parse::RecDescent are good parsers.
Will we be using these parsers for parsing?
Regards,
Vishal Gupta