Relationship between shift-reduce parsing and delimited continuations? Has anyone formalized the relationship between shift-reduce parsing techniques and delimited continuations? 

When constructing a bottom-up parser (eg, LR parsers), we take a grammar and then represent parse states as sets of items: augmented productions of the form $A \to \alpha \bullet \beta$, where $\alpha$ and $\beta$ are sequences of terminals and nonterminals. The marker $\bullet$ represents how far the parser has gotten into the string, with $\alpha$ representing what has been seen so far, and $\beta$ representing a prediction of what yet may be parsed. 

A shift action in a transition of the LR parse automaton matches a prefix of the stack against $\alpha$, and replace it with $A$. Such a deep manipulation of the stack resembles the effect of a control operator, but this is just a qualititative observation. 

Has anyone studied the connection between shift-reduce parsing and delimited control operators such as shift/reset?
I believe that the following paper explores some of this connection, mostly by using continuations to backtrack when things happen in parsers.  But there's definitely more to do here. 


  Modular rollback through control logging: A pair of twin functional pearls
  
  Olin Shivers, Aaron Turon, ICFP 2011.