Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
Ещё один минимальный Форт на Си в одном файле. A minimal Forth compiler in ANSI CDOES> слова не увидел в этой реализации. Sotnik писал(а): Ещё бы таких простых реализаций. Relative Forth (RelF) version 0.2.Цитата: Идея RelF пришла ко мне после просмотра SOD32. SOD32 — очень интересный проект с отдельным движком и машинно-независимым бинарным образом Форт системы. Но SOD32 довольно медленный по многим причинам. Меня заинтересовало ускорение SOD32. По крайней мере, в какой-то степени мне это удалось. Обратите внимание, что моей основной платформой была x86. Меня очень удивили результаты бенчмарков, полученных на sparc-solaris, с которыми можно ознакомиться ниже. В ходе этой работы было внесено много изменений в конструкцию системы. Главным из них была организация многопоточного кода: ссылка на высокоуровневое определение теперь содержит не адрес этого определения, а относительное смещение (отсюда и название - Relative Forth). ... P.S. Попутно ещё встретился ForthBox - репозиторий с примерами кода для SwiftForth
Ещё один минимальный Форт на Си в одном файле. [url=https://gist.github.com/lbruder/10007431]A minimal Forth compiler in ANSI C[/url]
DOES> слова не увидел в этой реализации.
[quote="Sotnik"]Ещё бы таких простых реализаций.[/quote] [url=https://github.com/kt97679/relf]Relative Forth (RelF) version 0.2.[/url] [quote]Идея RelF пришла ко мне после просмотра SOD32. SOD32 — очень интересный проект с отдельным движком и машинно-независимым бинарным образом Форт системы. Но SOD32 довольно медленный по многим причинам. Меня заинтересовало ускорение SOD32. По крайней мере, в какой-то степени мне это удалось. Обратите внимание, что моей основной платформой была x86. Меня очень удивили результаты бенчмарков, полученных на sparc-solaris, с которыми можно ознакомиться ниже. В ходе этой работы было внесено много изменений в конструкцию системы. Главным из них была организация многопоточного кода: ссылка на высокоуровневое определение теперь содержит не адрес этого определения, а относительное смещение (отсюда и название - Relative Forth). ...[/quote]
P.S. Попутно ещё встретился [url=https://github.com/red6rick/forthbox]ForthBox - репозиторий с примерами кода для SwiftForth[/url]
|
|
|
|
Добавлено: Сб июн 25, 2022 05:37 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
pk-fr-76-2 писал(а): Sotnik писал(а): Как на это поглазеть? Может быть и не то, но погуглил и нашел архив SOD32, где как раз есть файл tetris.4: https://lennartb.home.xs4all.nl/sod32.tar.gz Спасибо! Самое то. Ещё бы таких простых реализаций.
[quote="pk-fr-76-2"][quote="Sotnik"]Как на это поглазеть? :)[/quote]Может быть и не то, но погуглил и нашел архив SOD32, где как раз есть файл tetris.4: https://lennartb.home.xs4all.nl/sod32.tar.gz[/quote] Спасибо! Самое то. :)
Ещё бы таких простых реализаций.
|
|
|
|
Добавлено: Сб апр 23, 2022 18:20 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
Sotnik писал(а): disatarial писал(а): Total Vacuum писал(а): :D Погуглил немного, но что-то особо не видно реализаций Тетриса на Форте... Михаил Максимов делал. У меня на диске лежит его "SOD32 the Stack Oriented Design computer." и там как пример тетрис на форте Как на это поглазеть? Может быть и не то, но погуглил и нашел архив SOD32, где как раз есть файл tetris.4: https://lennartb.home.xs4all.nl/sod32.tar.gz
[quote="Sotnik"][quote="disatarial"][quote="Total Vacuum"]:D Погуглил немного, но что-то особо не видно реализаций Тетриса на Форте... :D[/quote]Михаил Максимов делал. У меня на диске лежит его "SOD32 the Stack Oriented Design computer." и там как пример тетрис на форте :)[/quote] Как на это поглазеть? :)[/quote]
Может быть и не то, но погуглил и нашел архив SOD32, где как раз есть файл tetris.4:
https://lennartb.home.xs4all.nl/sod32.tar.gz
|
|
|
|
Добавлено: Сб апр 23, 2022 17:51 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
disatarial писал(а): Total Vacuum писал(а): :D Погуглил немного, но что-то особо не видно реализаций Тетриса на Форте... Михаил Максимов делал. У меня на диске лежит его "SOD32 the Stack Oriented Design computer." и там как пример тетрис на форте Как на это поглазеть?
[quote="disatarial"][quote="Total Vacuum"]:D Погуглил немного, но что-то особо не видно реализаций Тетриса на Форте... :D[/quote]Михаил Максимов делал. У меня на диске лежит его "SOD32 the Stack Oriented Design computer." и там как пример тетрис на форте :)[/quote] Как на это поглазеть? :)
|
|
|
|
Добавлено: Сб апр 23, 2022 01:30 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
Total Vacuum писал(а): :D Погуглил немного, но что-то особо не видно реализаций Тетриса на Форте... Михаил Максимов делал. У меня на диске лежит его "SOD32 the Stack Oriented Design computer." и там как пример тетрис на форте
[quote="Total Vacuum"]:D Погуглил немного, но что-то особо не видно реализаций Тетриса на Форте... :D[/quote] Михаил Максимов делал. У меня на диске лежит его "SOD32 the Stack Oriented Design computer." и там как пример тетрис на форте :)
|
|
|
|
Добавлено: Пт апр 22, 2022 22:23 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
Проект Форта в рамках использования игрового движка love2d (на базе языка Lua) love2d-forthP.S. Х.З. насколько это интересно, но на том же Хабр достаточно много статей с описанием использования love2d. ZeroBrane Studio легковесная IDE среда сделанная на Lua.
Проект Форта в рамках использования игрового движка love2d (на базе языка Lua) [url=https://github.com/robzed/love2d-forth]love2d-forth[/url]
P.S. Х.З. насколько это интересно, но на том же Хабр достаточно много статей с описанием использования love2d.
[url=https://studio.zerobrane.com/]ZeroBrane Studio[/url] легковесная IDE среда сделанная на Lua.
|
|
|
|
Добавлено: Чт апр 21, 2022 16:36 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
Форт подобный язык реализованный в рамках 3-его Питона Quackery(интересный в целом дизайн конкатенативного языка) И 401 решённых задач на нём http://rosettacode.org/wiki/Category:QuackeryP.S. Может быть интересен и лексикон слов языка Quackery Quick Reference.pdfThe Book of Quackery.pdfКакие то идеи по наполнению слов пересекаются с Factor языком.
Форт подобный язык реализованный в рамках 3-его Питона [url=https://github.com/GordonCharlton/Quackery]Quackery[/url] (интересный в целом дизайн конкатенативного языка)
И 401 решённых задач на нём [url=http://rosettacode.org/wiki/Category:Quackery]http://rosettacode.org/wiki/Category:Quackery[/url]
P.S. Может быть интересен и лексикон слов языка [url=https://github.com/GordonCharlton/Quackery/blob/main/Quackery%20Quick%20Reference.pdf]Quackery Quick Reference.pdf[/url] [url=https://github.com/GordonCharlton/Quackery/blob/main/The%20Book%20of%20Quackery%20for%20print.pdf]The Book of Quackery.pdf[/url]
Какие то идеи по наполнению слов пересекаются с Factor языком.
|
|
|
|
Добавлено: Пн ноя 22, 2021 02:05 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
Реализация Форта на Awk. https://github.com/pahihu/basforth
|
|
|
|
Добавлено: Вс ноя 21, 2021 19:57 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
Кстати, интересно, какая самая компактная реализация Тетриса есть в природе? Мне попадалась версия для chip8 весом 494 байта (или 247 "машинных" инструкции, т.к. все инструкции там двухбайтовые). Погуглил немного, но что-то особо не видно реализаций Тетриса на Форте...
:D Кстати, интересно, какая самая компактная реализация Тетриса есть в природе? Мне попадалась версия для chip8 весом 494 байта (или 247 "машинных" инструкции, т.к. все инструкции там двухбайтовые). Погуглил немного, но что-то особо не видно реализаций Тетриса на Форте... :D
|
|
|
|
Добавлено: Пн окт 25, 2021 16:49 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
Автор реализовал Форт на макросах Tasm для DOS. Некоторые возможности макроязыка TASM. (23.11.19) P.S. В архиве игра Tetris на Форт.
Автор реализовал Форт на макросах Tasm для DOS. [url=https://forum.sources.ru/index.php?s=&act=ST&f=163&t=416359]Некоторые возможности макроязыка TASM.[/url] (23.11.19)
P.S. В архиве игра Tetris на Форт. :)
|
|
|
|
Добавлено: Вс окт 03, 2021 20:37 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
4th Forth System (тёзка 4th?) Цитата: Этa Форт система, основанная на VM-архитектуре. Интерпретатор байт-кода может быть скомпилирован в Windows и в Linux с помощью простого компилятора ANSI C. Система спроектирована так, чтобы быть простой и надёжной. Система может быть скомпилирована под 32 или 64 бит системы. Система имеет примитивы для вызова внешнего кода, который должен быть расположен во внешней разделяемой библиотеке. Можно также добавить дополнительные примитивы. Вы можете сохранить состояние системы в «дампе»(img файл), который может быть преобразован в C-файл, а затем связан со средой выполнения для создания готового приложения. P.S. В сборочном файле пропущен файл с Repl_Forth в силу чего не собирается forthconsole (необходимо добавить в сборочный файл из этой же репы quattro_istruzioni_repl.c в compile файл). Для Linux (да и наверное Windows) реализованы и интерфейсы к GTK + glade, FFI. Например, есть начальный пример forthide :> loadfile ./forthide.4th Начальных базовых байт-кодов VM немного, а остальная раскрутка Форт системы уже из файлов с Форт кодом. Начальное ядро ~68Kb (forthconsole) которое подгружает при старте остальную часть системы. Если полностью собрать Форт в приложение одним файлом, то примерно получится 100Kb.
[url=https://github.com/leonardoce/4th]4th Forth System[/url] (тёзка 4th?) [quote]Этa Форт система, основанная на VM-архитектуре. Интерпретатор байт-кода может быть скомпилирован в Windows и в Linux с помощью простого компилятора ANSI C. Система спроектирована так, чтобы быть простой и надёжной. Система может быть скомпилирована под 32 или 64 бит системы. Система имеет примитивы для вызова внешнего кода, который должен быть расположен во внешней разделяемой библиотеке. Можно также добавить дополнительные примитивы. Вы можете сохранить состояние системы в «дампе»(img файл), который может быть преобразован в C-файл, а затем связан со средой выполнения для создания готового приложения.[/quote] P.S. В сборочном файле пропущен файл с Repl_Forth в силу чего не собирается forthconsole (необходимо добавить в сборочный файл из этой же репы quattro_istruzioni_repl.c в compile файл). Для Linux (да и наверное Windows) реализованы и интерфейсы к GTK + glade, FFI. Например, есть начальный пример forthide :) :> loadfile ./forthide.4th
Начальных базовых байт-кодов VM немного, а остальная раскрутка Форт системы уже из файлов с Форт кодом. Начальное ядро ~68Kb (forthconsole) которое подгружает при старте остальную часть системы. Если полностью собрать Форт в приложение одним файлом, то примерно получится 100Kb.
|
|
|
|
Добавлено: Вс окт 03, 2021 19:51 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
JForth (больше походит на Forth-Like) P.S. В рамках реализации на Java Форт тоже становится кроссплатформенным. porth Цитата: It's like Forth but written in Python.
[url=https://github.com/nietoperz809/JForth]JForth[/url] (больше походит на Forth-Like)
P.S. В рамках реализации на Java Форт тоже становится кроссплатформенным. :)
[url=https://github.com/tsoding/porth]porth[/url] [quote]It's like Forth but written in Python.[/quote]
|
|
|
|
Добавлено: Вт сен 28, 2021 12:33 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
RtForth - Forth implemented in Rust, designed for real-time applications.P.S. Интересно, если в таком варианте смысл при использовании Rust языка как основы Форт системы? Немного перевода с китайского (через сервис перевода) Код: Forth - язык, который хорошо подходит для промышленного контроля. rtForth - это диалект Forth, разработанный Motion Technology для собственной системы управления осями. Чтобы вернуть сообществу Forth, rtForth был с открытым исходным кодом с самого начала.
У rtForth есть два значения. Первое - это значение в реальном времени. Для системы управления осями Motion Technology требуется язык сценариев, который может быть выполнен в операционной системе реального времени. Динамическая конфигурация памяти недопустима в средах реального времени, поэтому языки, обычно используемые в сообществах с открытым исходным кодом, таких как Python, Lua и т. Д., Неприменимы. Forth это единственный вариант.
Во-вторых, RT также представляет собой Rust. Rust - это язык программирования, разработанный Mozilla для разработки следующего поколения безопасных и высокопроизводительных браузеров с безопасностью, скоростью и параллелизмом. Он использовался ключевыми международными компаниями-разработчиками программного обеспечения, включая Docker, Facebook и Google. Его функции подходят не только для разработки безопасных высокопроизводительных браузеров, серверов, но и для систем управления осями. ...
[url=https://github.com/chengchangwu/rtforth]RtForth - Forth implemented in Rust, designed for real-time applications.[/url]
P.S. Интересно, если в таком варианте смысл при использовании Rust языка как основы Форт системы?
Немного перевода с китайского (через сервис перевода) [code] Forth - язык, который хорошо подходит для промышленного контроля. rtForth - это диалект Forth, разработанный Motion Technology для собственной системы управления осями. Чтобы вернуть сообществу Forth, rtForth был с открытым исходным кодом с самого начала.
У rtForth есть два значения. Первое - это значение в реальном времени. Для системы управления осями Motion Technology требуется язык сценариев, который может быть выполнен в операционной системе реального времени. Динамическая конфигурация памяти недопустима в средах реального времени, поэтому языки, обычно используемые в сообществах с открытым исходным кодом, таких как Python, Lua и т. Д., Неприменимы. Forth это единственный вариант.
Во-вторых, RT также представляет собой Rust. Rust - это язык программирования, разработанный Mozilla для разработки следующего поколения безопасных и высокопроизводительных браузеров с безопасностью, скоростью и параллелизмом. Он использовался ключевыми международными компаниями-разработчиками программного обеспечения, включая Docker, Facebook и Google. Его функции подходят не только для разработки безопасных высокопроизводительных браузеров, серверов, но и для систем управления осями. ... [/code]
|
|
|
|
Добавлено: Пн фев 18, 2019 17:22 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
[url=https://libraries.io/npm/spfjs]ANS FORTH 94 in javascript compatible with SP-FORTH[/url]
|
|
|
|
Добавлено: Вс июл 29, 2018 06:50 |
|
|
|
|
|
Заголовок сообщения: |
Re: Реализации Форта на разных языках (Java, Ada, C, C++ ... |
|
|
Одна из работ студентов кафедры ИУ-9 Теоретическая информатика и компьютерные технологии Bauman Moscow State Technical Universitet Язык реализации JavaScript IU9ForthDebuggerКод: Интерпретатор стекового языка программирования с пошаговым отладчиком и сменой тем оформления Язык является видоизмененным ограниченным подмножеством языка Forth. В языке операции осуществляются с рациональными числами. Используется постфиксная запись операторов. Все вычисления осуществляются на стеке данных. При запуске интерпретатора стек может быть инициализирован некоторыми исходными данными или быть пустым.
Одна из работ студентов кафедры ИУ-9 Теоретическая информатика и компьютерные технологии Bauman Moscow State Technical Universitet Язык реализации JavaScript [url=https://github.com/bmstu-iu9/utp2017-3-forth]IU9ForthDebugger[/url] [code]Интерпретатор стекового языка программирования с пошаговым отладчиком и сменой тем оформления Язык является видоизмененным ограниченным подмножеством языка Forth. В языке операции осуществляются с рациональными числами. Используется постфиксная запись операторов. Все вычисления осуществляются на стеке данных. При запуске интерпретатора стек может быть инициализирован некоторыми исходными данными или быть пустым. [/code]
|
|
|
|
Добавлено: Вс окт 08, 2017 07:47 |
|
|
|
|