-
Notifications
You must be signed in to change notification settings - Fork 2
Рассмотреть использование XDPW в первой лабе #7
Comments
Добрый день, Василий! Это не коллекция самоприменимых компиляторов Паскаля, это учебное пособие. Есть компилятор Паскаля (вернее, два на выбор), на его основе нужно сделать версию компилятора с модифицированным синтаксисом и раскрутить её — модификацию синтаксиса применить к исходнику и успешно самоприменить. Собственно, вот как выглядят задания (сами задачи на последних страницах):
Это самая первая лабораторная по компиляторам, она даётся, когда почти никакой материал не был прочитан. На первой лекции читаются основные определения, T-диаграммы и даётся понятие раскрутки. Поэтому задача простая — сделать маленькую правку на уровне лексического или синтаксического анализа и не запутаться в двух шагах раскрутки. В принципе, я думаю, можно использовать и Ваш компилятор наравне с P5 и Btpc(64), большинство вариантов заданий можно применить и к нему. Кстати, о Btpc64 (BMSTU Tiny Pascal x64). Это порт компилятора BeRo Tiny Pascal на Linux и x64, сделанный у нас на кафедре. Как можно догадаться, курсовая работа. Можете почитать записку, она интересная: https://github.com/bmstu-iu9/A-Bauman-BTPC-64/blob/master/Compilers_Report.pdf На первой лабораторной он взаимозаменяем с оригинальным Btpc. Кстати, у меня безумная мысль. Чуть ли не треть студентов на нашей кафедре пользуются макинтошами, они страдают на первой лабе (P5 только под Linux x86, Btpc(64) под Windows x86 и Linux x64). Надо облегчить их страдания! Надо дать задание на курсовую — портирование Btpc64 на макось. Пускай этой осенью кто-то один пострадает за всех будущих студентов-макинтошников. |
Спасибо, интересно! Я сам, конечно, никогда не рассматривал Mac в качестве платформы (да и не работал с ним). Долго выбирал, под что портировать свой компилятор, изначально компилировавший для DOS - под PE или ELF. Остановился на PE. |
У меня тоже нет и никогда не было Мака. Но у многих студентов они есть. По переносу Вашего компилятора под Linux/Mac на курсовую — я подумаю. Если кто-то из студентов заинтересуется — Вы будете консультантом 😉. У них курс конструирования компиляторов весной, а курсовые по ним осенью. Если я правильно загуглил, Вы вроде тоже в Бауманке работаете. |
Загуглили правильно, но я там уже не работаю :) Профессионального отношения к компиляторостроению, увы, никогда не имел, хоть и всегда рад поговорить об этом. |
Я, в общем-то, тоже профессионально не занимался компиляторами, а Рефал-5λ тоже вырос из хобби-проекта. Но если Вы рады поговорить, можем списаться по почте: a.v.konovalov87@mail.ru. Не будем оффтопить в таск-трекере репозитория с лабами по конструированию компиляторов. |
А на счёт использования Вашего компилятора в лабораторной работе — я тогда попробую самоприменить компилятор и посмотрю его исходники. Скорее всего, подойдёт, только нужно будет уточнить формулировки заданий вариантов. |
Выложил новую версию XDPW. Добавил компиляцию программ с GUI (хотя вряд ли это нужно для лаб) и исправил некоторые баги. |
Посмотрим, до чего дорастёт XDPW к февралю, когда лабы начнутся. |
Насколько я понимаю, под Mac сейчас работают только 64-битные программы. Так что перенести 32-битный компилятор "один в один" не получится. С августа в моём компиляторе генератор кода заметно разросся, так что переход на 64 бита делать уже потруднее. Но вдруг охотники найдутся? |
Коллеги, хочу предложить ещё один самокомпилируемый компилятор Паскаля в вашу коллекцию: https://github.com/vtereshkov/xdpw.
Это мой собственный хобби-проект. По сравнению с BeRo Tiny Pascal, он имеет некоторые преимущества:
Замечено, что антивирус AVG даёт ложно положительный результат проверки некоторых откомпилированных файлов. За BeRo Tiny Pascal было замечено то же, но с антивирусом McAfee.
The text was updated successfully, but these errors were encountered: