|
:GROAN:
Software Zen: delete this;
|
|
|
|
|
At least I didn't write ...
Customer: Waiter - this coffee tastes like mud.
Waiter: That's not surprising, sir. It was only ground this morning.
|
|
|
|
|
You have an earthy sense of humor...
Software Zen: delete this;
|
|
|
|
|
I've been hunting for an algorithm for computing FOLLOWS(k) sets for LL(k) grammars. It's a parsing thing.
The only thing google is returning me on it is a dead link referred to on a newsgroup. I try to use google to get to a cached copy of the link but google is taking me back to the newsgroup page that links to the link I want.
I found another reference to it on like stack overflow or something, and they referred me to Dick Grune's book which I already have, and doesn't cover it very well if at all (my memory is hazy but if it was in there I would have known, as I am the mad captain and LL(k) is my white whale)
I think I might have to figure it out myself, and that worries me. To say it's non-trivial is a bit of an understatement. There are several ways to do it, and most require permutation and exponential growth of parse tables.
I don't know how to properly permutate follows sets. It's confusing.
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: FOLLOWS(k) sets
Do you mean "first and follow sets"?
|
|
|
|
|
FOLLOWS(k) sets particularly for where k>1
FOLLOWS(k=1) I can do, but there's a monumental difference in implementing k=1 and k>1, unfortunately.
k is a convention used to indicate the number of lookahead symbols.
Real programmers use butterflies
|
|
|
|
|
Hmmmm,
Found a paper from Oxford that describes how to construct first and follow sets for arbitrary k. He gives an example for LL(5).
The LL(f inite) strategy for optimal LL(k) parsing[^] by Peter Belcak
I can comprehend alot of very complicated things, but this paper is very hard to understand.
|
|
|
|
|
I was hoping for something with less math, but thanks.
I never went to uni, so my exposure to math formalisms is limited
Edit: Actually, that paper is very good. I don't understand all of it yet, but the author seems to be explaining the formalisms used so that I can potentially understand them. Thanks for the link!
Real programmers use butterflies
modified 14-Nov-21 17:52pm.
|
|
|
|
|
You are welcome.
For what it's worth... I e-mail postdoc and researchers all the time. I've e-mailed two universities this weekend asking to obtain their text corpus for my NLP project.
It doesn't hurt to e-mail the guy and ask if he has an implementation you can take a look at. Also... if you look in the bibliography at the bottom of the paper some of those links go to other parser projects.
Best Wishes,
-David Delaune
|
|
|
|
|
You might try the Computer Science library of your local University. The librarian is likely to be able to refer you to appropriate books.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Yeah, and a lot of those assume a background in mathematics that I lack. I've gotten only so far with things like the dragon book.
Real programmers use butterflies
|
|
|
|
|
Well,
I am not even kidding, the codeproject Lounge is probably the worse place to get help on science/technical issues. The lounge lizards will poke fun at anything they don't understand, gripe about everything under the sun and give you a list of every pseudo-celebrity that died this week.
You already know the C/C++ and C# languages (probably more) and I think you are selling yourself short if you think that you will be unable to understand logic notation[^]. Most of what is in that paper falls under tautology[^].
It might take a while but it's really just another language to learn.
If all these teenagers on Reddit can read/write formal logic[^] then I am sure you can too.
Best Wishes,
-David Delaune
|
|
|
|
|
I do not think the Codewitch was exactly asking for help. Just describing a technical situation, as they have done before...
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
Out of curiosity, why are you doing LL(k) parsing and not LR(k) parsing in this project? I vaguely remember doing LL(1) and LL(2) parsing in college as an exercise and it was a royal nightmare to get right.
I think I still have my copy of the Dragon book.
|
|
|
|
|
LR(k) isn't realistic for k>1. The parse tables are too big, which is why nobody does it.
There is GLR parsing which overcomes that at the cost of non-determinism. It's a monster to use.
Furthermore, LL(k) is far easier for the end user to code against, since it's top down and not bottom up.
I'm actually attempting to use my LR(1) table gen code to help me make LL(k) for k>1 because my LR(1) code already generates a state machine for all the symbols in a grammar. I think I can use that state machine to resolve ambiguities I encounter at k=1.
Real programmers use butterflies
|
|
|
|
|
Is it saved in the wayback machine archive?
|
|
|
|
|
https://9gag.com/gag/azeEeBp[^]
Having seen it in action, I have to agree.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
Um. I have it on my Surface and ... it's pretty much the same as Win10 from a user perspective.
Once you've removed the stupid "centred taskbar" which does my head in because it's actually "centred in what's left when the stuff at the right had had a good chunk of it". Just looks stupid, and means things "move about" as you run apps.
Oh, and moving the "power" button to a stupid place as well.
Other than that it's really hard to spot any differences when it's in use ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
9gag.com wrote: It's window for a reason you know... the door is locked
Once everyone has the TPM 2.0[^] the internet can be encrypted end-to-end. With the keys protected in the TPM content providers will be able to stream DRM protected media without fear of intellectual property theft. Video game producers will be able to provide a much safer gaming environment. Signed HTTP Exchanges[^] although still in the draft stage is currently supported in chromium based browsers. The old man-in-the middle problem will no longer be an issue.
|
|
|
|
|
Will the Windows Filtering Platform still be able to inspect packets?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Well,
Yes, of course. It would have been better to say that 'end-to-end encryption' can be verified.
As former member of the XBox team (2012-2014) I'd like to mention that some of the technologies that were added to the XBox One are proving to be very resilient against attacks on the machine... even with physical access. Keep an eye on the Microsoft Pluton processor[^]. The technologies that were created for protecting the XBox intellectual property will be coming to all future Windows PC beginning sometime around 2022.
The requirement for a TPM 2.0 is just a temporary stopgap, at sometime in the future the OS may require a Pluton.
|
|
|
|
|
yeah right. Meanwhile the Microsoft clowns continue to write gaping security holes...
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
Please don't post any more 9gag links. Please? There went 30 minutes
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
I know what you mean.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
That was exactly what I was going to say.
|
|
|
|