3 ms·
> Perhaps this comment was meant as a joke Nope, not a joke. As you say, this is just the application of parsing technology to a tokenized stream of input eve
by rhelz 3y ago
> Perhaps this comment was meant as a joke
Nope, not a joke. As you say, this is just the application of parsing technology to a tokenized stream of input events.
its super-useful in creating state machines to do parsing---and it can be super-useful to create state machines for other things as well.
> I watched Ken Thompson write a Paxos implementation in yacc once.
In real time? dude, you gotta post video to youtube or post a "Tell HN" story about it.
- rsc 3y agoIt's not as exciting as it sounds. He wanted to play around with learning Paxos, which is a big state machine, and he used yacc to do it. I shared an office with him for a couple years in the early days of Go, and he was working on it while I was working on other things. I helped him track down at least one bug in the Go port of yacc that way. I think the grammar he was writing was completely regular, but yacc is nicer to use than lex. Ken discussed yacc briefly in Coders at Work, which I quoted at https://research.swtch.com/yyerror https://research.swtch.com/yyerror: Seibel: And are there development tools that just make you happy to program? Thompson: I love yacc. I just love yacc. It just does exactly what you want done. Its complement, lex, is horrible. It does nothing you want done. Seibel: Do you use it anyway or do you write your lexers by hand? Thompson: I write my lexers by hand. Much easier.
- rhelz 3y ago> It's not as exciting as it sounds. De Gustibus. Some of us are into that sort of thing. Thanks for the link. > Thompson: I write my lexers by hand. Much easier. LMAO. If you've been doing it since the 60's, I suppose you get the hang of it: Ken Thompson, “Regular expression search algorithm,” Communications of the ACM 11(6) (June 1968), pp. 419–422