Pull to refresh
26
7
Subscribers
Send message
К тому же это опять один знак за раз.
Есть такое пожелание. Вот только зачем это делать? Только потому, что разработчики системы так сказали? Какой предыдущий нотфаунд надо вызывать, если никакого другого нотфаунда в данном контексте не предусмотрено? Поведение «нашей лексемы» в предлагаемом мной варианте использования нотфаунда заключается в создании этой лексемы. То-есть, она всегда «наша». Все очень красиво получается, все оттестировано и работает.
Вы невнимательно читали. Вариант
VALUES:
11 aa
22 bb
33 cc
;VALUES
Я не реализовывал вообще. Ввиду его бесперспективности. А так, да, конечно, если с нулевым вариантом использовать отброшенный вариант записи, эффект будет такой.
Форт прекрасен тем, что позволяет обходиться без циклов. Ваше решение, безусловно, имеет право на жизнь. Но оно совершенно в лоб, в духе традиционных языков. Кроме того, я предлагаю не просто реализацию определения кучки переменных, а некий универсальный механизм, базовый принцип, с помощью которого можно решать разнообразные задачи. Заметил, что очень мало людей должно оценивают красоту и мощь определяющих слов, в которых скрыта суть Форта.
Сможете использовать аналогичный подход для, например, констант? А чтобы можно было константе присвоить вычисляемое значение?
Да, не комильфо :) Вообще не будет работать. Во-первых, strcmp — функция сишная, во-вторых nextname как такового в Форте нет. В-третьих, будет скомпилирована лишь первая переменная.
В Gforth для подобного можно использовать обработку исключений CATCH… THROW. Собственно, NOTFOUND является некоторой надстройкой над базовым механизмом исключений.
tre — просто лень придумывать название. ALLOT пришлось использовать из-за некоторых нюансов с целевой компиляцией.
А тут совсем нечего программировать. Это WINAPIшный PolyBezier на массиве из 22 точек. ГСЧ, с помощью которого заполняется массив, можно попробовать любой.
Интересно, какие?
На этих картинках и не должна.
Отдаленно похоже на календарь беременности. )
Кстати, выше высказана очень хорошая идея со спиралью.
И подзарядка у велика быстрее, а емкость и мощность аккумулятора постепенно растет.
В предыдущем топике было дело. Внешний вид похож, да. Идеология иная. Стеки, словарь, синтаксис — это часть, антураж.
Главное в Форте — возможность создания собственных определяющих слов. Все языки похожи на чемодан с инструментами, или кладовку где лежат чемоданы инструментов. В Форте есть один инструмент, с помощью которого можно сделать любой нужный инструмент. Этакая звуковая отвертка.
Конечно. В такие штучки Форт ложится очень хорошо. Форт-машина, по хорошему, штука слоистая.
1-й уровень — опкод-ассемблер
2-й уровень — ассемблер-низкоуровневое слово Форта, всякие + @ и т.п., причем совсем необязательно стараться написать их все, что есть в стандарте.
3-й уровень — высокоуровневые определения через: CREATE VARIABLE и т.п. Вот определяющие слова, двоеточие, СREATE DOES> реализовывать обязательно. Это фундамент следующего,
4-го уровня — уровня приложений.
Непонятно, какое развитие требуется от форт-машин. Сама по-себе форт-машина реализуется для любой железки за несколько рабочих дней. Тот же GForth портирован на кучу платформ. Надо просто пользоваться языком. Никто ведь не мешает в SP-Forth определить, например, команду CRC-32, которая есть в системе команд современных процессоров. Очень мало народу пишет на форте. И платить деньги за разработку на нем никто не хочет. Комьюнити организовать или найти не проблема. Часть его вот она, прямо здесь.
Это и есть SP-Forth. В предыдущем топике давали ссылку на GForth.
Для работы с базами данных есть наработки еще у Андрея Черезова и Дмитрия Якимова. То-есть какие-то библиотеки в комплекте есть. Разбираться нужно с этим. С другой стороны, если хорошо знать предметную область, можно наработать необходимые абстракции. Собственно, хорошо поставленное задание уже является решением на Форте. Вполне возможно, что решение Вашей проблемы с базой данных лежит в иной плоскости.
Меня озадачивает не только сумма, но и то что это $3.2 billion in cash. Это что, реально наличными?!

Information

Rating
Does not participate
Registered
Activity