OberonCore
https://forum.oberoncore.ru/

интерпретатор JavaScript
https://forum.oberoncore.ru/viewtopic.php?f=28&t=3531
Страница 1 из 2

Автор:  Info21 [ Среда, 10 Август, 2011 17:56 ]
Заголовок сообщения:  интерпретатор JavaScript

Кто-нить из коллег может оценить трудоемкость такого предприятия?

Меня грызет мысль сделать в ББ этакий браузер, который мог бы полуавтоматически фильтровать из некоторых интересных мне сайтов то, что мне нужно, заодно конвертируя в нужный формат и т.п.

А вопрос про js -- это заодно уж. Мало ли. Для рыболовных интернет-магазинов, типа.

Автор:  Rifat [ Пятница, 12 Август, 2011 17:09 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Интерпретатор JavaScript наверно не сложно сделать. Думаю недельки за две можно сделать. Основная сложность будет в моделировании DOM модели документа.

Если кто-нибудь реально хочет разрабатывать JavaScript для оберонов, то я готов участвовать, но в первую очередь конечно под Exaprog Oberon компилятором буду писать. Но думаю, что разница с BB версией не очень большая будет.

Автор:  Info21 [ Суббота, 13 Август, 2011 08:34 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Может, для начала какие-нибудь ссылки на документацию js и этой DOM? Раз уж Вы в курсе.

Автор:  Info21 [ Суббота, 13 Август, 2011 08:37 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

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

Автор:  Rifat [ Воскресенье, 14 Август, 2011 11:01 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Info21 писал(а):
Может, для начала какие-нибудь ссылки на документацию js и этой DOM? Раз уж Вы в курсе.


Глубоко в эту тему, я тоже не углублялся. Сейчас поискал, нашел несколько ссылок:
1) http://ru.wikipedia.org/wiki/JavaScript
2) JavaScript является диалектом EcmaScript, вот его спецификация http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf, которая занимает почти 250 страниц
3) Чтение про DOM модель можно начать отсюда http://www.w3.org/DOM/ (возможно, где-то есть перевод на русский язык)

По поводу оценки в 2 недели на реализацию JavaScript, я понял, что это не реально. Более реальный срок 2-3 месяца на JavaScript и еще столько же или даже больше на DOM. Хотя если не ставить цель реализовать JavaScript на 100% и DOM на 100%, как это должно быть в хороших браузерах, а реализовывать только наиболее часто встречающиеся элементы, необходимые для работы с конкретным сайтом, то может быть, можно за 2-3 месяца частично JavaScript и частично DOM реализовать, чего будет достаточно для практических целей.

Автор:  Сергей Губанов [ Воскресенье, 14 Август, 2011 12:01 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

А имеет ли интерпретатор JavaScript какой-то смысл отдельно от интерпретатора HTML?

Вроде нет, не имеет. Над какими объектами он чего-то делать-то будет?

Значит надо ещё и интерпретатор HTML.

Так и получаем, что цена вопроса почти равна цене создания браузера. Их годами пишут, а потом ещё в каждом релизе по несколько сотен ошибок исправляют.

--------------------------------------------------------------------------

Вместе с HTML было такое обсуждение в 2006:

Мировое господство BlackBox
viewtopic.php?p=2088#p2088

Автор:  Rifat [ Воскресенье, 14 Август, 2011 12:24 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Info21 писал "Меня грызет мысль сделать в ББ этакий браузер, который мог бы полуавтоматически фильтровать из некоторых интересных мне сайтов то, что мне нужно, заодно конвертируя в нужный формат и т.п.".
Слово браузер здесь конечно не совсем уместно. Лучше было бы сказать, что ему нужен парсер сайта(ов). Для для этого реализовывать все тонкости спецификаций не нужно, нужно реализовать только наиболее часто встречающиеся элементы, которые используются на тех сайтах, информацию с которых необходимо получать. В случае, если чего-то не хватает, то постепенно это можно будет добавить.
Конкурировать с Chrome или Firefox думаю никто не собирается. (Пока, не собирается :) )

Автор:  Пётр Кушнир [ Воскресенье, 14 Август, 2011 14:21 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

DOM есть в составе Xmlcore в bbcc-репе http://oberoncore.ru/bbcc/subs/xmlcore/start

Автор:  Info21 [ Воскресенье, 14 Август, 2011 17:04 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Rifat писал(а):
Слово браузер здесь конечно не совсем уместно. Лучше было бы сказать, что ему нужен парсер сайта(ов).
Правильное уточнение. "Парсер сайтов" -- мне не хватило словаря.

Видится этакий интерактивный гибрид браузера и парсера, при этом КП и текст-как-интерфейс полноценно вплетен в картину с самого начала.

Автор:  Илья Ермаков [ Воскресенье, 14 Август, 2011 17:06 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

А зачем для парсера сайтов JS?
Ведь предполагается обрабатывать сайты скриптами на КП?

Автор:  Info21 [ Воскресенье, 14 Август, 2011 19:46 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Илья Ермаков писал(а):
А зачем для парсера сайтов JS?
Ведь предполагается обрабатывать сайты скриптами на КП?
Заодно. Если уж приспичит купить в инете какой-нить съедобной резины.

Автор:  Сергей Губанов [ Воскресенье, 14 Август, 2011 22:11 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

А, типа только парсить, но не отображать. Это конечно полегче в несколько раз.

Но всё равно для сайтов HTML поглавнее чем JavaScript, начинать надо с него.

Автор:  Владислав Жаринов [ Понедельник, 15 Август, 2011 08:42 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Rifat писал(а):
Info21 писал(а):
Может, для начала какие-нибудь ссылки на документацию js и этой DOM? Раз уж Вы в курсе.
Глубоко в эту тему, я тоже не углублялся. Сейчас поискал, нашел несколько ссылок:
...
3) Чтение про DOM модель можно начать отсюда http://www.w3.org/DOM/ (возможно, где-то есть перевод на русский язык)
...
Есть описания на русском в массовой литературе по "сайтостроению". Например, здесь:
Днепров А.Г. JavaScript на 100%. - СПб.: Питер, 2008.
Гл. 4 целиком посвящена объектной модели ГТ-документа и браузера. Не знаю, нужно ли на таком уровне :) или требуются серьёзные документы в переводе. Ежели надо - могу завести эту главу.

Автор:  Rifat [ Понедельник, 15 Август, 2011 08:54 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Драконограф писал(а):
Есть описания на русском в массовой литературе по "сайтостроению". Например, здесь:
Днепров А.Г. JavaScript на 100%. - СПб.: Питер, 2008.
Гл. 4 целиком посвящена объектной модели ГТ-документа и браузера. Не знаю, нужно ли на таком уровне :) или требуются серьёзные документы в переводе. Ежели надо - могу завести эту главу.


Таких описаний JS для web-программистов тысячи и тысячи в интернете. Нужна книга по JS для разработчика компилятора или интерпретатора.


Сергей Губанов писал(а):
А, типа только парсить, но не отображать. Это конечно полегче в несколько раз.

Но всё равно для сайтов HTML поглавнее чем JavaScript, начинать надо с него.


Парсить HTML не проблема. Чаще всего даже не парсить надо, а просто искать какое-то ключевое слово внутри HTML и затем выделять нужную тебе информацию. JS нужен для того, чтобы работать с сайтами, которые без JS работать не могут. Если, например, JS отключен, то некоторые сайты вместо того, чтобы показать какую-то информацию, показывают сообщение об ошибке типа "Включите JavaScript".

Автор:  Владислав Жаринов [ Понедельник, 15 Август, 2011 09:48 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Rifat писал(а):
Таких описаний JS для web-программистов тысячи и тысячи в интернете. Нужна книга по JS для разработчика компилятора или интерпретатора.
Вот и я о том же :) Есть еще такая публикация по самому JS... но это тоже, наверное не совсем то...

Автор:  albobin [ Понедельник, 15 Август, 2011 10:38 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

А если оставить браузер как естественный визуализатор + локальный web-server + преобразование информации с нужных сайтов всеми удобными средствами (от ББ до JS)

Автор:  Владислав Жаринов [ Понедельник, 15 Август, 2011 10:53 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

В общем, результаты такой работы, наверное, позволят создать и редактор страниц в среде ББ... :)

Автор:  Rifat [ Понедельник, 15 Август, 2011 11:42 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

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

Автор:  albobin [ Понедельник, 15 Август, 2011 11:58 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Rifat писал(а):
Оставлять браузер как элемент позволяющий скачивать страницы, парсить их и т.д., а непосредственно с браузером общаться, например, через COM интерфейс, теоретически можно. Но не думаю, что это лучшее решение. Так как это лишняя зависимость от сторонних разработчиков браузера. При использовании этого Api стандартным способом, например, так как описано в примерах, конечно, будет очень просто. Но если возникнут какие-нибудь не совсем стандартные задачи, то придется изощряться, чтобы это реализовать.

Вы скорее всего не поняли "что за чем". Ничего за COM дёргать не надо. Запускаете браузер, лезете на локальный ресурс, а локальный WEB-сервер в связке с "преобразователями" и выкладывает браузеру подготовленные под нужным соусом страницы.

Автор:  Rifat [ Понедельник, 15 Август, 2011 12:14 ]
Заголовок сообщения:  Re: интерпретатор JavaScript

Может быть я и не совсем правильно понял что имелось в виду. В любом случае это уход от темы. Изначальная тема была про то как сделать интерпретатор JavaScript. Потом начались вопросы, зачем это надо и постепенно тема начала уходить в другое русло.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/