Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - adva

Страницы: 1 2 [3] 4 5 ... 26
31
Общий раздел / Re: Oberon-07/13: заметки
« : Февраль 05, 2014, 12:23:03 am »
Возникла такая мысля (наверняка не новая):

Для оберона вполне можно реализовать не только синтаксическую проверку (исходя из следующих предпосылок):
1) для всех условий используются только переменные простых типов (сравнение с ними). Если есть обращение к другим модулям, то считается что они корректны (для обозначения этого можно какой-то АССЕРТ придумать)
2) везде где нужно прописываются АССЕРТЫ (именно на них и ориентировалась бы проверка). Это, пожалуй, самая сложная часть для программиста, но без нее похоже проверки не сделать.
3) под проверкой понимаю тот факт, что код выполнится процедурой от начала до конца (с учетом вызова других процедур).

Тут же будут проверяться и не проиниченные переменные (на входе то цикла или чего там еще, тоже будет стоять АССЕРТ).

По сути, как понимаю, будут проверяться выполнение АССЕРТОВ, а также сравниваться между собой АССЕРТЫ (входные и выходные).

Или такие АССЕРТЫ катастрофически усложнят написание кода?

32
Общий раздел / Re: Oberon-07/13: заметки
« : Февраль 03, 2014, 02:53:01 am »
По совокупности секция  VAR бесит больше всего. Ко всему остальному можно пытаться привыкнуть (уже больше 100кб на обероне написал!). Но VAR банально источик ошибок - теперь уже не надо ничего предсказывать, просто ссылаюсь на свой опыт.

Я конечно не много еще написал, и не все что писал делал на чистом обероне. Но по поводу VAR такое мнение сложилось.
Желательно, по возможности,  разбивать код большой процедуры на вложенные, и в них делать локальные VAR. Или делать ТИП, в котором максимум переменных из процедуры (вложенных) можно будет включить.

Некоторые вещи так и не разобрался, как можно биндить, например "this" для процедуры, кроме как "JS.do ('var = this')"

33
Пожалуй данную тему можно было отнести и к основной теме, здесь же тоже ПО задействовано. Сложность его или чего там еще

34
Общий раздел / Re: Online компилятор Oberon-07/11.
« : Январь 29, 2014, 12:05:35 am »
Если я правильно понял, то "локальный" компилятор, состоящий из нескольких файлов, собирается в "онлайн" компилятор, содержащий один файл. Чем это делается? Или как мне можно объединить полученные компилятором файлы в 1. Если нет инструмента, то хотя бы принцип раскажите.

35
Общий раздел / Re: Oberon-07/13: заметки
« : Январь 27, 2014, 11:39:37 pm »
А "\n" и заменяется получается 0AX ?

36
Общий раздел / Re: Oberon-07/13: заметки
« : Январь 27, 2014, 11:36:35 pm »
В обероне трудно. Особенно в свете отсутствия динамических массивов в 07. Я в компиляторе со строками работаю с помощью JsString.ob. Используя этот модуль будет выглядеть как-то так:
Я сам почти так и делаю, пока со строками работал не плотно, вроде хватало, а сейчас хочу с sqlite поработать, достаточно напряжно оказывается. Сложно потом саму строку запроса воспринимать и обрабатывать, может еще какие варианты есть?

Кстати, почему "\n" не преобразовывается? Если его подобным образом concat делать?

37
Общий раздел / Re: Oberon-07/13: заметки
« : Январь 27, 2014, 10:34:52 am »
Если делал как для яваскрипта "\n", то строка в таком виде и остается

38
Общий раздел / Re: Oberon-07/13: заметки
« : Январь 27, 2014, 10:20:25 am »
Спасибо
А как это представить в виде?

str := "Строка
|еще одна строка";

это в 1с так, а как в обероне?

39
Общий раздел / Re: Oberon-07/13: заметки
« : Январь 27, 2014, 06:16:47 am »
Извиняюсь, что то не нашел, а какой символ разделителя для многострочного ARRAY OF CHAR использовать? Или такого нету?

40
Общий раздел / Re: Oberon-07/13: заметки
« : Январь 27, 2014, 03:19:02 am »
А почему падает-то? По идее код цикла не должен отрабатывать и всё. Может это в конкретной реализации падает и это ошибка?

41
Общий раздел / Re: Online компилятор Oberon-07/11.
« : Январь 26, 2014, 06:27:30 am »
Не знаю в чем дело, но попробовал скопировать проблемный модуль в новый файл, в нем ошибку выдавало правильно, может какие-нибудь скрытые символы не скопировались при этом. Пока не знаю, что еще можно проверить, если еще раз возникнет подобная ситуация, попробую доразбираться. Компилятор похоже не причём

42
Общий раздел / Re: Online компилятор Oberon-07/11.
« : Январь 26, 2014, 05:57:11 am »
хотя нет, именно на этом коде локально ругается как и в онлайн компиляторе, значит что-то еще надо добавить, попробую разобраться

43
Общий раздел / Re: Online компилятор Oberon-07/11.
« : Январь 26, 2014, 05:55:10 am »
Локально примерно на таком коде ошибка не правильно выдавалась
MODULE v;
 
TYPE
 t* = POINTER TO RECORD END;
 
BEGIN
 
END v.

MODULE test;
IMPORT JS, v;
 
TYPE
 
 s = POINTER TO RECORD END;

PROCEDURE k();
 
END k;
 
 PROCEDURE T* ();
 
 VAR
  k: s;
  t: v.;
 
 BEGIN
 
 END;
BEGIN
 
  T ();
    JS.alert("Hello, World!")
END test.


44
Общий раздел / Re: Online компилятор Oberon-07/11.
« : Январь 26, 2014, 05:53:58 am »
Хотя возможно мне обновиться надо. Не исправлялась ли подобного рода ошибка в этом месяца: в случае если в процедуре указывалась секция VAR var: expMod.; (т.е. не до конца указывался тип переменной), то в качестве строки ошибки указывалась строка начала модуля (со словом MODULE)

Просто в онлайн компиляторе не смог воспроизвести, а в предыдущей локальной версии (где то начала января) воспроизводится. Если исправилась, то обновился бы

45
Общий раздел / Re: Online компилятор Oberon-07/11.
« : Январь 26, 2014, 05:29:19 am »
В случае зацикливания модулей, ругается на переполнение стека (если не ошибаюсь, на память привожу)

Страницы: 1 2 [3] 4 5 ... 26