Shachaf Ben-Kiki 01aa74a93f parser: Use an operator precedence table
Instead of having one function per precedence level, mirroring the BNF grammar,
this uses the "precedence climbing" algorithm with a table of operator
precedences (and a few special cases that don't fit into the table as it is).

This is a first pass -- it's probably possible to put more of the parser
into this form, e.g. to support prefix/suffix operators with precedence, if
necessary, or just to simplify the code more.

It may also be possible to speed this up by putting more useful information
into the tokens during tokenization, to avoid the extra branch on the token in
operInfo.
2021-04-24 22:40:41 -07:00
..
2021-04-04 17:04:46 -07:00
2021-04-04 17:04:46 -07:00
2021-04-04 19:27:47 -04:00
2021-04-14 17:53:27 +02:00
2021-02-25 22:20:30 +02:00
2021-03-18 14:05:01 -07:00
2021-02-28 14:03:19 +01:00
2021-04-24 13:35:55 -04:00
2021-04-20 16:19:59 -04:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00
2021-01-07 23:48:58 -08:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00
2021-03-28 14:32:34 +02:00
2021-03-18 14:05:01 -07:00
2020-12-31 15:45:24 -08:00
2021-02-24 21:29:23 -07:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00
2021-04-12 17:18:56 -04:00
2020-12-31 15:45:24 -08:00
2021-03-11 10:09:51 +11:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00
2021-02-16 23:20:46 +01:00
2020-12-31 15:45:24 -08:00
2021-02-24 21:29:23 -07:00
2021-04-21 06:49:34 +02:00
2021-04-23 19:19:44 +02:00
2021-03-20 22:01:09 -07:00
2021-02-28 14:03:19 +01:00
2020-12-31 15:45:24 -08:00
2020-12-31 15:45:24 -08:00