Автор Тема: Вопрос по биндингу ? Или что тут еще требуется?  (Прочитано 111400 раз)

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #165 : Ноябрь 02, 2013, 02:09:15 pm »
Выявил ошибку (?): если вдруг окажется, что в NODE_PATH указан и oberon.js и выходной каталог, то ругается на метод RTL$.assert . Похоже потому, что два RTL$.js файла образуются

Не понял - откуда там два RTL$.js?

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #166 : Ноябрь 02, 2013, 02:15:46 pm »
Выявил ошибку (?): если вдруг окажется, что в NODE_PATH указан и oberon.js и выходной каталог, то ругается на метод RTL$.assert . Похоже потому, что два RTL$.js файла образуются

Не понял - откуда там два RTL$.js?

А. Понял. У меня просто 2 отдельных батника для запуска компиляции и для запуска скомпилированного. С разными NODE_PATH. Поэтому коллизий не происходит.

Я это фиксну со временем - будет один RTL$.js (не будет генерироваться отдельно каждый раз) .

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #167 : Ноябрь 02, 2013, 02:17:46 pm »
И еще кажется юникодную кодировку файла не воспринимает. Только ANSI ?

Кодировки файлов - это в доки/гугл nodejs. Я не в курсе что там для этого.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #168 : Ноябрь 02, 2013, 02:23:56 pm »
Кодировки файлов - это в доки/гугл nodejs. Я не в курсе что там для этого.

Там вот есть такая строчка:
fs.readFileSync(fileName, "utf8")

Очевидно у тебя не utf8 или utf8 не работает по какой-то причине.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #169 : Ноябрь 02, 2013, 02:28:25 pm »
Подскажите, пожалуйста, куда в node.js надо добавить строку, чтобы она в скомпилированно файле попала в первую строку?
Если в prolog добавляю, то в случае наличия require(RTL ...), она оказывается ниже него

Попробуй перед "if (rtlCodeWatcher.used())"

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #170 : Ноябрь 02, 2013, 02:32:04 pm »
И еще у меня при выполнении ругается на отсутсвие exports . Это что-то глобальное для node?

Да, это, собственно, механизм экспорта. Если хочешь экспортировать в глобальное пространство - можешь попробовать прописать var exports = GLOBAL; (или какой там у тебя там глобал).

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #171 : Ноябрь 04, 2013, 04:31:22 am »
Кодировки файлов - это в доки/гугл nodejs. Я не в курсе что там для этого.

Там вот есть такая строчка:
fs.readFileSync(fileName, "utf8")

Очевидно у тебя не utf8 или utf8 не работает по какой-то причине.

Как-то надо победить. А то исходники в ANSI и при компиляции русские строки превращаются в крякозяблики (хотя может это надо делать не массив кодов, а массив символов) ?

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #172 : Ноябрь 04, 2013, 03:05:44 pm »
Как-то надо победить. А то исходники в ANSI и при компиляции русские строки превращаются в крякозяблики (хотя может это надо делать не массив кодов, а массив символов) ?

Вообще русских буковок не бывает в ANSI... Я не в курсе твоей специфики, но я бы предлжил просто перегнать все в UTF8 (уже вроде все среды его держат). Но если UTF8 использовать нельзя, то посмотри тут как народ извращается: http://stackoverflow.com/questions/14551608/cant-find-encodings-for-node-js

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #173 : Ноябрь 04, 2013, 03:40:00 pm »
Вообще русских буковок не бывает в ANSI... Я не в курсе твоей специфики, но я бы предлжил просто перегнать все в UTF8 (уже вроде все среды его держат). Но если UTF8 использовать нельзя, то посмотри тут как народ извращается: http://stackoverflow.com/questions/14551608/cant-find-encodings-for-node-js

Если я перегонял в utf8, то компилятор ругался сразу на 1ую строку 'syntax error' . Даже разбор не производил. Попробуй, пожалуйста, компилиться ли через "node oc_nodejs.js OutDir Module.ob". Если да, то попробую еще поразбираться.

На текущий момент изменил в nodejs.js кодировку чтения и сохранения на  'binary'. Исходники и выходные файлы получаются в ANSI. При этом русские буквы сохраняются. Вроде у меня в любых кодировках воспринимаются файлы (в крайнем случае в снегопате перекодирую в нужную мне, пока не пробовал, но думаю сработает)

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #174 : Ноябрь 04, 2013, 03:46:04 pm »
И еще момент, или может я чего напутал, изменяя nodejs.js . Но не во всех файлах (модулях) создаются строки вида

var RTL$ = stdlib.require("RTL$.js").RTL$;

В результате ругается на отсутствие объекта RTL

Хотя может на это повлияло комментирование exports. ... ?

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #175 : Ноябрь 04, 2013, 04:01:37 pm »
Вообще русских буковок не бывает в ANSI... Я не в курсе твоей специфики, но я бы предлжил просто перегнать все в UTF8 (уже вроде все среды его держат). Но если UTF8 использовать нельзя, то посмотри тут как народ извращается: http://stackoverflow.com/questions/14551608/cant-find-encodings-for-node-js

Если я перегонял в utf8, то компилятор ругался сразу на 1ую строку 'syntax error' . Даже разбор не производил. Попробуй, пожалуйста, компилиться ли через "node oc_nodejs.js OutDir Module.ob". Если да, то попробую еще поразбираться.
А результат перевода был с BOM или без BOM?
Y = λf.(λx.f (x x)) (λx.f (x x))

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #176 : Ноябрь 04, 2013, 04:12:28 pm »
Если я перегонял в utf8, то компилятор ругался сразу на 1ую строку 'syntax error' .

Возможно там BOM надо откусывать сразу после чтения файла. Попробую, но потом.

На текущий момент изменил в nodejs.js кодировку чтения и сохранения на  'binary'. Исходники и выходные файлы получаются в ANSI. При этом русские буквы сохраняются. Вроде у меня в любых кодировках воспринимаются файлы (в крайнем случае в снегопате перекодирую в нужную мне, пока не пробовал, но думаю сработает)

Можно пока оставить binary - компилятору все равно, это важно прежде всего для редактирования.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #177 : Ноябрь 04, 2013, 04:14:00 pm »
И еще момент, или может я чего напутал, изменяя nodejs.js . Но не во всех файлах (модулях) создаются строки вида
var RTL$ = stdlib.require("RTL$.js").RTL$;

Это бага. Поправлю чуть позже.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #178 : Ноябрь 04, 2013, 04:17:47 pm »
Если я перегонял в utf8, то компилятор ругался сразу на 1ую строку 'syntax error' .

Вот это, наверное, оно: https://github.com/joyent/node/issues/1918

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Вопрос по биндингу ? Или что тут еще требуется?
« Ответ #179 : Ноябрь 04, 2013, 05:03:34 pm »
Если я перегонял в utf8, то компилятор ругался сразу на 1ую строку 'syntax error' .

Возможно там BOM надо откусывать сразу после чтения файла. Попробую, но потом.

А пока просто в редакторе указать чтобы сохранял без BOM и всего делов. :-)
Y = λf.(λx.f (x x)) (λx.f (x x))