Отсутствует файл заголовка, <tools / debug.h> для ANSI C? - PullRequest
0 голосов
/ 08 января 2019

Надеюсь, у тебя все хорошо. Я просматривал книгу Аллена И. Холуба «Проектирование компиляторов в Си», когда натолкнулся на следующие заголовочные файлы, реализованные в примере программы:

#include <tools/debug.h>
#include <tools.h> /* Needed only for prototype

Мой компилятор говорит, что такого файла или каталога не существует (Dev-C ++). Я установил настройки компилятора на ANSI-C, видя, как автор использует ANSI-C для написания кода, но безрезультатно.

Программа также включает в себя ключевое слово PRIVATE, которое после перехода с C99 на ANSI-C все еще сообщается компилятором как неизвестное ключевое слово.

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

First page

Second page, remaining part

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

Заранее благодарим за ваше время и терпение, прочитав все это до конца.

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Да, я могу помочь. Я использовал эти инструменты в профессиональной работе по контракту для огромного хранилища данных в Данне и Брэдстрите в Баскинг-Ридж, штат Нью-Джерси, когда книга была новой. Это единственный набор инструментов в своем роде, и видимый синтаксический анализатор является особенно мощным, и общий анализ как сверху вниз, так и снизу вверх с полными аннотированными источниками делает его единственным в своем роде. Забавно видеть, что люди, которые, возможно, не родились с этим, вышли, пытаясь использовать это.

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

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

В контракте D & B я использовал его для создания синтаксических анализаторов, которые читают разделы рабочего хранилища своих унаследованных программ на COBOL (унаследовано в 1991 году) для заполнения хранилища.

В прошлом я намеревался сделать так, чтобы порт связывался с Голубем, и он сказал, что все будет в порядке, у него с этим нет проблем, но сам он ничего не делает. Все копии, которые я видел на софар, это те же самые вещи середины 90-х, которые работают без порта, кроме как на эмуляторе.

0 голосов
/ 08 января 2019

Заголовки являются дополнительными материалами. Они доступны для скачивания с сайта автора: https://holub.com/compiler/.

Сама книга, должно быть, упоминала об этом где-то во вступительных главах.

...