powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Языки программирования семейства Pascal [закрыт для гостей] / Creating Gear: An interpreter written in Free Pascal
25 сообщений из 120, страница 2 из 5
Creating Gear: An interpreter written in Free Pascal
    #529024
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Неуловимый Джо  06.09.2023, 12:19
[игнорируется]
Я решил пусть строки будут и в кавычках и в апострофах, а char вообще не нужен.
Как в питоне
Добавил заодно и умножение строк.
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #529178
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Неуловимый Джо  04.09.2023, 22:31
[игнорируется]
правда возведение в степень у меня имеет одинаковый приоритет с умножением и делением, но пофиг.
скобки ведь есть.
поправил.
теперь возведение в степень более высокий приоритет.
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #530850
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Логические операции.
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #542346
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Переменные, константы и оператор print.
Правда переменные пока ничем кроме ключевого слова не отличаются от констант.
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #542350
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #542613
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Решил избавиться от паскалевского :=

теперь = это присваивание, а == сравнение.
Снимок.PNG
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Creating Gear: An interpreter written in Free Pascal
    #545730
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Присвоение разных видов.
Снимок.PNG
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Creating Gear: An interpreter written in Free Pascal
    #545739
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #545754
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #545830
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
надо бы еще для строк сделать *=
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #546341
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Становится удобнее тестировать в VSCode :)
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #546374
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Сразу и дерево выражений посмотреть...

Как думаете, пришло уже время доставать всех интерпретатором?
Ведь по сути, это конвертатор + калькулятор!
Снимок.PNG
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Creating Gear: An interpreter written in Free Pascal
    #546826
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Настроил в VSCode чтобы расширение .gear воспринимало как javascript, просто чтобы красивее смотрелось :)
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #547325
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
декларация множества переменных через запятую
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #549509
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Неуловимый Джо  20.09.2023, 00:37
[игнорируется]
надо бы еще для строк сделать *=
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #551394
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
if, else и локальные переменные
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #551869
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Циклы!
Правда пока только while.
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #551875
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неуловимый Джо [игнорируется] 

Вирт в первой версии Оберона цикл for не включил в язык. )
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #551901
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
s62 [игнорируется] 

Да может тоже не буду for.
Сейчас из важного break и continue.
И функции.
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #551904
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Главная проблема с while, это что время от времени забываешь оператор приращения переменной цикла.
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #551914
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неуловимый Джо  24.09.2023, 14:31
[игнорируется]
Главная проблема с while, это что время от времени забываешь оператор приращения переменной цикла.
Не раз бывало с Dataset'ом вот такое:
Код: Delphi
1.
2.
3.
4.
5.
6.
while not DSet.EOF do
begin
  ...
  ...
//а тут забыл поставить DSet.Next;
end;
...
Изменено: 24.09.2023, 14:41 - s62
Рейтинг: 1 / 0
Нравится: Неуловимый Джо
Creating Gear: An interpreter written in Free Pascal
    #551915
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
s62  24.09.2023, 14:40
[игнорируется]
Неуловимый Джо  24.09.2023, 14:31
[игнорируется]
Главная проблема с while, это что время от времени забываешь оператор приращения переменной цикла.
Не раз бывало с Dataset'ом вот такое:
Код: Delphi
1.
2.
3.
4.
5.
6.
while not DSet.EOF do
begin
  ...
  ...
//а тут забыл поставить DSet.Next;
end;
да я почему вспомнил, сейчас когда тестировал, забыл i += 1
в первую секунду растерялся что происходит :)
...
Рейтинг: 0 / 0
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
Creating Gear: An interpreter written in Free Pascal
    #552299
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
переделал for
сделал там var обязательным, и переменная цикла локальная внутри блока цикла
Снимок.PNG
...
Рейтинг: 0 / 0
Creating Gear: An interpreter written in Free Pascal
    #553512
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
elseif (правда пока можно только один)
на выходных сделаю чтоб можно было несколько.
Снимок.PNG
...
Рейтинг: 0 / 0
25 сообщений из 120, страница 2 из 5
Форумы / Языки программирования семейства Pascal [закрыт для гостей] / Creating Gear: An interpreter written in Free Pascal
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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