Тёрка в тагах


Друзья

Его(2) Общие(0) Хотят дружить(0)


  • Atrinax

  • Blackoff

  • login

  • login

  • login

  • login

Враги

Его(0) Общие(0) Обиженные(1)

Большая Тёрка / Мысли / Личная лента olegchir /


olegchir
Буду писать интерпретатор Scheme на Scala, наверное.

Есть уже пример готового: http://brianmckenna.org/blog/sexp_scala
Оно все на регэкспах.
Погуглил как сделать свой парсер регэкспов.
Кое‑что есть: http://www.codeproject.com/Articles/5412/Writing‑own‑regular‑expression‑parser

Есть кое‑что из другой оперы:
http://berlinbrowndev.blogspot.ru/2008/07/simple‑lisp‑implementation‑in‑java‑ode.html

Т.е. есть как минимум два способа:
1) вначале написать свой парсер регэкспов, и использовать его как ридер. Потом поверх этого ридера взгромоздить скаловский матчер и вуаля.
2) с самого начала парсить поток токенов, считая за разделители пробелы и скобки (выполняющие двойную роль — и разделителя, и регулятора вложенности)

Пойду вначале по второму пути, как по более Ъ.

Отдельное направление развития — написать для Scala такой DSL, чтобы средствами Scala можно было писать лисповыражения, не применяя как хранилище строки.

Вот такие мысли приходят в пятницу вечером. Страшный день!