Z:gnu-www-ja-stallman-kth--7244c5-Well, since this compiler alre/ru

Ну, вот. Поскольку этот компилятор уже компилировал PASTEL, что мне нужно было сделать &mdash; это добавить предобработчик для C, что я и делал, и добавить постобработчик для 68000, который, как я ожидал, станет моей первой целевой машиной. Но я столкнулся с серьёзной проблемой. Из-за того, что язык PASTEL был определён так, чтобы не требовать от тебя, чтобы ты объявлял что-нибудь перед тем, как ты будешь обращаться к этому, объявления и обращения могли быть в любом порядке, другими словами, паскалевское &ldquo;предварительное&rdquo; объявление было в прошлом, поэтому необходимо было прочесть всю программу и держать её в памяти, а потом обрабатывать её всю целиком. В результате промежуточная память, используемая в компиляторе, размер необходимой памяти, был пропорционален размеру вашего файла. И это относилось также к пространству стека, тебе нужны были колоссальные количества стекового пространства, и результатом, к которому я пришёл, было то, что на доступной мне системе 68000 нельзя было запустить компилятор. Потому что это была ужасная версия Unix, которая давала тебе лимит во что-то вроде 16K слов стека, это несмотря на существование шести мегабайт в машине, у тебя могло быть только 16K слов стека или что-то вроде этого. И, конечно, чтобы генерировать свою матрицу конфликтов, чтобы увидеть, какие временные значения конфликтуют или живут в то же время, что и другие, ему нужна была квадратная матрица бит, и для больших функций это занимало сотни тысяч байт. Так что мне удалось отладить первый проход из десяти или около того проходов компилятора, кросс-компилировать на ту машину и затем обнаружить, что второй никогда не сможет выполниться.