Компиляция и выполнение переводчика Языка программирования Shakespeare spl2c на Mac OS X 10,6 результатов в предупреждениях/ошибках

Я хотел экспериментировать с языком программирования Shakespeare, таким образом, я загрузил его отсюда и выполнил использование Make-файла cd spl-1.2.1 Make.

Компиляция spl2c выполняется с парой предупреждений:

scanner.l:600: warning, rule cannot be matched
<stdout>:5808: warning: ‘yyunput’ defined but not used

И затем когда это пытается скомпилировать все примеры, все выходит из строя:

../spl/bin/spl2c < fibonacci.spl > fibonacci.c
Warning at line 19: equality expected
Warning at line 28: equality expected
Warning at line 30: comment expected
Warning at line 30: comment expected
Warning at line 30: comment expected
Warning at line 30: comment expected
Warning at line 32: comment expected
Warning at line 32: comment expected
Warning at line 32: comment expected
Warning at line 32: comment expected
Warning at line 34: comment expected
Warning at line 34: comment expected
Warning at line 34: comment expected
Warning at line 34: comment expected
Warning at line 36: comment expected
Warning at line 36: comment expected
Warning at line 37: comment expected
Warning at line 37: comment expected
Warning at line 37: comment expected
Warning at line 37: colon expected
Warning at line 40: equality expected
Warning at line 51: comment expected
Warning at line 51: comment expected
Warning at line 51: comment expected
Warning at line 51: comment expected
Warning at line 51: comment expected
Warning at line 51: colon expected
Error at line 59: 'act [roman number]' or 'scene [roman number]' expected
1 errors and 27 warnings found. No code output.

Кто-либо может указать на меня в правильном направлении для фиксации этого? Мой исходный проект был изучением spl, не склоняясь для отладки компиляторов (я на самом деле хотел бы записать свой собственный компилятор в конечном счете, но я предпочту придерживаться своего первоначального проекта на данный момент).

Я работаю OS X 10.6.2, gcc version 4.2.1 (Apple Inc. build 5646) (dot 1), flex 2.5.35, и bison (GNU Bison) 2.3.

Править: Для простых программ, не требующих gotos (например, hello.spl), можно обойти проблему путем удаления всех строк ACT/сцены кроме первого ACT I/SCENE I.

8
задан Mateusz Piotrowski 13 April 2015 в 17:07
поделиться

1 ответ

Первая проблема с scanner.l: 600: предупреждение, правило не может быть сопоставлено , потому что слово гнилой было добавлено два раза к файл include / negative_adjective.wordlist просто удалите его оттуда, и первое предупреждение будет удалено. Однако остального это не исправляет. Загляните сюда, если я могу еще что-нибудь исправить.

1
ответ дан 5 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: