
The Jim Roskind C/C++ Grammar - signa11
http://blog.robertelder.org/jim-roskind-grammar/
======
evmar
Hey I worked with Jim!

Fun story: a project we worked on together involved some Python and he
suggested that he didn't really know Python. At some point I somehow noticed
that he wrote the Python profiler (see the name at the top
[https://github.com/python/cpython/blob/2.7/Lib/profile.py](https://github.com/python/cpython/blob/2.7/Lib/profile.py)
). When I asked him about it he made some comment about how he didn't really
know the language but he needed a profiler at some point, the language didn't
have one, so he just wrote it.

------
git-pull
For another cool .y (YACC) and .l (Flex) setup, check out what Postgres uses
to parse SQL queries:

[https://github.com/postgres/postgres/blob/master/src/backend...](https://github.com/postgres/postgres/blob/master/src/backend/parser/gram.y)

[https://github.com/postgres/postgres/blob/master/src/backend...](https://github.com/postgres/postgres/blob/master/src/backend/parser/scan.l)

Link to all files / README:
[https://github.com/postgres/postgres/tree/master/src/backend...](https://github.com/postgres/postgres/tree/master/src/backend/parser)

------
mikerg87
In today’s world it seems like this article should be a repo up on github. I
had never really thought of github in terms of it’s archiving and historical
preservation propertie. FTP if it hasn’t already is going the way of telnet,
gopher and Usenet

~~~
nawtacawp
I wouldn't count on github for those purposes. They are files hosted under
unique accounts -- those accounts could just delete their repos. If there is a
need to archive something, I always make my own archive as opposed to
bookmarking a hosting site.

------
deanCommie
Looks like he's now a Distinguished Engineer at Amazon:
[https://www.linkedin.com/in/jim-
roskind-19520/](https://www.linkedin.com/in/jim-roskind-19520/)

~~~
kevinyen
I worked with Jim at Netscape, and we overlapped at Google later too.

Fantastic, broadly, and intensely talented person.

------
le-mark
I guess the "lexer hack" probably has something to do with the lexer refering
back to the symbol table to disambiguate things like typecast and function
calls? Ie T(x) and f(x). Certainly there are other ambiguities that this
particular hack may not resolve?

------
ontologiae
Good point : there's no parser inside the lexer, like PHP ;-)

