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

DIzer

  • Гость
Re: Модифицированный синтаксис Оберона
« Ответ #390 : Ноябрь 30, 2012, 07:10:19 pm »
DIzer, с другой стороны произвольный порядок объявления процедур ведь нормально воспринимается.  ;)

ps Хотя я с вами согласен.
pps Ветка трэшовая эта, аж мурашки по коже  ;D
не говорите фигню.. если одна процедура зависит от другой, то последняя должна быть определена раньше..  либо использоваться forward  -метка...
Только вот в Обероне нет forward-меток :-)
а ^ - что такое?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #391 : Ноябрь 30, 2012, 07:11:41 pm »
DIzer, с другой стороны произвольный порядок объявления процедур ведь нормально воспринимается.  ;)

ps Хотя я с вами согласен.
pps Ветка трэшовая эта, аж мурашки по коже  ;D
не говорите фигню.. если одна процедура зависит от другой, то последняя должна быть определена раньше..  либо использоваться forward  -метка...
Только вот в Обероне нет forward-меток :-)
а ^ - что такое?
Разименовывание указателя? ;-)
Y = λf.(λx.f (x x)) (λx.f (x x))

DIzer

  • Гость
Re: Модифицированный синтаксис Оберона
« Ответ #392 : Ноябрь 30, 2012, 07:12:41 pm »
DIzer, с другой стороны произвольный порядок объявления процедур ведь нормально воспринимается.  ;)

ps Хотя я с вами согласен.
pps Ветка трэшовая эта, аж мурашки по коже  ;D
не говорите фигню.. если одна процедура зависит от другой, то последняя должна быть определена раньше..  либо использоваться forward  -метка...
Только вот в Обероне нет forward-меток :-)
а ^ - что такое?
Разименовывание указателя? ;-)
:o даже после определения заголовка функции?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #393 : Ноябрь 30, 2012, 07:14:52 pm »
:o даже после определения заголовка функции?
После заголовка функции это ставить нельзя.
http://www.inf.ethz.ch/personal/wirth/Articles/Oberon/Oberon07.Report.pdf

ProcedureDeclaration  =  ProcedureHeading ";" ProcedureBody ident.
ProcedureHeading  =  PROCEDURE identdef [FormalParameters].
ProcedureBody  =  DeclarationSequence [BEGIN StatementSequence]
    [RETURN expression] END.
DeclarationSequence  =  [CONST {ConstDeclaration ";"}]
 [TYPE {TypeDeclaration ";"}]
 [VAR {VariableDeclaration ";"}]
 {ProcedureDeclaration ";"}.
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Модифицированный синтаксис Оберона
« Ответ #394 : Ноябрь 30, 2012, 07:16:15 pm »
DIzer, с другой стороны произвольный порядок объявления процедур ведь нормально воспринимается.  ;)

ps Хотя я с вами согласен.
pps Ветка трэшовая эта, аж мурашки по коже  ;D
не говорите фигню.. если одна процедура зависит от другой, то последняя должна быть определена раньше..  либо использоваться forward  -метка...

Да ладно вам. У нас в одынэсах произвольный порядок и норм. Компилятору сложнее... да. Но человеку так удобнее.  :)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #395 : Ноябрь 30, 2012, 07:17:56 pm »
DIzer, с другой стороны произвольный порядок объявления процедур ведь нормально воспринимается.  ;)

ps Хотя я с вами согласен.
pps Ветка трэшовая эта, аж мурашки по коже  ;D
не говорите фигню.. если одна процедура зависит от другой, то последняя должна быть определена раньше..  либо использоваться forward  -метка...

Да ладно вам. У нас в одынэсах произвольный порядок и норм. Компилятору сложнее... да. Но человеку так удобнее.  :)
Компилятору пофиг (если это не компилятор Вирта).
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Модифицированный синтаксис Оберона
« Ответ #396 : Ноябрь 30, 2012, 07:22:28 pm »
Ну да в принципе. Мешает то только однопроходность.

