|
haha cool. I'll take a look.
Ugh python. I'd love it except for significant whitespace.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Seems like a roundabout way of getting there. What you really need is an AI that writes that efficient LALR-parser for you!
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
Chris M. asked me politely not to give y'all any ideas about hooking AI up to code generation software.
It will put us all out of work. Well, not me, I only do this for fun anymore.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
honey the codewitch wrote: otherwise busy and so using my webcam
*cough* *cough*
|
|
|
|
|
your selective quoting is filth
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
There is nothing wrong about filming cooking tutorials.
|
|
|
|
|
No, he has access to your webcam.
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
i hope he likes what my floor looks like. i never point it at me unless i'm using it. Analog security can't be hacked digitally.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
|
my floors are wood. LOL. you have the wrong IP.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Well tried, but I am not falling for it.
Wait wait, do you have a sheep ? Is it tied up to a chair ? What's that welsh flag in the background ?
OMG, this is @OriginalGriff's house !
|
|
|
|
|
hahaha
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
I don't have tiles either - I'd check your IP if I was you ...
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
127.0.0.1 : ain't that yours ?
|
|
|
|
|
Not even close, sorry!
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
you didn't deny the sheep
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
This has "unintended consequences" written all over it.
|
|
|
|
|
those are my favorite kind of consequences!
i'm a sucker for surprises.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
No matter how many times I go back to rewrite the thing, the LALR(1) parser I wrote falls down under the weight of its own contradictions as soon as I try to add error recovery and I have to go back and rewrite it again. I've lost count of how many times I've done this. At least three.
Broken As Designed. FML
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Maybe you need to find something else to work on other than parsers........
|
|
|
|
|
I wrote an autoupdater the other day AutoUpdate: A GitHub Enabled autoupdater[^]
But I need to get PCK to something resembling stable or it's going to gnaw at me.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Yuck!
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
i know you don't like updaters
I have a tool to switch between my alpha releases though because it makes it easier for me to resolve bugs that crop up when i'm regression testing. I don't have automated tests for much of this because parsing is complicated as hell to test extensively. (It's easy at the high level, but things like testing follows sets generation or LR(0) generation is damned tricky)
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Have heard somewhere that Version 2 will be better and more robust than Version 1.
So, a suggestion here: Persevere and start working on Version 2, using the wisdom learnt from Version 1. This is less likely to fall down under the weight of its contradictions.
The best version, I've heard, will be Version 3, which will be much better than Version 2.
I'm hoping the requirements are not changing between versions. Only the design is changing.
|
|
|
|
|
This is the 3rd version of the LALR(1) parsing. The first was an initial creation of Newt that i never released. The second version I never released either, but it worked - at least as well as this one did, which is to say fine until the input has errors.
The trouble with this is LALR(1) is incredibly convoluted. The algorithm is ridiculous. If you saw it the first thing you'd think is "oh my gosh there has to be an easier way, anything is better than this" - and normally you'd be right. The trouble is, mathematically you'd be wrong in this case. LR parsing is just *complicated* like that. The table generation - let's just say even an RDBMS would find it really tough.
The parser, for all that is shockingly simple, but unintelligible because the parse table is unintelligible by the time it's crunched. Traversing it is easy because there's a formula to it, but it still doesn't make sense, if that makes sense. =)
But all this means is as long as everything works as expected, it's great. But when you start getting errors in your input, all of the sudden you have to take over from the normal parsing algorithm, preserve its state, potentially modifying its state to account for the error(s), interrupt the parse to report the errors, and then continue, all while managing to keep the parse table synced with the input. This is convoluted in an LL(1) parser, much less a LALR(1) parser.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|