[Top][All Lists]

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

RE: Getting involved in Bison

From: Morales Cayuela, Victor (NSB - CN/Hangzhou)
Subject: RE: Getting involved in Bison
Date: Thu, 17 Oct 2019 05:38:14 +0000


No, I don't know D... It's incredible how many languages still keep emerging.

I have used Bison to process some languages (C headers and one language called 
TTCN3) and to parse execution logs, nothing special I guess.

One thing that I have always encountered funny in Bison is the way to describe 
lists. For example, if you expect comma-separated list called my_list, you 
would write:
    my_list: element | my_list ',' element;
I believe there could be some more elegant syntax to avoid that kind of loops. 
I don't know how much we can make up, but creating a simplified expression like 
this would help:
    my_list: %list ',' element;
The directive %list would expand that expression into the previous one.

I've also had problems generating the grammar in C++. Right now I only use C 
version of the code because of compilation/interaction problems with the lexer 
(I used flex). I don't know in which side is the problem, but every time I had 
to mix up C++ code from the project and C code from the parser/grammar resulted 
in a mess... Especially when I wanted to wrap different parsers in different 
classes and objects. Solving this would be a big improvement for me.

I can use github if it's more convenient. I can adapt to anything right now.

I will take a look again at the pending tasks.


-----Original Message-----
From: Akim Demaille <address@hidden> 
Sent: Thursday, October 17, 2019 12:02 AM
To: Morales Cayuela, Victor (NSB - CN/Hangzhou) <address@hidden>
Cc: Paul Eggert <address@hidden>; Bison Bugs <address@hidden>
Subject: Re: Getting involved in Bison

Hi Victor,

> Le 16 oct. 2019 à 07:29, Morales Cayuela, Victor (NSB - CN/Hangzhou) 
> <address@hidden> a écrit :
> Hello!
> Considering that this is the first time I collaborate in this project I would 
> like to start with something easy.

Sure.  It makes a lot of sense :)

> First I'd like to get used to the way of working, code style and review, 
> testing... etc.

I'll also send you a disclaimer form: contributions to Bison must be comply 
with FSF rules.

> I could do as a first contact the graph generator clean up that you 
> mentioned. I have already had a look at the TODO list and other issues but I 
> can't figure out which one might also be easy to start with.

I would say that you should start with something you are interested in, i.e., 
that you would like to use in Bison.  What's your current use of it?

> About my skills, I can write quite good C/C++ code (C++14), I have a long 
> experience with these two languages in projects of millions of lines.

Good to know, thanks!  You would be good at D too by any chance?  We need 
someone for D :)

> I am code reviewer in my company and I have been awarded a few times, so this 
> part shouldn't be a problem. I haven't used m4 before, although I will start 
> learning asap.

M4 is special, no doubt about it.  But in a sense, it's a functional 
programming language.  At least, most part of our use of M4 is FP style.

> Btw, how long time do you usually estimate for a feature/ to be delivered?

Whatever it needs.

> Could you also let me know how to check out the source project? Should I need 
> to register first in some git repository? I've never worked in open source 
> projects, not really sure how they are managed.

See all the information Adrian sent.  I would also add that if you plan to work 
on GitHub, it would make sense to fork my repo 
(https://github.com/akimd/bison).  And them, take some time to read README and 

reply via email to

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