Бесконечный цикл грамматики Treetop

У меня в голове витали некоторые идеи по поводу нового языка программирования, поэтому я решил попробовать реализовать их. Друг посоветовал мне попробовать использовать Treetop (драгоценный камень Ruby) для создания парсера. Документация Treetop скудна, и я никогда раньше не делал подобных вещей.

Мой синтаксический анализатор ведет себя так, как будто в нем есть бесконечный цикл, но без следов стека; его оказывается трудно выследить. Может ли кто-нибудь указать мне на руководство по синтаксическому анализу / AST начального уровня? Мне действительно нужно что-то, что перечисляет правила, общее использование и т. Д. Для использования таких инструментов, как Treetop. Мой грамматический анализатор находится на GitHub , на случай, если кто-то захочет помочь мне улучшить его.

class {
  initialize = lambda (name) {
    receiver.name = name
  }

  greet = lambda {
    IO.puts("Hello, #{receiver.name}!")
  }
}.new(:World).greet()

5
задан ravinggenius 24 May 2011 в 03:50
поделиться