Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26149
Рейтинг: 2127
#91: 2007-06-21 00:54:56 ЛС | профиль | цитата
Вячеслав писал(а):
Я говорил про Delphi

А я про что говорил, про него родимого. И почему он висит? Сейчас разберемся со скриптом и начнем перекладывать компоненты. Труд не легкий, но разрешимый. А потом на нем будем, как на кошках, отрабатывать новые компоненты. Сделали -- переложили, пока среда не устаканится. Но мне одному будет тяжело этим заниматься, даже со знанием скрипта. А народу что, много надо, он что в код часто лезет? Главное, чтобы работало.
Концепция построеня секций конечного кода с помощью скрипта в общем понятна. Все это строится с помощью методов объекта block Сложнее для меня пока понять контроль линкования и проверка наличия переменных -- в каких случаях все это применяется. Потом непонятно, как работать со средой, не имеющей визуализации. Проект нормально у меня так и не запустился, все сводится к копированию файла под разными расширениями, но как запустить, в таком случае, после копирования еще и компилятор (автоматически, не вручную), я -- не догнал. Пока, все это сыро и не совсем удобно. Короче, поднимать прйдется не быстро, если не долго.
карма: 22

0
Ответов: 5446
Рейтинг: 323
#92: 2007-06-21 06:44:53 ЛС | профиль | цитата
nesco, а в чём проблема? Сооруди батничек, привяжи его вместо copy - и будет тебе щастье!
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#93: 2007-06-21 09:25:57 ЛС | профиль | цитата
iarspider писал(а):
а в чём проблема?
Ни в чем. Просто "HiAsm для пользователей" превратился в " HiAsm для неизвестно кого".
- Девушка, вы кто по профессии?
- Я? Модель!
- Модель чего?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#94: 2007-06-21 10:04:42 ЛС | профиль | цитата
Tad писал(а):
превратился

Тебя заставляют им (Delphi2) пользоваться
Или кто-то декларировал, что этот пакет закончен и выложен для пользователя

А вот если знаешь как сделать сразу и в товарном виде, просьба поделиться
В противном случае, в этом разделе, просьба не беспокоить.
карма: 9

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#95: 2007-06-21 10:15:45 ЛС | профиль | цитата
iarspider писал(а):
Сооруди батничек, привяжи его вместо copy - и будет тебе щастье!

Вот об этом я уже и подумал. Видимо придется так и сделать.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#96: 2007-06-21 11:53:56 ЛС | профиль | цитата
Странные у вас проблемы какие-то

НО
Если уж начинать компилировать, то с последним родным KOL-ом
Может и вводить постоянную подержку именно последних.
И FPC прикручивать, соответственно, выложенный коллегой Wolfic-ом (кажется)
Т.е., тем, который KOL-ы понимает без глупых портирований
карма: 9

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#97: 2007-06-21 11:59:01 ЛС | профиль | цитата
Galkov писал(а):
Странные у вас проблемы какие-то

А у тебя что, компилируется при нажатии на "запустить"?
Galkov писал(а):
выложенный коллегой Wolfic-ом

И где его найти, этот KOL под FPC?
карма: 22

0
Ответов: 9906
Рейтинг: 351
#98: 2007-06-21 12:18:28 ЛС | профиль | цитата
Надо искать не KOL, а FPC.
Не знаю - у меня тоже поиск не работает (но я закачивал)
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#99: 2007-06-21 12:20:13 ЛС | профиль | цитата
Вячеслав, судя по вопросам справка так и не была прочтена(скажем там четко и ясно написано, что такое code и откуда берется _id_). Становятся не понятно к чему были рассуждения про 300 страниц текста, когда одну прочитать по каким-то причинам не удается.

Tad,
Tad писал(а):
Ни в чем. Просто "HiAsm для пользователей" превратился в " HiAsm для неизвестно кого".

советую еще раз по слогам перечитать первый пост этой темы:

Dilma писал(а):
Вот так мог бы выглядеть пакет Delphi, если бы для его сборки использовалось ядро из пакета WEB
...
Дальнейшее развитие и поддержка пакета не предусматриваются.


