The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
i'm working on a parser generator that is LL(k) which should be suitable for really complex grammars. Probably even C#7 (I hope - Microsoft's C# parser is hand rolled recursive descent IIRC, not generated)
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.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
back in my really young uni days I used to hand roll not so much parsers but tokenisers using a finite state machine (in C). used it for some advanced comp.sci projects
was about 20 lines of code (for everything), and a hand rolled a table.
tokenising a programming language such as C the table was maybe 30 rows.
handled all the language foibles (unary operators, ++, --, * as pointer vs multiplication, &...
this was when machines were pretty slow and system memory ws measured in kilobytes - this method blew away anything else in both speed and size.
kept a [hard]copy for years but eventually lost it quite some time ago.
After uni it was one of those really great tools only used once in a blue moon - (like that fancy german brand jigsaw in the tool box - bought for a project and it did the job really well but now rarely seen outside of it's box.)
OTOH I do find myself often analysing [programming] data flow/processing as sort-of finite state doodles on scrap paper.