Forth http://fforum.winglion.ru/ |
|
Об Irbis Forth - 64 bit Форт для Windows замолвите слово) http://fforum.winglion.ru/viewtopic.php?f=6&t=3331 |
Страница 2 из 2 |
Автор: | Hishnik [ Сб апр 30, 2022 00:22 ] |
Заголовок сообщения: | Re: Об Irbis Forth - 64 bit Форт для Windows замолвите слово |
Victor__v писал(а): Можете привести пример кода, где это встречается? Это "тернарный условный оператор" в Си. Просто к месту пришлось в конкретной мелкой программке, так что и добавилось. Victor__v писал(а): Согласно документации у вас есть обёртки для виндяшного фасткалла под 5 и 6 операндов. Можете рассказать почему сделано именно так, а не, допустим, общий шаблон, когда параметров больше 4? А какой общий шаблон поддерживает free Pascal? Я просто не видел именно общего шаблона в терминах языка, без ручной правки кода (которая дает риск попасть под внимание антивирусов). Есть переменные типа procedure и function, вторая как раз подходит для GetProcAddress, но у нее должен быть статически определенный формат вызова. Если будут идеи, могу добавить. |
Автор: | KPG [ Чт май 12, 2022 09:43 ] |
Заголовок сообщения: | Re: Об Irbis Forth - 64 bit Форт для Windows замолвите слово |
А, есть ли какая то дорожная карта по проекту Irbis Форта? P.S. т.е. насколько, к примеру, эта среда может превратиться в продвинутую и "Форт" IDE? расширяемую Форт плагинами, к примеру для добавления сравнения файлов как в WinMerge программе. |
Автор: | Hishnik [ Чт май 12, 2022 12:43 ] |
Заголовок сообщения: | Re: Об Irbis Forth - 64 bit Форт для Windows замолвите слово |
Точно нужно: - кросс-компиляция (редактор, UART, файлы, графики) - 3D-графика и color map для визуализации расчетов - просто графики (статистика, ЦОС) Под эти задачи Irbis дополняется словами в первую очередь. Прочие виджеты, таймер, midi - это уже в рамках общего развития инструмента. Тем не менее, добавить часто используемые компоненты общего назначения несложно. Сейчас уже можно делать довольно много. WinMerge - ну в принципе да, не уверен насчет раскраски фрагментов текста в SynEdit. |
Автор: | Total Vacuum [ Чт май 26, 2022 11:02 ] |
Заголовок сообщения: | Re: Об Irbis Forth - 64 bit Форт для Windows замолвите слово |
Немного портированной под Irbis 3D-бродилки вам в ленту: Код: 0 image.show : rshift dup begin while 1 - swap 2 / swap dup repeat drop ; : putpixel 0 image.pixel ; : coz abs 2 * 64 - abs 2 * 64 - ; 256 constant WIDTH 192 constant HEIGHT 5 constant BITS 1 BITS lshift constant STEP STEP 1 - constant MASK 0 constant HORZ_WALL 1 constant VERT_WALL create Map 0x00000 , 0xFFFFE , 0xAAAAA , 0xFFFFE , 0xFC9FE , 0xFDDFE , 0xFF7FE , 0xFDDFE , 0xFC9FE , 0xFFFFE , 0xAAAAA , 0xFFFFE , 0x00000 , variable Swing variable LocX variable LocY variable Angle create CosTable 256 cells allot : init 1 Angle ! 41 LocX ! 41 LocY ! 147 Swing ! 256 dup begin while 1 - dup coz over cells CosTable + ! dup repeat drop ; : cos Angle @ cells CosTable + @ ; : sin Angle @ 16 - 63 and cells CosTable + @ ; variable dist variable color variable x variable h variable j1 variable j2 : span color ! dist ! x ! HEIGHT dist @ STEP WIDTH * HEIGHT / > if STEP WIDTH * HEIGHT / * dist @ / then h ! HEIGHT h @ - 1 rshift j1 ! j1 @ h @ + j2 ! HEIGHT dup begin while 1 - x @ over dup j2 @ > if 0xFFFFFF else dup j1 @ < if 0 else color @ then then putpixel dup repeat drop ; variable i0 variable j0 variable u0 variable v0 variable vx variable vy variable da variable db variable a variable b variable u variable v variable u1 variable v1 variable a1 variable b1 variable d variable dx variable dy variable i variable j variable di variable dj variable wall variable y : scan v @ u @ < if dy @ STEP + dy ! u @ v @ - u ! v1 @ v ! j @ dj @ + j ! HORZ_WALL else dx @ STEP + dx ! v @ u @ - v ! u1 @ u ! i @ di @ + i ! VERT_WALL then wall ! ; : calc 1 a @ 0 < if negate u0 @ a @ negate else STEP u0 @ - a @ then a1 ! u ! di ! 1 b @ 0 < if negate v0 @ b @ negate else STEP v0 @ - b @ then b1 ! v ! dj ! u @ dup STEP - dx ! b1 @ dup BITS lshift u1 ! * u ! v @ dup STEP - dy ! a1 @ dup BITS lshift v1 ! * v ! i0 @ i ! j0 @ j ! 1 begin while scan Map i @ cells + @ 1 j @ lshift and repeat wall @ if a1 dx else b1 dy then @ 18 lshift swap @ / d ! dup d @ i @ j @ + 3 and if 0x7F7F7F else 0x3F3F3F then span a @ da @ + a ! b @ db @ - b ! ; : scene 0 image.hide LocX @ dup BITS rshift i0 ! MASK and u0 ! LocY @ dup BITS rshift j0 ! MASK and v0 ! cos 10 lshift vx ! sin 10 lshift vy ! vy @ 7 rshift Swing @ * WIDTH / da ! vx @ 7 rshift Swing @ * WIDTH / db ! vx @ Swing @ vy @ 8 rshift * - a ! vy @ Swing @ vx @ 8 rshift * + b ! WIDTH dup begin while 1 - calc dup repeat drop 0 image.show 10 10 WIDTH HEIGHT 0 image.rect ; : turn mouse.x 4 / 63 and Angle ! ; use turn to mouse.move variable forward : start 1 forward ! ; use start to mouse.left.down : stop 0 forward ! ; use stop to mouse.left.up : run forward @ if LocX @ cos 4 rshift + dup x ! BITS rshift i ! LocY @ sin 4 rshift + dup y ! BITS rshift j ! Map i @ cells + @ 1 j @ lshift and if x @ LocX ! y @ LocY ! then then ; : render run run run scene ; init 40 timer.interval use render to timer Кстати, по поводу арифметического сдвига. Для отрицательных чисел можно что-то вроде: Код: a >>> b = (a >> b) | (-1 << (63-b)); ну илиКод: : rshifta , если на форте, но на паскале быстрее должно получиться.over 63 rshift if swap over rshift swap 63 swap - -1 swap lshift or else rshift then ; Ирбисовые ветки форума (кроме этой) всё так же скрыты от залогиненных пользователей... |
Автор: | Victor__v [ Чт май 26, 2022 13:27 ] |
Заголовок сообщения: | Re: Об Irbis Forth - 64 bit Форт для Windows замолвите слово |
Цитата: Ирбисовые ветки форума (кроме этой) всё так же скрыты от залогиненных пользователей... Власти скрывают) |
Автор: | Hishnik [ Чт май 26, 2022 17:35 ] |
Заголовок сообщения: | Re: Об Irbis Forth - 64 bit Форт для Windows замолвите слово |
А сейчас работает? |
Автор: | Total Vacuum [ Чт май 26, 2022 18:33 ] |
Заголовок сообщения: | Re: Об Irbis Forth - 64 bit Форт для Windows замолвите слово |
Нет. Похоже, что целиком нечитаема вся ветка Форт Системы (Forth Systems) => Irbis Forth - 64 bit Форт для Windows (viewforum.php?f=59) При этом на главной странице видно, что в этой ветке есть новые сообщения (красная иконка слева от названия форума), но при нажатии на "Irbis Forth - 64 bit Форт для Windows" появляется зловещее "У вас нет доступа на чтение тем в этом форуме." |
Автор: | Hishnik [ Чт май 26, 2022 19:02 ] |
Заголовок сообщения: | Re: Об Irbis Forth - 64 bit Форт для Windows замолвите слово |
Даже не знаю. Сейчас еще раз зашел и все обновил. |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |