powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы [новые:1] / Языки программирования семейства Pascal [закрыт для гостей] / Creating Gear: An interpreter written in Free Pascal, Поиск: Сообщение содержит картинки  
25 сообщений из 62, страница 2 из 3
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #549509
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Неуловимый Джо  20.09.2023, 00:37
[игнорируется]
надо бы еще для строк сделать *=
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #551394
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
if, else и локальные переменные
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #551869
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Циклы!
Правда пока только while.
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #551901
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
s62 [игнорируется] 

Да может тоже не буду for.
Сейчас из важного break и continue.
И функции.
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #552292
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
циклы for и repeat

for почти полностью отсебятина, мне не понравилось как он придумал.

вот так у него в книге:
Код: Delphi
1.
2.
3.
for var i := 0 where i < 100, i+=1 do
  print(i)
end
я переделал на почти сишный вариант
Код: Delphi
1.
2.
3.
for i = 0, i < 10, i += 1 do
  print(i)
end
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #552299
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
переделал for
сделал там var обязательным, и переменная цикла локальная внутри блока цикла
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #553512
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
elseif (правда пока можно только один)
на выходных сделаю чтоб можно было несколько.
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #554150
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Множественные elseif
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #557057
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
break
Снимок.PNG
...
Рейтинг: 1 / 0
Нравится: Tosh
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #558202
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
continue
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #558485
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
s62  30.09.2023, 09:15
[игнорируется]
Кстати удобная конструкция.
что есть то есть.
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #559406
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Снимок.PNG
...
Рейтинг: 2 / 0
Нравится: s62, Гарыныч
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #559461
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
И рекурсивные :)
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #559485
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
closures

не то чтобы это было нужно, это скорее как побочный результат того, что для функций сделано свое "адресное пространство" (на самом деле обычный Dictionary).
в итоге они получились вложенные, ну и такие возможности.
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #559542
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Ханойские башни :)
Снимок.PNG
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #559998
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Модуль "стандартных" функций.
Теперь язык можно расширять функциями.

Пока просто для примера добавлена pi() и Writeln

Оператор Print теперь можно и удалить.
Это был первый оператор :)
Снимок.PNG
Снимок2.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #561603
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Так-то штука получилась расширяемая.

добавление константы sLineBreak
Снимок2.PNG
Снимок.PNG
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #573321
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Краткая запись функций (стрелочный функции)
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #573323
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Возможно так будет удобнее для локальных функций.
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #573594
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Анонимные функции!
Самому начинает нравиться этот язык :)
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #573829
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Лямбды как в шарпе
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #579085
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Кортежи!
tuples
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #580171
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Решил протестировать, сделать "стандартную функцию языка", которая будет возвращfть tuple.

То есть эта функция, которую я пишу в Delphi, и которая потом будет использоваться в данном скриптовом языке будто это встроенная функция.
Программиста тут заботит только параметр AArgList, в данном случае он пустой.
Код: Delphi
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function TPi.Call(AToken: TToken; AInterpreter: TInterpreter; AArgList: TArgList): Variant;
var
  Tuple: ITuple;
begin
  Tuple := ITuple(TTuple.Create);
  Tuple.Elements.Add('pi');
  Tuple.Elements.Add(pi);

  Result := Tuple;
end;
Снимок.PNG
...
Изменено: 20.10.2023, 21:33 - Неуловимый Джо
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #580237
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Снимок.PNG
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Creating Gear: An interpreter written in Free Pascal
    #580262
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
Неуловимый Джо  20.10.2023, 17:20
[игнорируется]
А кстати, тогда и массивы не нужны.
Добавить функции по добавлению элементов в кортеж да и все.
Этой структуры данных и хватит на все случаи для такого недоязыка.
Так и сделал. Начинаю проникаться проектом, расширяю :)
Снимок.PNG
...
Изменено: 20.10.2023, 23:14 - Неуловимый Джо
Рейтинг: 0 / 0
25 сообщений из 62, страница 2 из 3
Форумы [новые:1] / Языки программирования семейства Pascal [закрыт для гостей] / Creating Gear: An interpreter written in Free Pascal, Поиск: Сообщение содержит картинки  
Читали тему (1): Анонимы (1)
Игнорируют тему (1): erbol
Читали форум (3): Анонимы (1), Yandex Bot 6 мин., Bing Bot 6 мин.
Пользователи онлайн (16): Анонимы (11), Yandex Bot, ElenaG, Дед-Папыхтет 1 мин., Bing Bot 1 мин., Гарыныч 3 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]