Различие COS от ANSI Standard M - X11.1-1995

Gero
Дата: 13.06.2005 10:31:30
Здравствуйте, уважаемые дамы и господа
Помогите мне новичку разобраться в таком вопросе: есть ли отличия в языке Cache COS от языка ANSI Standard M - X11.1-1995, используемого в M3-Lite?
MX--ALEX
Дата: 13.06.2005 11:35:34
Gero
Здравствуйте, уважаемые дамы и господа
Помогите мне новичку разобраться в таком вопросе: есть ли отличия в языке Cache COS от языка ANSI Standard M - X11.1-1995, используемого в M3-Lite?

в м3 есть "недокументированные особенности" :)
-- merge не работает если оба узла находятся в одной глобали
-- после и перед комментарием ; надо обязательно пробел
-- в командах ( кроме set ) нельзя прямо использовать
строку в кавычках если в строке есть графические символы
надо сначала выполнить set AAA="xxxxxxx" и затем можно
применять AAA в нужном месте
; это нельзя даже после знака комментариев !!
=========================
Алексей
elakt
Дата: 27.06.2005 06:47:47
2 MX--ALEX
Любопытно. Есть ли какие-то еще "недокументированные особенности"?
И отличия от стандартного М-синтаксиса?

Кое-что можно почитать у них на форуме, но там явно не всё...
MX--ALEX
Дата: 27.06.2005 10:18:29
elakt
2 MX--ALEX
Любопытно. Есть ли какие-то еще "недокументированные особенности"?
И отличия от стандартного М-синтаксиса?

Кое-что можно почитать у них на форуме, но там явно не всё...

одна непонятная особенность :
например Вам надо перекинуть ВСЕ локальные переменные в глобаль
в мсм это легко сделать - прогнать в цикле все имена начиная с "%" (процент)
в м3 процент - не первая в списке переменных
и они не упорядочены по алфавиту
пришлось искать методом тыка пока нашел первую - но нет 100 %
уверенности - хотя пока все работает
ну я
Дата: 27.06.2005 10:31:57
В каше скорее очень много расширений, а несоответствий совсем немного. Малый список что нашел:
* не работает отрицание паттерн кода n.m'X где X - код
* $system поддерживается только с 5.1, в предыдущих версиях было своеобразно
* не имплементированы опции tstart и команда trestart
* do по месту (с точками) выполняется также своеобразно, например
 s a=123 d  s a="" f  s a=$o(...(a)) q:a=""  d
 . w a,!
По идее должно выполнить тело w a как для первой так и для второй итерации.
* в ssvn $LOCK нет своих локальных переменных, только глобальные.
* также как и в других имплементациях не поддерживается куча специальных глобальных описаний вроде ^%Charachter
* расширения введены не только с области z имен, но и в обычных именах - $lb(), $bitXXX, $case, куча других.
MX--ALEX
Дата: 27.06.2005 12:47:36
ну я
В каше скорее очень много расширений, а несоответствий совсем немного. Малый список что нашел:
* не работает отрицание паттерн кода n.m'X где X - код
* $system поддерживается только с 5.1, в предыдущих версиях было своеобразно
* не имплементированы опции tstart и команда trestart
* do по месту (с точками) выполняется также своеобразно, например
 s a=123 d  s a="" f  s a=$o(...(a)) q:a=""  d
 . w a,!
По идее должно выполнить тело w a как для первой так и для второй итерации.
* в ssvn $LOCK нет своих локальных переменных, только глобальные.
* также как и в других имплементациях не поддерживается куча специальных глобальных описаний вроде ^%Charachter
* расширения введены не только с области z имен, но и в обычных именах - $lb(), $bitXXX, $case, куча других.




* do по месту (с точками) выполняется также своеобразно, например
 s a=123 d  s a="" f  s a=$o(...(a)) q:a=""  d
 . w a,!

что не так работает ? - у меня все вроде нормально ..
ну я
Дата: 27.06.2005 14:04:54
Прошу прощения - неправильно воспроизвел проблему.
 
 s v(4)="",v(5)="",v(6)=""
 f a=1,2,3 d  s a="" f  s a=$o(v(a)) q:a=""  d
 . w a,!
MX--ALEX
Дата: 27.06.2005 15:28:50
ну я
Прошу прощения - неправильно воспроизвел проблему.
 
 s v(4)="",v(5)="",v(6)=""
 f a=1,2,3 d  s a="" f  s a=$o(v(a)) q:a=""  d
 . w a,!


1456 2456 3456
так и работает как должно - а в чем криминал ?
ну я
Дата: 27.06.2005 18:23:54
Да, действительно, так и должно работать. Снимаем проблему.