Ошибки Obse-C ParseKit - PullRequest
       20

Ошибки Obse-C ParseKit

2 голосов
/ 18 августа 2011

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

[__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';

Спасибо

1 Ответ

0 голосов
/ 18 августа 2011

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

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

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

Так что заказывайте ParseKit из Google Code здесь:

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

А затем выберите цель «DebugApp» и исполняемый файл «DebugApp» и запустите.

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

...