Bonjour Hans, Le dimanche 31 juillet 2005 à 11:27:43, vous écriviez :
HA> On 31 Jul 2005, at 01:07, Baldurien (club internet) wrote: >> I have a grammar to do for my self, and since this grammar add the >> same expression than the one we could have in a SQL query language, >> I'm wondering which grammar is better in term of performance. >> >> My first one is the classical "one production per precedence" : HA> .... >> With %left, and %nonassoc (and %right too) it give this : HA> There is no big practical difference between these two methods, as HA> a typical compiler spends most time in the actions and the lexer. HA> So choose the method you are most comfortable with. Using HA> precedence rules %left, etc. produces a more compact grammar that HA> is also more structured, which might help human programming. HA> Otherwise, using precedence rules cuts down the number of states, HA> so that parser will be somewhat faster; the transitions, HA> independent of number, are put in a lookup array, so the number HA> does not affect parser size. HA> Hans Aberg Oki doki for that point. I will use precedence rules (since I find it easier to work with). Now, I'm asking myself about how bison store the grammar in the produced parser : In class I've seen how to construct the LL(1) table, and the transition table for the automata, but since I've seen it only on paper, I don't know how I could efficently store this like Bison does ? (Since I would like to "translate" the C parser into a PHP one). -- Cordialement, Baldurien Courriel : [EMAIL PROTECTED] _______________________________________________ Help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison