Есть ли способ выполнить прогноз с помощью fslex / Lexing.LexBuffer - PullRequest
3 голосов
/ 19 мая 2011

Я использую fslex, и в одном из моих правил токенизатора мне нужно искать следующий символ, чтобы я мог решить, продолжать ли использовать токены или остановить, развернуть и позволить предыдущему правилу использовать его.

Я провел некоторую проверку его исходного кода, и похоже, что единственный способ - это скомпилировать версию, которая предоставляет некоторые внутренние методы. Может, у кого-то здесь есть лучшее решение?

1 Ответ

1 голос
/ 16 июня 2011

Может быть, вам поможет исходный код LexBuffer .Хотя существуют свойства (BufferScanStart и BufferScanLength) для установки позиции лексера во входном потоке, они являются внутренними.Я не уверен, что потребуется для того, чтобы разоблачить их безопасным способом.

Существует также вопрос по HubFS , который касается возврата обратно.Вывод, похоже, тот же: fslex в настоящее время не поддерживает его.

...