2011-08-17 2 views
2

Я просматриваю пример ParseKit и пытаюсь изменить его в соответствии с моими потребностями и столкнуться с этой проблемой. Как только я перехожу в файле грамматики parserFromGrammar: ассемблер, я получаю сообщение об ошибке:Objective-C ParseKit Errors

[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array 

Я думал, может быть, это потому, что мои файлы грамматики имели символические имена с подчеркиванием в них. Поддерживает ли ParseKit подчеркивание? Каким будет имя метода, которое будет вызвано назад? Ака будет ли имя токена «foo_bar» вызывать метод didMatchFoo_bar?

Затем я вынул все подчеркнутые имена, и это все еще дает мне эту ошибку. Я использую файл грамматики пример с сайта ParseKit:

@start = sentence+; 
sentence = adjectives 'beer' '.'; 
adjectives = cold adjective*; 
adjective = cold | freezing; 
cold = 'cold'; 
freezing = 'freezing'; 

Благодаря

ответ

0

разработчик ParseKit здесь. 2 вещи:

  1. Чтобы ответить на ваш первый вопрос, я считаю, что ответ ДА.

  2. Я только что опробовал грамматику и, похоже, работает для меня. Тем не менее, я использую последнюю версию ParseKit от Google Code (не GitHub GitHub устарело извините...)

Так выписка ParseKit из кода Google здесь:

https://parsekit.googlecode.com/svn/trunk

Затем выберите «DebugApp» и «DebugApp» Executable и запустите.

В проекте Xcode выполните глобальный поиск «холодного замораживания пива». вы увидите, что я добавил ваш пример в качестве примера по умолчанию, запущенного в DebugApp. Кажется, работает нормально.

+0

Я проверю это, еще раз спасибо – JPC