|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
ну я, < Ну так уж уйма людей и не придумала ничего с 95-го... Те же $list, $increment, $bit придумали, ввели и используют, и не только в Cache. > Это не принципиальные изменения. < А объекты в Cache или тот же фигурный синтаксис? > Лучше бы они этого не делали. Сломали всю идеологию MUMPS. Видимость переменных в procedure вообще выполнена не корректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 15:29 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
ну я, и где код исполняется? Код исполняется на клиенте. На клиенте стоит полнофункциональная система MSH. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 15:39 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
misha_shar Сломали всю идеологию MUMPS. Ну в этом и тебя упрекаем... misha_shar Видимость переменных в procedure вообще выполнена не корректно. Пример привести можешь? Поскольку та видимость кагбэ расширена... Можно использовать классический вариант... А можно "новомодний"... Т.ч. в чем именно "не корректно"? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 15:48 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
krvsa, В процедуре в команде Xecute видимы ли локальные переменные? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 16:28 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
misha_shar krvsa, В процедуре в команде Xecute видимы ли локальные переменные? Код: sql 1. 2. 3. 4. 5.
Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 17:15 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
DAiMor, Кто бы мог подумать, что var надо объявлять внешней переменной. В стандарте Xececute видит все локальные переменные. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 17:24 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
misha_shar Код: sql 1.
Эта команда не будет понятна ни MUMPSистам, ни любому кто знает хоть один язык, что это вообще? If - это условие. И ? - это условие. Зачем If и ? идут рядом? В этом какой-то тайный смысл? $ - это какой-то оператор или часть имени переменной? Если часть переменной, то зачем? Не хватило букв и цифр? Если оператор, то какой? misha_shar Это не принципиальные изменения. misha_shar Сломали всю идеологию MUMPS. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 23:12 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
Блок А.Н., < Нет, не понятна. If - это условие. И ? - это условие. Зачем If и ? идут рядом? В этом какой-то тайный смысл? > команда If это начало блока if , а то что следует за знаком ? это условие выполнения данного блока. У этой команды нет аргументов. Кстати условие выполнения этого блока может отсутствовать, как и в любой другой команде. Тогда это просто блок выполнения, который будет выполняться всегда. < $ - это какой-то оператор или часть имени переменной? Если часть переменной, то зачем? Не хватило букв и цифр? Если оператор, то какой? > Это префикс массива. за ним идет индекс массива. Так как массив одномерный ему не обязательна закрывающаяся скобка, достаточно открывающейся, в качестве нее и используется $. Например классический вид обращения к массиву A(10) в нотации MSH выглядит как A$10. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 05:23 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
Блок А.Н., < А в чем ваши принципиальные изменения? Мне так и непонятно. Ну другой синтаксис, менее читаемый. В парадигме вы все-таки придерживаетесь М, так что новых возможностей я не жду. Что даст нам ваш язык? COS дал нам интегрированный SQL и объекты, а что предлагаете вы? > По этому поводу специально написал статью на habr Особенности и отличия языка программирования MSH от MUMPS https://habr.com/ru/post/280938/ ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 06:19 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
misha_shar Кто бы мог подумать, что var надо объявлять внешней переменной. В стандарте Xececute видит все локальные переменные. Это т.с. в новом "расширенном" варианте... Мы используем "стандартный" М-синтаксис - у нас все работает стандартно. Т.о. вся эта "новомодняя" видимость является неким расширением возможностей. Но не обязательна к применению. И никакой не корректности тут нет. Как написано в доке - так и работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 07:23 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
misha_shar команда If это начало блока if , а то что следует за знаком ? это условие выполнения данного блока. ... Это префикс массива. за ним идет индекс массива. Так как массив одномерный ему не обязательна закрывающаяся скобка, достаточно открывающейся, в качестве нее и используется $. Например классический вид обращения к массиву A(10) в нотации MSH выглядит как A$10. Неее... Я все... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 07:31 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
misha_shar По этому поводу специально написал статью на habr Особенности и отличия языка программирования MSH от MUMPS https://habr.com/ru/post/280938/ Там у вас сплошной текст, вообще никак не отформатированный, код прям в тексте, читать это совершенно невозможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 09:58 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
DAiMor PS. А тему я могу и закрыть, но пока надеюсь на ваше благоразумие. Во-первых, человек имеет право высказать свое мнение и тематика этой ветки не противоречит тематике раздела (если совсем уж не придираться, конечно). Во-вторых, нас тут так мало, что лишняя тема как-то поднимет активность форума. В-третьих, и самое главное, где как не здесь человек может получить критику своих идей? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 14:14 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
misha_shar Блок А.Н., < Нет, не понятна. If - это условие. И ? - это условие. Зачем If и ? идут рядом? В этом какой-то тайный смысл? > команда If это начало блока if , а то что следует за знаком ? это условие выполнения данного блока. У этой команды нет аргументов. Кстати условие выполнения этого блока может отсутствовать, как и в любой другой команде. Тогда это просто блок выполнения, который будет выполняться всегда. < $ - это какой-то оператор или часть имени переменной? Если часть переменной, то зачем? Не хватило букв и цифр? Если оператор, то какой? > Это префикс массива. за ним идет индекс массива. Так как массив одномерный ему не обязательна закрывающаяся скобка, достаточно открывающейся, в качестве нее и используется $. Например классический вид обращения к массиву A(10) в нотации MSH выглядит как A$10. if - это начало любого блока? А если блок, допустим, for? зачем использовать сбивающий с толку синтаксис, если повсеместно с ним ассоциирована другая семантика? Ну ок, if - блок, а ? - условие. А почему условие внутри блока? Зачем вы придумали другой синтаксис обращения к массиву? Чем вас не устраивали общепринятые () или []? Почему тогда для сравнения используете общепринятые ==? Ну используйте # или !, еще оригинальней будет. Из статьи на хабре все еще не понял, чем ваш язык лучше. Поймите, что язык силен заложенными в него возможностями и использованными парадигмами, а не тем, что вы [] заменили на $. Сделайте пример кода на своем языке, потом это же на M и на COS. И попробуйте показать, чем ваш язык лучше. И еще отдельная просьба - можете вы цитировать общепринятым способом, с помощью quote или >>. Или у вас навязчивая идея придумывать свой синтаксис везде, где только можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 14:27 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
Блок А.Н. где как не здесь человек может получить критику своих идей? Если она ему нужна... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 15:10 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
Блок А.Н. А почему условие внутри блока? Да еще и в скобках... Автор, вроде как, "уходил" от пробелов... Но наделал кучу лишних символов. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 15:12 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
[quot Блок А.Н.#22025672] misha_shar Блок А.Н., Честно говоря, не особо то яснее стало. if - это начало любого блока? А если блок, допустим, for? зачем использовать сбивающий с толку синтаксис, если повсеместно с ним ассоциирована другая семантика? Ну ок, if - блок, а ? - условие. А почему условие внутри блока? В MSH есть команда, и есть условие ее выполнения. Сама команда никакое условие выполнения не содержит. В MUMPS принята такая идеология. Но команда if в MUMPS в качестве аргумента имеет условие выполнения команд находящихся за ней. Поэтому в MUMPS команда if не содержит условие выполнения этой команды. В этом есть логическое противоречие. Если отказаться от аргументов в команде if, то ее можно привести к стандартному для остальных команд виду. Условие выполнения команды if выполняет роль аргумента, сама команда аргументов не содержит. В MSH ряд команд образуют блоки. Любой блок заканчивается командой End; Все , что внутри относится к данному блоку. Блоки разные. В команде if в случае если условие выполнено то выполняется дальше весь блок, иначе блок не выполняется. Это же касается команды Else. Команда While также образует блок. Выполнение блока продолжается до тех пор пока условие в команде истинно. Итераторы Next , Back и Query выполняются пока их условие верно и не закончится обход заданного узла. Команда Case почти классика из Паскаля. Зачем вы придумали другой синтаксис обращения к массиву? Чем вас не устраивали общепринятые () или []? Почему тогда для сравнения используете общепринятые ==? Ну используйте # или !, еще оригинальней будет. Дело вообще не в оригинальности. У меня просто тупо кончились скобки. Все они оказались задействованы в других конструкциях. Все это от бедности клавиатуры. Из статьи на хабре все еще не понял, чем ваш язык лучше. Поймите, что язык силен заложенными в него возможностями и использованными парадигмами, а не тем, что вы [] заменили на $. Сделайте пример кода на своем языке, потом это же на M и на COS. И попробуйте показать, чем ваш язык лучше. Я только этим и занимаюсь. Замена [] на $ не принципиальна, но это вынужденная мера. Новые возможности Это команды Итераторы, команда Case это объекты, это обработка событий. Сравнить языки может любой, для этого надо иметь только спецификацию языка. В трудозатратную рекламную компанию я ввязываться не готов. Слишком много еще надо сделать. Приходится сосредоточиться на первостепенных задачах. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 15:51 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
Вы решили распространить предусловие команды на предусловие блока. Ок, хорошо. Тогда if вам, получается, вообще не нужен. Делайте begin?(условия) ... end; А то в вашем синтаксисе if без условия означает просто блок. И это, мягко говоря, странно. Ну ладно, пусть каждая команда образует блок, который нужно завершать end. if ... end, for ... end, или for begin ...end? У вас end завершает блок, начатый begin? или вот вообще любой? В коде будет море end-ов непонятно от чего. А как у вас будет строиться команды if else if else? end будет только в конце? Я ни при каких раскладах не нахожу это привлекательным. Извините. Я даже попытался хоть в каком-то варианте найти что-то интересное, но у меня не получилось. >Дело вообще не в оригинальности. У меня просто тупо кончились скобки Может быть, скобки все-таки оставить массивам, а всякие другие знаки дать новым операциям? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 22:57 |
|
Реализация интерпретатора MSH.
|
|||
---|---|---|---|
#18+
Блок А.Н. Вы решили распространить предусловие команды на предусловие блока. Ок, хорошо. Тогда if вам, получается, вообще не нужен. Делайте begin?(условия) ... end; А то в вашем синтаксисе if без условия означает просто блок. И это, мягко говоря, странно. Ну ладно, пусть каждая команда образует блок, который нужно завершать end. if ... end, for ... end, или for begin ...end? У вас end завершает блок, начатый begin? или вот вообще любой? В коде будет море end-ов непонятно от чего. А как у вас будет строиться команды if else if else? end будет только в конце? Конечно if это не просто блок. Это блок if внутри у этого блока могут быть команды else как с условиями выполнения, так и без. else без условия естественно должно быть последней. Если условие команды if верно то выполняются команды либо до следующей команды else, либо до команды end, это же справедливо для других команд else. Команды begin нет, она не нужна. Блочные команды и являются началом блока. Блок образуют только некоторые команды они в документации описаны ка блочные. Например: if, case, while, next, query... Я ни при каких раскладах не нахожу это привлекательным. Извините. Я даже попытался хоть в каком-то варианте найти что-то интересное, но у меня не получилось. Привлекательность комментировать не могу. В качестве блочных команд выбраны те которые чаще всего и используются вместе с блоком. Только блок потерял заголовок begin как не нужный, зато пришлось сделать эти команды блочными всегда. >Дело вообще не в оригинальности. У меня просто тупо кончились скобки Может быть, скобки все-таки оставить массивам, а всякие другие знаки дать новым операциям? Скобки закончились в традиционных применениях, в индексах, аргументах функциях и списках, где без них не обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2019, 06:40 |
|
|
start [/forum/topic.php?fid=39&msg=39894537&tid=1556161]: |
0ms |
get settings: |
13ms |
get forum list: |
24ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
17ms |
get forum data: |
3ms |
get page messages: |
450ms |
get tp. blocked users: |
3ms |
others: | 326ms |
total: | 888ms |
0 / 0 |