# What is an IELR(1)-parser?

I try to teach myself the usage of bison. The manpage bison(1) says about bison:

Generate a deterministic LR or generalized LR (GLR) parser employing LALR(1), IELR(1), or canonical LR(1) parser tables.

What is an IELR-parser? All relevant articles I found on the world wide web are paywalled.

-
– reinierpost Sep 7 '12 at 17:56
@reinierpost I feel so stupid right now. Why didn't I find this? – FUZxxl Sep 7 '12 at 18:59
I don't know - Google does personalize results ... – reinierpost Sep 10 '12 at 7:43
@reinierpost, would you like to answer this question by quoting your link, so as to clean this question up? – Merbs Nov 27 '12 at 7:26
Hmmm ... if that's all it takes, OK. – reinierpost Dec 5 '12 at 10:39

@reinierpost It's linear time vs. worst-case-$O(n^4)$ (GLR) or $O(n^3)$ (GLL). For e.g. compiling large source files, this can add up lots of time. Furthermore, the attitude of preferring expressiveness over constraint without support neglects the time sacrifice involved. Technically we could use the super-expressive sLMG and/or PMCFG formalisms but then we'd be dealing with up to $lim_{x\rightarrow\infty} O(n^x)$. That might be an absurd example, but the motivation is always time. Humans don't live forever and have a lot to do. Wasting their time is generally bad. – user Oct 10 '15 at 9:24