Hacker News new | ask | show | jobs
by PeCaN 3836 days ago
Generalized LL Parsing - http://dotat.at/tmp/gll.pdf

Parse ambiguous context-free grammars in worst-case cubic time and unambiguous grammars in linear time, with an intuitive recursive-descent-ish algorithm. GLL is the future of parsing IMO, more powerful than packrat/PEG parsers and comparatively easy to write by hand. It also handles ambiguities more elegantly than GLR, IMO.

Dependency-Based Word Embeddings - https://levyomer.files.wordpress.com/2014/04/dependency-base...

word2vec algorithm with context based on linguistic dependencies instead of a skip-gram approach. A quick explanation is skip-grams give words related to the embedding (ex: Hogwarts -> Dumbledore) and dependencies give words that can be used like the embedding (ex: Hogwards -> Sunnydale). It's not meant to replace skip-grams, but augment them; skip-gram contexts learn the domain and dependency-based contexts learn the semantic type.

1 comments

Thanks for the first of these, I've put it on my "eventually if I ever get serious about writing this programming language" list.
Heh, that's where it is on mine too. :)

One of the things I find particularly nice about GLL is that it's much more friendly to parser combinators[1] than GLR. (LR-family parsers, and bottom-up parsing in general, is notoriously difficult to implement in a way such that parsers can be combined, and the result framework would be rather awkward to use.)

1: Indeed, it's already been done: https://github.com/bawerd/gll.js https://github.com/epsil/gll https://github.com/djspiewak/gll-combinators