Последние сообщения

Страницы: 1 ... 8 9 [10]
91
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Январь 24, 2017, 06:28:09 am »
Рекомендую модераторам таки выделить форум по OberonJS из общего раздела. Это все-таки какой-то продукт. Тогда и ссылку можно будет давать людям, мол проект обсуждается с разработчиком там то.
92
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Январь 24, 2017, 06:20:17 am »
А нет, он обнаруживает... но из-за того, что сверху приклеены другие модули, он неправильно строку показывает :)

Придется вычислять сдвиг и корректировать сообщения об ошибке.
93
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Январь 24, 2017, 06:17:55 am »
Влад, к тебе первая просьба:

можешь поправить, чтобы компилятор обнаруживал пропущенные точки с запятой?

сейчас он создает код, и потом во время исполнения уже выдает ошибку.
94
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Январь 23, 2017, 08:24:34 pm »
Пока примерно так и сделал:
http://model.molpit.org/model/49
Демка работает.

Но задумка несколько шире. Чтобы пользователь для каждой модели смог свой фреймворк дорабатывать.

Есть базовый набор модулей. Есть пользовательский набор для ряда моделей, и есть набор для каждой модели.

Модули хранятся а базе данных. Сделал уже, но пока без сохранения. Только Log положил в базу данных.
95
Общий раздел / Re: OberonJS
« Последний ответ от vlad Январь 23, 2017, 07:37:50 pm »
Спасибо за советы. Попробую сделать как Владислав написал, чтобы сохраненные готовые модули (фреймворк) копировались в начало рекурсивно.

На самом деле еще проще: запихни все библиотечные модули текстуально до компилируемого и все заработает без бубнов с настройкой компилятора. Т.е.:
oc.compile(libModulesText + userEnteredText);

Несколько неэстетично, зато дешево надежно и практично.

P.S. Порядок модулей в тексте должен быть строго в порядке зависимостей.
96
Общий раздел / Re: OberonJS
« Последний ответ от Ivan Denisov Январь 23, 2017, 06:39:40 pm »
Спасибо за советы. Попробую сделать как Владислав написал, чтобы сохраненные готовые модули (фреймворк) копировались в начало рекурсивно.
97
Общий раздел / Re: OberonJS
« Последний ответ от vlad Январь 23, 2017, 05:56:05 pm »
Читать импортируемые модули примерно так: https://github.com/vladfolts/oberonjs/blob/master/src/nodejs.js#L67
return oc.compileModules(
            sources,

            // вот эта функция по имени импортируемого модуля должна вернуть его исходный текст
            function(name){
                var fileName = name;
                if (!path.extname(fileName).length)
                    fileName += ".ob";
               
                readPath = calcPath(fileName);
                return fs.readFileSync(readPath, "utf8");
            },
...

"fs.readFileSync" в браузере нет (как и вообще доступа к файловой системе, это nodejs), тебе придется заменить его на что-то другое.
98
Общий раздел / Re: OberonJS
« Последний ответ от vlad Январь 23, 2017, 05:48:42 pm »
Я почти разобрался и даже нашел примеры с канвасами тут на форуме.

Вопрос. Как скомпилированный код, загрузить в HTML для повторного использования?

Вот начал делать образовательный проект по биофизическим моделям.
http://molpit.org/models

Начинаю с разработки модуля Log.
http://molpit.org/models/Log.js

require("Log.js"); не помогает
<script src="Log.js"></script>тоже

Не очень понял, попробую угадать, что ты хочешь:
- скомпилировать обероновский модуль (Log) в js.
- импортировать скомпилированный модуль из HTML, чтобы скомпилировать еще один обероновский модуль из текста ввведенного на этой HTML

Если это так, то в таком виде оно сейчас не поддерживается. Точнее не поддерживается импорт уже скомпиленных модулей. Поэтому для твоего (предполагаемого) случая это будет работать так:
- все импортируемые модули доступны в исходном обероне
- компилятор конфигурится так, что знает где достать модуль, когда встретит очередной импорт. При этом импортируемый модуль компилируется "на лету".
- на выходе получается один большой js, который и запускается после компиляции всего.
99
Общий раздел / Re: OberonJS
« Последний ответ от vlad Январь 23, 2017, 05:39:43 pm »
Я почти разобрался и даже нашел примеры с канвасами тут на форуме.

Вопрос. Как скомпилированный код, загрузить в HTML для повторного использования?

Вот начал делать образовательный проект по биофизическим моделям.
http://molpit.org/models

Начинаю с разработки модуля Log.
http://molpit.org/models/Log.js

require("Log.js"); не помогает
<script src="Log.js"></script>тоже

Не очень понял, попробую угадать, что ты хочешь:
- скомпилировать обероновский модуль (Log) в js.
- импортировать скомпилированный модуль из HTML, чтобы скомпилировать еще один обероновскм
100
Общий раздел / Re: OberonJS
« Последний ответ от Valery Solovey Январь 23, 2017, 05:29:22 pm »
у меня работает
<html>
<head><script src="Log.js"></script></head>
<body onLoad="this.Log.String('yyy');">
<div id="log"></div>
</body>
</html>
Страницы: 1 ... 8 9 [10]