<enebo>
yorickpeterse: In fact I had to look up the link since I have the page saved locally on my laptop
<yorickpeterse>
enebo: Yeah I bumped into that link at some point as well
<enebo>
yorickpeterse: Even as a simple tutorial it requires a lot of concentration to get through it for me :)
<yorickpeterse>
What I find extremely difficult, and hugely frustrating, is that the lack of code samples makes it very hard for me to figure out if what I did/learned is actually correct
<yorickpeterse>
Sure all the algorithms show the theory, but that's it: they show just the theory
<yxhuvud>
tbh, I didn't really understand the construction of it until after I actually implemented them
<enebo>
yorickpeterse: agreed. and each time I find another LALR impl they all have a PDP-13 comment in them so I question how many people really understand LALR :)
<yorickpeterse>
I'd like to think the paper authors are lazy sack of wines that don't know any coding, but that's probably not the case
<yorickpeterse>
either my Google-fu is bad, or I'm just too dumb
<yxhuvud>
(the parser I'm building is a strict superset of lalr)
<yorickpeterse>
For LL I sort of have something, but I suspect my table construction is flawed
<yxhuvud>
I had to get far enoguh to have my implementation bump into walls, and then dig into the books for answers, and then back again to next bump
<yorickpeterse>
but alas, there are no sane examples I can use as a reference
<yorickpeterse>
also it doesn't actually build a tree yet of any kind
<yxhuvud>
yeah, that is yet another beast
<enebo>
I want to generate an impl which uses direct calls on non-cyclical productions child possible productions (so it inlines the depth part when finite) but still uses a table for jumps when there is a cycle
<yxhuvud>
(which I havn't yet conquered, but my case is a bit harder to reason about than lalr since I accept ambiguity)
<enebo>
In Java indirecting through aloads prevents a lot of optimization potential
<yxhuvud>
aload?
<enebo>
sorry accessing from a java primitive array
<yxhuvud>
ah the goto table?
<yxhuvud>
I can see why it is a bitch to optimize
<enebo>
yxhuvud: yeah I want to make a subset of the goto table go away when there are no cycles.
<enebo>
yxhuvud: just emit the logic into the parent to go down without asking where to go
* yorickpeterse
does not yet know if he wants LL or LALR, hence is doing both
<yorickpeterse>
to make things easier
<enebo>
yorickpeterse: I remember Beaver impl (also in Java not being so complex an impl)
<yorickpeterse>
hm
<enebo>
Beaver makes a bunch of decisions with how you construct tokens and the resulting tree I do not like but I remember it being pretty clean implwise
havenwood has quit []
enebo has quit [Quit: enebo]
tenderlove has quit [Quit: Leaving...]
diegoviola has quit [Quit: WeeChat 1.0.1]
DanielVartanov_ has joined #rubinius
DanielVartanov_ has quit [Remote host closed the connection]
elia has joined #rubinius
diegoviola has joined #rubinius
havenwood has joined #rubinius
elia has quit [Quit: Computer has gone to sleep.]
elia has joined #rubinius
goyox86_ has quit [Ping timeout: 250 seconds]
elia has quit [Quit: Computer has gone to sleep.]
elia has joined #rubinius
stass has quit [Ping timeout: 256 seconds]
elia has quit [Quit: Computer has gone to sleep.]
stass has joined #rubinius
havenwood has quit [Remote host closed the connection]