|
14.10.2023, 14:34
#573594
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
... |
|||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||
|
14.10.2023, 22:49
#573829
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
... |
|||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||
|
19.10.2023, 23:00
#579085
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
... |
|||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||
|
19.10.2023, 23:02
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
Вызовы функций и кортежи там делаются через интерфейсы. В Variant передается интерфейсный объект, и тут Lazarus слегка отличается от Delphi, пришлось повозиться с отладкой и поиском в StackOverlaw. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2023, 23:10
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
И функция возвращает tuple, если не заметили :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.10.2023, 08:42
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
Правда пока только создание. Чтение и изменение элементов еще не сделано. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.10.2023, 09:41
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
Только трюков типа (a, b) = (b, a) тут не получится. В этом интерпретаторе у него изначально всё как говорится ByVal. Все переменные и константы это Variant. то есть var a = 1, b =2 var tp = (a, b) // здесь будут копии величин, а не ссылки на переменные. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.10.2023, 09:42
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
Наверно надо было изначально не на Variant, а на TObject завязываться. Ну или как-то посложнее работу с указателями. Ну да ладно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.10.2023, 11:04
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
Хоть просто способ вернуть несколько значений из функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.10.2023, 17:20
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
А кстати, тогда и массивы не нужны. Добавить функции по добавлению элементов в кортеж да и все. Этой структуры данных и хватит на все случаи для такого недоязыка. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.10.2023, 21:32
#580171
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
Решил протестировать, сделать "стандартную функцию языка", которая будет возвращfть tuple. То есть эта функция, которую я пишу в Delphi, и которая потом будет использоваться в данном скриптовом языке будто это встроенная функция. Программиста тут заботит только параметр AArgList, в данном случае он пустой. Код: Delphi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||||||||||||||
:
Изменено: 20.10.2023, 21:33 - Неуловимый Джо
Нравится:
Не нравится:
|
|||||||||||||||
|
20.10.2023, 22:31
#580237
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
... |
|||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||
|
20.10.2023, 23:08
#580262
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
А кстати, тогда и массивы не нужны. Добавить функции по добавлению элементов в кортеж да и все. Этой структуры данных и хватит на все случаи для такого недоязыка. ... |
|||||||||||||||
:
Изменено: 20.10.2023, 23:14 - Неуловимый Джо
Нравится:
Не нравится:
|
|||||||||||||||
|
20.10.2023, 23:10
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
Это уже отсебятина идет. Он предполагал кортеж неизменяемого размера, и к элементам обращаться как a.1 или b.2 В общем язык вполне себе расширяемый. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.10.2023, 23:16
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
В принципе можно также и функции работы со строками, с файлами, датасетами, формами... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.10.2023, 21:18
#588121
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
Начал делать Dictionary. Это уже почти полностью своё, он там сначала делает классы, потом уже с использованием классов создаваемого языка Dictionary. Я решил попроще как-то, тем более классы, методы, наследование и тд я в язык добавлять не собираюсь. Пока только разбор AST (abstract syntax tree) ... |
|||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||
|
28.10.2023, 21:26
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
а вообще кортежи в качестве ключей запрещу нафиг. это ведь еще c хэшфункциями возиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.10.2023, 21:40
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
А хотя что там возиться, найти где-нибудь как питон делает хеш для кортежей, да и скопипастить. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.10.2023, 23:02
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
или вообще, приводить кортежи к строке, да и использовать эту строку как ключ. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2023, 18:11
#589102
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
Интерпретация Dictionary уже работает. С хэшами плюнул, в этом интерепретаторе всё хранится в Variant, не переделывать же сейчас всё на TObject. А с Variant 1 и '1' это одно и то же. Решил пойти по простому пути, ключом в словаре может быть только строка, все остальное будет приводиться к строке. Собственно, цель словаря в этом интерпретаторе будет только для упрощения получения данных с датасетов. Чтоб можно было обращаться примерно так Код: Delphi 1. 2.
... |
|||||||||||||||
:
Изменено: 29.10.2023, 18:17 - Неуловимый Джо
Нравится:
Не нравится:
|
|||||||||||||||
|
29.10.2023, 22:43
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
По хорошему надо tuple переименовать в list. И сделать в квадратных скобках. но уже лень. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.11.2023, 00:22
#597603
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
... |
|||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||
|
05.11.2023, 15:26
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
... |
|||
:
|
|||
|
05.11.2023, 16:17
|
|||
---|---|---|---|
|
|||
Creating Gear: An interpreter written in Free Pascal |
|||
#18+
Неужели реально такая заезженная тема и прям все-все-все делали свои интерпретаторы... Только я один как-то этого избежал, поэтому мне одному эта тема и интересна :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.11.2023, 16:27
#597958
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Creating Gear: An interpreter written in Free Pascal |
|||||||||||||||
#18+
... |
|||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||
|
|
Start [/forum/topic.php?fid=16&tid=11905&startmsg=last&offset=-2&mobile=1]: |
0ms |
get settings: |
0ms |
get forum list: |
4ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
1ms |
get page messages: |
67ms |
update_topic_read_status (11905): 05.11.2023 16:27:55: |
0ms |
get tp. blocked users: |
0ms |
get online users: |
70ms |
check new: |
1ms |
others: | 60ms |
total: | 247ms |
0 / 0 |