nesco, основной объем кода в любом элементе составляет шаманская пляска по его оптимизации в зависимости от включения. Если отключить мозги и забить на качественный и красивый код, то компонент StrCat выглядел бы так:
fvar(old)
    old = block.select(BLK_HEAD)
println(issec("php") ? '' : 'var ', s, ' = ', Default, ';')
block.select(old)
end

func doStrCat:java
println(s, ' = ', Str1 & Str2, ';')
event(onStrCat, s)

func Result:java
return(s)
end

_str_cat_ - это глобальная переменная. Как я уже сказал используется она в данном случае для того, чтобы определить какая из точек была задействована на схеме раньше. Оператор var, как написано в документации, создает переменную видимую во всех ф-циях данного скрипта и сохраняемую на все время генерации кода.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#100: 2007-06-21 12:23:57 ЛС | профиль | цитата
Dilma писал(а):
ф-циях данного скрипта и сохраняемую на все время генерации кода

так и говорил бы - статическая переменная
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#101: 2007-06-21 12:40:01 ЛС | профиль | цитата


Вячеслав писал(а):
Из всего выше сказанного понятно только одно Dilma, создал свой собственный язык.
Непонятно зачем
Данную функциональность разве нельзя было сделать на одном из стандартных.

Для пакета WEB исключено. Либо такая реализация была бы очень громоздкой. Прошу не забывать, что разработанный язык и его реализация практически полностью снимают с плеч разработчика заботу о типах данных, о том, откуда эти данные брать, о слежение за корреткной расстановкой операторов между операндами, об обеспечение уникальности внутренних переменных и много чего еще.

[size=-2]------ Добавлено в 12:40
кроме того, мне кажется не все понимают, что скрипт разрабатывался не для Dlephi 2, а для WEB.
При разработке пакета были поставленны и реализованы две основные задачи:

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

- кодогенератор должен взять на себя все заботы по переходу между языками - поскольку пакет WEB поддерживает два скриптовых языка программирования PHP и Java, а так же язык разметки HTML, то одной из задач при разработке пакета как раз и являлась задача обеспечения автоматического корректного использования нескольких комбинаций языков в рамках одного приложения.

карма: 27
0
Разработчик
Ответов: 26149
Рейтинг: 2127
#102: 2007-06-21 12:52:49 ЛС | профиль | цитата
Dilma писал(а):
Как я уже сказал используется она в данном случае для того, чтобы определить какая из точек была задействована на схеме раньше

Все, с этим въехал. Вот это можно подробнее объяснить
  if(linked(doStrCat))
    return(s)
else
return(Str1 & Str2)

[size=-2]------ Добавлено в 12:52
Насчет всего вышесказанного у меня такое мнение, что всем пишущим просто лень разбираться с новым скриптом. Если удасться поднять проект (а это вполне реально), то мне кажется, что потом такие разговоры исчезнут сами собой, но все будут ждать, когда его сделают другие.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#103: 2007-06-21 12:55:29 ЛС | профиль | цитата
Надо продвигать технологию изготовления элементов на HiAsm
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#104: 2007-06-21 13:05:07 ЛС | профиль | цитата
nesco писал(а):
Вот это можно подробнее объяснить

цитата из справки:
wiki писал(а):
Во всех остальных случаях это имя считается именем переменной генерируемого скрипта PHP и кодогенератор преобразует его в уникальную для данного компонента переменную по следующему шаблону: $<имя><id> - где <id> идентификатор текущего компонента.


в данном случае s это переменная, содержащая результат конкатенации строк уже в конечном приложение. Попадает туда этот результат так:
println(s, ' := ', s1 & s2, ';')[/code]

код написан именно так из предположения о том, что в большинстве случаев гораздо выгоднее сохранить результат конкатенации в промежуточной переменной и затем читать его уже из нее. Когда точка Result используется только один раз, то очевидно выгоднее этого промежуточного присваивания не делать.
карма: 27
0
Разработчик
Ответов: 26149
Рейтинг: 2127
#105: 2007-06-21 13:11:02 ЛС | профиль | цитата
Dilma,
вот как раз это я и понял. Я не понял, что делается, если нет линка, те вот это
 return(Str1 & Str2)[/code]
Для чего это вообще, если нет линка?
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)