DIzer

  • Гость
Re: Модифицированный синтаксис Оберона
« Ответ #397 : Ноябрь 30, 2012, 07:22:53 pm »

После заголовка функции это ставить нельзя.

тык это в 07...

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #398 : Ноябрь 30, 2012, 07:28:31 pm »

После заголовка функции это ставить нельзя.

тык это в 07...
Дык да. Дефолтный оберон - самый свежий Оберон от Вирта.
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Модифицированный синтаксис Оберона
« Ответ #399 : Ноябрь 30, 2012, 07:32:06 pm »
DIzer, с другой стороны произвольный порядок объявления процедур ведь нормально воспринимается.  ;)

ps Хотя я с вами согласен.
pps Ветка трэшовая эта, аж мурашки по коже  ;D
Дальний порядок не важен, человек его не ощущает. Ближний порядок важен. Ближний - это тот, который умещается на экране. Это раз.

Про порядки не понял. Как мне поможет порядок процедур? У меня в голове эта категория пылью покрылась с тех пор как стал одынэсником.  ;D
клац F12 и я в нужной процедуре...
клац ctrl+- и я вернулся обратно...
клац ctrl+alt+p и я созерцаю навигатор по процедурам...

А вы мне тут про технику метания каменного топора...  ;D

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #400 : Ноябрь 30, 2012, 07:34:12 pm »
DIzer, с другой стороны произвольный порядок объявления процедур ведь нормально воспринимается.  ;)

ps Хотя я с вами согласен.
pps Ветка трэшовая эта, аж мурашки по коже  ;D
Дальний порядок не важен, человек его не ощущает. Ближний порядок важен. Ближний - это тот, который умещается на экране. Это раз.

Про порядки не понял. Как мне поможет порядок процедур? У меня в голове эта категория пылью покрылась с тех пор как стал одынэсником.  ;D
клац F12 и я в нужной процедуре...
клац ctrl+- и я вернулся обратно...
клац ctrl+alt+p и я созерцаю навигатор по процедурам...

А вы мне тут про технику метания каменного топора...  ;D
Я ровно про это и написал. Между процедурами расстояние большое, следовательно порядок их не важен.
Y = λf.(λx.f (x x)) (λx.f (x x))

DIzer

  • Гость
Re: Модифицированный синтаксис Оберона
« Ответ #401 : Ноябрь 30, 2012, 07:34:44 pm »

После заголовка функции это ставить нельзя.

тык это в 07...
Дык да. Дефолтный оберон - самый свежий Оберон от Вирта.
  да ну..  :) - я еще не одной  успешной (если это слово вообще можно применять к Оберонам ) коммерческой реализации  не видел, где бы не было расширений "эталона".. что КП, что XDS ... вообщем херня все это.. скажем так... пока фиксирую в очередной раз неспособность  конструктивно говорить на тему топика... предлагаю  отложить это дело...

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Модифицированный синтаксис Оберона
« Ответ #402 : Ноябрь 30, 2012, 07:38:29 pm »
Я ровно про это и написал. Между процедурами расстояние большое, следовательно порядок их не важен.
Странно. Я ровно наоборот понял  ;D
Пятница...
Пардонте  ;)

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #403 : Ноябрь 30, 2012, 09:00:25 pm »
А смысл в этом. Если процедура использует вызов другой процедуры, значит её нужно написать раньше. Даже если так можно писать, какой в этом смысл? Или сама возможность греет зимой, особенно гото в 1с? :D

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Модифицированный синтаксис Оберона
« Ответ #404 : Ноябрь 30, 2012, 09:08:29 pm »
А смысл в этом. Если процедура использует вызов другой процедуры, значит её нужно написать раньше. Даже если так можно писать, какой в этом смысл?
Взаимная рекурсия.
Y = λf.(λx.f (x x)) (λx.f (x x))