Новый скриптовый язык - PullRequest
2 голосов
/ 16 марта 2010

Я пытаюсь создать язык сценариев самостоятельно (он не должен быть идеальным - хотя это было бы здорово, если бы он был), главным образом потому, что я делаю это для развлечения и узнать, как они создано и т. д.

В соответствии с ответом здесь: Создание языка сценариев Я должен рассмотреть следующее: http://msdn.microsoft.com/en-us/library/xawadt95%28VS.85%29.aspx. Но я понятия не имею, о чем эта страница MSDN.

Может кто-нибудь помочь, пожалуйста?

P.S. Существуют ли какие-либо языки сценариев с открытым исходным кодом, предназначенные для Windows Script Host, которые также имеют полный исходный код, с которым я могу поиграть?

Спасибо

Ответы [ 3 ]

4 голосов
/ 17 марта 2010

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

http://blogs.msdn.com/ericlippert/archive/tags/SimpleScript/default.aspx

3 голосов
/ 17 марта 2010

Если вы делаете это для развлечения и для изучения того, как создаются языки, я советую вам держаться подальше от Windows Script Host. Вместо этого попробуйте учиться на лучших примерах. Хорошим первым шагом было бы заняться http://www.lua.org/, изучением языка, прочитать о том, как он реализован, и прокрутить свой собственный. Другим языком, который ужасен с языковой точки зрения, но очень прост в реализации, является Tcl . Начните с оригинальной бумаги Osenterhout Usenix.

Хотел бы я порекомендовать хорошую книгу по разработке и реализации вашего собственного языка программирования. Я никогда не видел ни одного. (Я видел некоторые плохие книги в этом направлении, но не желая неуважительно относиться к авторам, я не буду их идентифицировать.) Но если вы сможете провести некоторое время в хорошей университетской библиотеке, вы сможете найти некоторые интересные документы. Вы также можете найти книгу нашего Фридмана и Вэнда Основы языков программирования - хотя она очень техническая, в ней есть кое-что хорошее о написании переводчиков. Есть также хорошая (но очень старая) книга П. Дж. Брауна под названием Написание интерактивных компиляторов и интерпретаторов .

0 голосов
/ 25 июля 2011

Самый простой способ сделать простое прерывание скрипта - разделить ваш исходный код по символу разрыва строки на массив и циклически проходить по каждому члену. Вот пример строка источника = @ " печать Hello World! стоп «); foreach (строка a в source.split ('\ n')) { if (a.StartsWith ("print")) { ЕЫпе (a.Substring (6)); } если (a == "стоп") { Console.ReadLine (); }

...