|
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.
|
|
|
|
|
There is a saying in Germany that you build your first house for your fiend, the second for your friend, and the third for you.
This must not only apply to house architecture, but also code architecture.
|
|
|
|
|
my 3rd house has a leaky roof!
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 alone explains this whole thread
|
|
|
|
|
That doesn't always pan out.
Windows is on version 1906, and it's been getting progressively worse for the last 500-or-so versions.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Meanders and runs (6,3,7)
"We can't stop here - this is bat country" - Hunter S Thompson - RIP
|
|
|
|
|
SNAKES AND LADDERS!
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 might need to lose the snakes.
|
|
|
|
|
Abbas A. Ali wrote: You might need to lose the snakes.
He can't, otherwise it is an abomination and not a game.
Michael Martin
Australia
"I controlled my laughter and simple said "No,I am very busy,so I can't write any code for you". The moment they heard this all the smiling face turned into a sad looking face and one of them farted. So I had to leave the place as soon as possible."
- Mr.Prakash One Fine Saturday. 24/04/2004
|
|
|
|
|
But ... but ... "Ladders and Ladders" is a good PC game (except there is a winner, and we can't have that - it's bad for the losers runners-up other players.
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!
|
|
|
|
|
If I did that, then I wouldn't know where they were, and would have to worry all day in case I stepped on them.
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!
|
|
|
|
|
What are you talking about?
Just to make sure we're on the same page, you are talking about Chutes and Ladders? The alternate name for Snakes and Dragons, which also makes sense with the given clues.
|
|
|
|
|
Seeing Dragons might make you pooh yourself, which could be called "the runs". Tenuous ...
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 see you've left "Tenuous" just hanging there.
|
|
|
|
|
Good man
"We can't stop here - this is bat country" - Hunter S Thompson - RIP
|
|
|
|