Если я понял ваш вопрос, под «встраиванием действий в грамматику» вы подразумеваете вставку семантических действий в грамматику, чтобы они выполнялись «inline» (например, на этапе синтаксического анализа, когда ввод анализируется).
Парсеры Earley для этого не подходят, потому что они допускают любые (даже неоднозначные) языковые грамматики без контекста. Смотри: http://en.wikipedia.org/wiki/Earley_algorithm
В основном: для данного выполнения и данного состояния парсер Earley содержит все возможных состояний синтаксического анализа. Традиционный подход (например, Yacc / Bison) заключается в выполнении семантического действия после завершения правила или частичного ввода. Но при разборе неоднозначной грамматики (например, с конфликтом «уменьшить / уменьшить») и анализатор Earley позаботится об обоих «сокращениях», но из-за своей неоднозначности не будет знать, какое действие следует выполнить.
Обычный способ использовать парсеры Earley - это проанализировать входные данные и получить лес синтаксического анализа, на котором вы позже выполните желаемые действия (например, отбрасывание тех, кого вы знаете, недопустимо, или применение к ним некоторых семантических действий) .
Тем не менее, было проведено некоторое исследование по этой теме, пытавшееся выполнить некоторые действия в строке (извините, нашел только эту ссылку) http://www.springerlink.com/content/602270808666074p/