Как вы создаете компьютер или язык сценариев для приложения? - PullRequest
2 голосов
/ 30 апреля 2009

Дубликат:

и других, мне сейчас лень найти.


Я не спрашиваю, как составить невероятно сложный язык. Я просто хотел понять основы. Я бы использовал c # в качестве основного языка. Я знаю, что это неопределенно. Я надеялся на что-то очень простое, чтобы направить меня.

Я думаю, что меня больше всего интересует создание языков сценариев. Например, я вижу людей, которые пишут программы, но у них есть язык сценариев для их приложений. Я не хочу переписывать язык сценариев Windows. Скажем, у меня была программа для чтения текстовых файлов, и по какой-то причине мне хотелось, чтобы язык сценариев что-то автоматизировал. Я не уверен, как спросить.

Спасибо.

РЕДАКТИРОВАТЬ - Спасибо за ответы. Я смотрел на это больше для того, чтобы учиться, а не делать на данный момент. Возможно, я бы использовал LUA, но я пытаюсь узнать больше о концепции в целом.

Ответы [ 6 ]

4 голосов
/ 30 апреля 2009

Вы могли бы взглянуть на LUA - я использовал его с большим успехом каждый раз, когда задавал себе вопрос: «Как бы я автоматизировал вставку задачи сюда в вставьте одно из моих приложений сюда ? "

Редактировать: Вот несколько примеров (взятых со страницы ссылок , по общему признанию, громоздких Lua Wiki ) о том, как вы можете встроить Lua в свое приложение:

2 голосов
/ 30 апреля 2009

Вы можете использовать существующий язык, такой как Python или Javascript. Например, для Javascript есть http://www.mozilla.org/rhino/ для приложений Java. Поэтому обычно вам не нужно изобретать новый язык, вы просто предоставляете пользовательский API для языка, который уже существует.

1 голос
/ 01 мая 2009

Скотт Хансельман упомянул в своем последнем подкасте hanselminutes , что интегрировать IronPython для создания сценариев существующего приложения было очень легко.

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

Если вас больше интересует образовательный опыт написания своего собственного языка сценариев, тогда вам стоит пойти на это!

1 голос
/ 01 мая 2009

Некоторая терминология в порядке. Возможно, вы говорите о предметно-ориентированном языке . Два основных способа преобразования текстового файла в «исполняемый файл»: компилятор или интерпретатор . Интерпретатор лучше подходит для концепции сценариев, так как его легче строить и выполнять строки по одной за раз. Обратите внимание, что помимо очень простого языка написание приличного синтаксического анализатора или приличного интерпретатора нетривиально. Классическая работа над переводчиками - SICP , но это довольно сложная книга для начинающих.

0 голосов
/ 01 мая 2009

сначала вам нужен лексический синтаксический анализатор, такой как lex, затем синтаксический синтаксический анализатор, такой как bison.

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

так делают большинство скриптовых языков.

p.s: попрактикуйтесь в написании оболочек - сценарии оболочки (bash, csh или sh) - это очень упрощенные языки сценариев.

0 голосов
/ 30 апреля 2009

Нет необходимости создавать новый язык сценариев, например, есть несколько. Rhino - широко используемый встраиваемый JavaScript-код (http://www.mozilla.org/rhino/) или Jscript от MS, который можно использовать непосредственно в вашем продукте.

Я прошел путь, о котором вы спрашиваете, - однажды я создал свой собственный интерпретатор схем. Это сработало очень хорошо, но мы заново изобрели много технологий и не получили много дополнительных преимуществ. Нам было бы гораздо лучше, если бы мы использовали одну из доступных схем. Я бы не принял это решение снова, хотя это было весело и успешно.

...