Автор Тема: Модифицированный синтаксис Оберона  (Прочитано 177423 раз)

DIzer

  • Гость
Re: Модифицированный синтаксис Оберона
« Ответ #90 : Январь 13, 2012, 11:09:43 am »
\
- Вот если бы я с вами пошел...
- Ну так в чем дело? Пошли!
(с)
  :) Точно, не фиг юродствовать , и обобщать ущербность на всех!!
Но вот ведь какая штука - не всегда и это возможно , помнится  работая в одной конторе, нас работодатели -американы  держали долго на VS5 без приблуд, хотя уже вроде как 4 года существовала 6 - ка с прибомбасами....

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #91 : Январь 13, 2012, 11:28:32 am »
В исходном примере - переменные передаваемые в подпрограммы были помечены служебным словом var, в "улучшенных" - нет - это не одно и тоже. Разумеется, можно без пометки  в ряде случаев обойтись - например, используя глобальные переменные, но это "рецепт" в чем- то аналогичен предложению Алексея , по замене операторных скобок.
Max(a, b: int): int;a, b: int - это в точности: VAR a, b: INTEGER

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #92 : Январь 13, 2012, 11:34:09 am »

На этом примере прекрасно видно недостатки квадратных скобок по сравнению с конструкцией:
if........then
    ............
    else......
end if;   

DIzer

  • Гость
Re: Модифицированный синтаксис Оберона
« Ответ #93 : Январь 13, 2012, 11:35:22 am »

Max(a, b: int): int;a, b: int - это в точности: VAR a, b: INTEGER
Хе, даже так, плохо , а как вы вызовите Max(a+5,10) ? ):

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #94 : Январь 13, 2012, 12:01:45 pm »
На этом примере прекрасно видно недостатки квадратных скобок по сравнению с конструкцией ...

Честно признаюсь, что не вижу ни квадратных скобок, ни того, о каких недостатках идет речь. Напишите поподробней.

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #95 : Январь 13, 2012, 01:10:40 pm »
Честно признаюсь, что не вижу ни квадратных скобок, ни того, о каких недостатках идет речь. Напишите поподробней.
Прошу прощения, фигурных, конечно же. Недостатки - излишество скобок по сравнению с обероновской конструкцией if.....end

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #96 : Январь 13, 2012, 02:13:21 pm »
Max(a, b: int): int;a, b: int - это в точности: VAR a, b: INTEGER
Как оберонщик могу сказать, что это не одно и то же. В первом случае константы МОГУТ быть переданы в процедуру в качестве фактических параметров, во втором случае - не могут.

DIzer

  • Гость
Re: Модифицированный синтаксис Оберона
« Ответ #97 : Январь 14, 2012, 08:08:49 pm »
Max(a, b: int): int;a, b: int - это в точности: VAR a, b: INTEGER
Как оберонщик могу сказать, что это не одно и то же. В первом случае константы МОГУТ быть переданы в процедуру в качестве фактических параметров, во втором случае - не могут.
     Правильнее сказать  ЗНАЧЕНИЯ (не только литерных или именованных констант, но  и переменных и вы выражений содержащих все предыдущее плюс результаты вызовов функций...), по этому во всех грамотных (и не очень) книгах  по программированию начального уровня, такой способ передачи фактических параметров так и называется - передачей по значению....-оберон это или си - без разницы, если речь идет об императивном ЯВУ
« Последнее редактирование: Январь 14, 2012, 08:16:08 pm от DIzer »

trurl

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #98 : Январь 27, 2012, 06:55:53 am »
Брейнфак никому, кроме эзотериков, не нужен.
А ведь из брейнфака действительно уже нечего убрать, то есть идеал с Вашей точки зрения...
А вот если в брейнфак добавить лямбды...

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #99 : Январь 27, 2012, 08:07:44 am »
Брейнфак никому, кроме эзотериков, не нужен.
А ведь из брейнфака действительно уже нечего убрать, то есть идеал с Вашей точки зрения...
А вот если в брейнфак добавить лямбды...

Лямбды это не синтаксис :-) (хотя без дОлжного синтаксиса они бессмысленны).

Кстати, действительно интересно - брейнфайк ведь по сути язык машины Тьюринга. Лямбды там действительно некуда засунуть. Императивные языки растут из машины тьюринга же, но чем выше уровень императивного языка, тем более уместными кажутся там лямбды.

Причем в функциональных языках аналогично - чем выше уровень функционального языка, тем более уместны там простые последовательности действий, процедуры.

То есть высокоуровневый язык позволяет абстрагироваться от самой сути исполнителя - становится все равно, тьюринг машина у нас там внизу, или же лямбда-термы разворачиваются. Позволяет использовать те абстракции, инструменты, которые нам удобны здесь и сейчас.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #100 : Январь 27, 2012, 05:23:23 pm »
То есть высокоуровневый язык позволяет абстрагироваться от самой сути исполнителя - становится все равно, тьюринг машина у нас там внизу, или же лямбда-термы разворачиваются. Позволяет использовать те абстракции, инструменты, которые нам удобны здесь и сейчас.
А почему они "удобны здесь и сейчас"?

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #101 : Февраль 15, 2012, 12:03:43 pm »

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #102 : Февраль 15, 2012, 01:07:34 pm »
Думаю что это хорошо и своевременно. Но обзательно должно дублироваться альтернативными символами когда эти символы не доступны. Ну это например как в C++ оператор && дублируется ключевым словом "and".
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #103 : Февраль 15, 2012, 05:43:17 pm »
not
∧   and
∨   or
⊻   xor
⊼   nand
⊽   nor

возможно, придется заменить значек ^ работы с указателями, чтобы не перепутать с and

DIzer

  • Гость
Re: Модифицированный синтаксис Оберона
« Ответ #104 : Февраль 16, 2012, 05:47:02 am »
not
∧   and
∨   or
⊻   xor
⊼   nand
⊽   nor

возможно, придется заменить значек ^ работы с указателями, чтобы не перепутать с and
И привязывать язык к IDE? - а попробуйте сделать это на ББ, вроде последняя версия  работает с юникодом.. принцип трансляции в стандартный КП аналогичен тому ,как ИНФО21 транслирует русские слова, вроде достаточно расширить его подсистему...