Реализация Fortran 77 для AVR
- Войдите на сайт для отправки комментариев
Итак, на чём только мы не программировали бедную Ардуину! И Паскаль, и Ада, и Брейнфак, и Лисп ... ну все отметились, а вот единственный язык для настоящих мужчин как-то до сих пор оставался в стороне. Пришло время это исправить.
Итак, встречайте - реализация Фортрана для AVR!
Правда, сразу же ложка дёгтя :-( Это не кошерный, олдскульный Fortran IV, а убогое, жалкое поделие под названием Fortran 77, которое получилось после того, как сосунки всласть поиздевались над Великим Языком :-( Но, за неимением лучшего, посмотрим на то, что есть.
Итак, реализация включает базовые операции с портами, временем и библиотеку для LCD. Других библиотек обнаружить пока не удалось (что, конечно, не значит что их нет).
Для примера, горячо любимый блинк:
program Blink integer pin13 do read(portb,5) pin13 if (pin13 .eq. 0) then write(portb,5) 1 else write(portb,5) 0 end if call delayms(500) end do stop end
Вот как это выглядит на экране:
Загружается, мигает, всё пучком!
Ну, я пока приторможу. Если появятся какие-то интересности или найдётся версия кошерного Fortran IV - вернусь к теме. Если кто-то попробует поиспользовать, пишите и выкладывайте примеры.
Я что-то не увидел в коде format с меткой 5.
А должен быть? :-)
Должен.
Первый параметр read() - дескриптор устройства, из которого производится чтение, второй (если есть) - метка формата, третий (если есть) - то это метка оператора, на который передается управление при достижении конца файла...
А здесь первый параметр - порт, второй бит :-(
У меня вопрос академический: фортран для МК даёт какие-то преимущества перед тем же вайрингом? Ну, там, может одним махом гайвера побивахом или типа того...
Специально не исследовал, но так, из общих соображений, не вижу чем бы он мог обеспечить себе заметное преимущество.
Насколько я представляю, Фортран обладает следующими преимуществами:
1. Если ты знаешь Фортран, но не знаешь больше ни одного другого языка.
2. Для Фортрана накоплено огромное количество вычислительных библиотек.
3. Фортран ближе к Ассемблеру и легче поддается оптимизации. Поэтому некоторое время (лет 30-40 назад) исполняемый модуль из исходника, написанного на Фортране, получался оптимальнее, чем на других ЯВУ.
В настоящее время для МК IMHO актуальным может быть только 1, да и то - где ж найти такого программиста.
PS. Ну а Гайвера побивахом Фортраном, причем, на его же форуме - мысль представляется интересной)))))))
вспомнил молодость :о) ... однозначно да, у фортрана есть свои маленькие приемущества ... :о)
http://smdc.sinp.msu.ru/index.py?nav=links
https://naif.jpl.nasa.gov/naif/WS2022_announcement_R2.html