Генераторы LL(k) парсеров
Jul. 30th, 2008 01:04 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Сижу пытаюсь соорудить парсер для Scheme. Спотыкаюсь на всяких забубенных правилах для токенов типа того, что после \ идет либо символ либо его числовое представление, хрен его знает как его туда запилить.
В данном конкретном случае с числом
Date: 2008-07-30 11:23 am (UTC)Vitaly_K
Re: В данном конкретном случае с числом
Date: 2008-07-30 11:53 am (UTC)Но я уже там припилил варианты символов через регулярное выражение.
Re: В данном конкретном случае с числом
Date: 2008-07-30 11:56 am (UTC)Vitaly_K
Можно вопрос?
Date: 2008-07-31 12:54 pm (UTC)Vitaly_K
Re: Можно вопрос?
Date: 2008-07-31 01:38 pm (UTC)На самом деле на полноценный интерпретатор схемы у меня ни времени, ни сил не хватит, но для подстановки значений в шаблон вроде бы хватит и того урезанного куска, который я уже сделал.
Re: Можно вопрос?
Date: 2008-07-31 03:21 pm (UTC)Vitaly_K
Re: Можно вопрос?
Date: 2008-07-31 03:52 pm (UTC)Вероятно, можно было бы портировать какой нибудь из существующий интерпретаторов на Managed C++, но я тогда закопаюсь окончательно и до итогового результата - генерации кода из моделей объектов доберусь еще не скоро :)
Так есть же Scheme для .NET
Date: 2008-07-31 04:06 pm (UTC)http://www-sop.inria.fr/mimosa/fp/Bigloo/
http://www.yaya.fr/Bigloo/
Vitaly_K
Re: Так есть же Scheme для .NET
Date: 2008-07-31 04:57 pm (UTC)Проект для Visual Studio тоже не собирается.
К сожалению, мне гораздо проще сделать самодельную урезанную версию интерпретатора, чем разбираться, почему не билдится полноценный интерпретатор и как его потом прикрутить к моему проекту. Это, кстати, проблема с очень многими opensource проектами для программистов - их авторы предполагают, что у тех, кто пользуется их проектами есть очень много времени и опыт для того, чтобы разбираться с инструментами. А обычно это не так, поскольку промышленная разработка требует работы, а не изучения инструментов :)
Re: Так есть же Scheme для .NET
Date: 2008-07-31 06:23 pm (UTC)Вот, к примеру: http://www.codeplex.com/IronScheme
Vitaly_K