Свой JavaScript из ecmascript? Как?

Здравствуйте. Подскажите пожалуйста, как на базе ecmascript сделать свой язык программирования, что бы в последствии встроить в свой проект, что бы получилось на подобии как VBA для офиса? Есть ли по этому поводу статьи, уроки, примеры?

Допустимые теги: blockquote, code, em, pre, i, li, ol, strike, strong, u, ul, a.
Ctrl + Enter
Допустимые теги: blockquote, code, em, pre, i, li, ol, strike, strong, u, ul, a.
Ctrl + Enter

более часто встраивают Lua.
у него много плюсов для встраивания в сравнении с другими ЯП.

Пока не могу сравнить с другими, но по установке, настройке и hello world приложению с lua все быстро и удобно.

Настроил в sharpdevelop в vb. Пример
Imports LuaInterface Public Partial Class MainForm Public l As New Lua() Public Sub New() Me.InitializeComponent() l.DoString("x= 123") End Sub End Class 
работает, вызов функции vb из lua пока не пробовал.

Не подскажете, как ставятся переносы в теге code?

Тебе для чего данное веселье надо? Зачем еще один язык, на какой платформе он будет выполняться? Ты постучись мне в личку, попробую подсказать — я как раз таким занимаюсь

Спасибо. Пока знакомлюсь, смотрю примеры. У меня есть lazarus, sharpdevelop, dev-c++, платформа — предпочтительно что бы кроссплатформенный. На практике хочу поэкспериментировать с 2d, 3d графикой. И вообще иногда от программы требуется больше чем eval. А свой язык пока сложно разрабатывать. Хотя сам парсер не представляет сложности, а вот анализ и формирование алгоритма, здесь у меня возникли вопросы. По этому решил познакомиться с уже существующими встраиваемыми языками.

Так сделать что ты хочешь? Конкретно если

Движок для opengl, с упрощенным использованием, логику и функции для работы с opengl вынести в макросы.

То есть, тебе нужен встраиваемый язык. Правильно? Или DSL. Так?
А базовая платформа какая: java, .NET?

Да, встраиваемый. В ознакомительных целях на разных платформах попробую, для начала в vb.net, потом с c++, можно и в java.

Ты хочешь сделать что то похожее на AutoLisp?

Не знаком с autolisp. Что-то похожее на vba, где для макроса доступны классы, функции из основной программы.

В данный момент пытаюсь установить lua для windows и подключить nlua к sharpdevelop vb. Пытаюсь разобраться как в sharpdevelop vb подключаются dll к проекту что бы в программе потом работал Imports LuaInterface и т.д.

установить lua для windows
github.com/…​ng/luaforwindows/releases
ну или sourceforge.net/projects/luabinaries
Пытаюсь разобраться как в sharpdevelop vb подключаются dll к проекту
ну там так: в менеджере проекта, кликаешь правой кнопкой мышки по папочке «Ссылки» и выбираешь «добавить ссылку» и в открывшимся окошке выбираешь вкладку «Браузер сборок .NET» ну и обзором находишь ту dll-ку которую надо.

Спасибо. Уже сделано.

Тебе для чего данное веселье надо?
хочу поэкспериментировать с 2d, 3d графикой
Движок для opengl, с упрощенным использованием
иногда от программы требуется больше чем eval
посмотри в сторону уже давно готовых библиотек по работе с WebGL (three.js, pixi.js etc.)

Спасибо. Знаком с three.js, к этому движку приду позже.

делать свою реализацию ЯП будет дорого и сложно, скорее вопрос должен стоять как прикрутить существующий интерпретатор к приложению.

например для джавы есть готовая реализация джаваскрипта developer.mozilla.org/ru/docs/Rhino
Думаю для других платформ, должно быть что то подобное.

Для дотнета тоже что-то такое есть. Например, такое ru.wikipedia.org/wiki/JScript или такое github.com/fholm/IronJS (но IronJS уже дохлое). Хотя чего-то такого реально рабочего под дотнет наверное нету.

Спасибо. По ironjs еще не смотрел, в планах только.

Ну есть еще github.com/remobjects/script . Местами сумрачно, но вполне рабочее

А почему именно такая база? Javascript достаточно дорогая штука (например, по затратам памяти, по скорости выполнения до начала активного JIT).
Есть множество доступных других встраиваемых языков (например, Lua самый маленький по памяти; Python, Perl тоже отлично встраиваются; есть даже древнющий, но компактный slang; есть реализации Scheme для встраивания...)

Спасибо. Попробую разобраться с этими языками. Примеры бы еще увидеть для их настройки и использования в lazarus freepascal, dev-c++ или sharpdevelop vb.net.

Примеры бы еще увидеть для их настройки и использования в lazarus freepascal, dev-c++ или sharpdevelop vb.net.
имеется ввиду поддержка этих языков данными IDE-шками?
А вот насчет встраивоемости одного языка в другой, то например в офф. книжке по Lua от Иерузалимски есть глава по встраиваемости Lua в Си. Думаю аналогичное (книжки, статьи) можно найти и про Python, и про Scheme. Для дотнета — также есть реализации Lua (Moonsharp, NLua и нек.др.), питона (IronPython) и схемы (IronScheme). По ним тоже думаю инфо можно найти (про Iron Python даже несколько книжек есть).

может, просто подключить v8 для выполнения?

Спасибо. Попробую разобраться.

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

Да. Идея такая. Спасибо.

Подписаться на комментарии