Как долго внедрять язык после того, как правила сделаны в зубрах? - PullRequest
0 голосов
/ 02 августа 2010

Я пишу на своем родном языке, и я почти закончил правила в зубрах.Теперь осталось реализовать правую сторону.Есть около 650 строк.Язык менее сложен, чем C, но все еще довольно сложен.Я не пытался реализовать правила, за исключением тестового приложения, чтобы изучить его.У меня было много segfaults, но я привык к этому.

Каждое правило было вызовом функции, поэтому потенциально 600 из этих строк являются вызовами функций, поэтому их может быть более 500.Где функции довольно простые, когда вы попробовали это?большая часть работы эти правила или весь другой код не в вызываемых функциях?Усилия по разделению между ними?

1 Ответ

1 голос
/ 22 декабря 2010

Написание правил - дело лёгкое.Я полагаю, что вы используете переводчика.По вашим словам кажется, что вы определили более 600 правил, это много.Вам, вероятно, придется сократить количество правил, прежде чем идти дальше.

Что такое номер гибкого паттерна?

Распространенной ошибкой является добавление многих лексических ключевых слов.Тогда бизон станет кошмаром.В качестве примера я видел в прошлом интерпретацию, которая переопределяет в lex многие функции файла maths.h, такие как sin и cos ... Затем разработчик определил токены SIN, COS ... и создалправильное действие YACC.Это большая работа и не расширяемая!

Недавно я написал интерпретатор OOL, и он содержит около 150 правил.Приблизительно половина из них связана с наследием предыдущей версии от рождения.Количество строк компилятора и интерпретатора байт-кода составляет приблизительно 10000 для ядра.

...