Cómo configurar una gramática que pueda manejar la ambigüedad

Estoy tratando de crear una gramática para analizar algunas fórmulas similares a Excel que he ideado, donde un carácter especial al comienzo de una cadena significa una fuente diferente. Por ejemplo, $puede significar una cadena, por lo que " $This is text" se trataría como una entrada de cadena en...