Бизон: Реализация кода после правил - PullRequest
0 голосов
/ 11 сентября 2010

Эй, ребята, я хотел бы спросить кого-то, кто внедрил язык в зубрах.

Сколько времени потребуется, чтобы реализовать часть кода после того, как вы закончите все правила?Я не знаю, должен ли я сделать это или нет.В настоящее время я нахожусь на 600 LoC (считая среднюю часть %%)

Сколько времени потребуется для реализации кода?Я знаю, что это будет меняться, но сколько времени у вас ушло на реализацию?

Это займет дни?месяцы?или много месяцев / лет?Если его две недели или меньше, я могу пойти дальше и сделать это.Если это более 2 месяцев, я не буду это рассматривать (по крайней мере, на данный момент).

Просто прошу оценки.Мне нужно также рассмотреть дублированный код.Преобразование языка в C ++ или C # должно быть тривиальным.В любом случае, я хочу получить приблизительную оценку.

Ответы [ 2 ]

1 голос
/ 12 сентября 2010

Я мог бы дать вам гораздо лучший ответ, если бы у меня была идея, как выглядит ваш код.Учитывая, что это 600 строк (только для бизона, а не гибкого?), Я сомневаюсь, что вы сможете заставить его работать через две недели.Возможно, к тому времени вы сможете набрать что-то, но я сомневаюсь, что вы в течение месяца «полностью заработаете».В основном это происходит из-за того, что «это займет больше времени, потому что это ваш первый раз» и «первой важной вещи, которую вы напишите на языке, вероятно, потребуется полный рефакторинг, потому что вы не разработали его, чтобы хорошо работать с языком. "

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

0 голосов
/ 12 сентября 2010

Вы слишком застенчивы с тем, что пытаетесь осуществить.

Но я сделаю категорическое утверждение: если вы пытаетесь реализовать язык с указанными вами мерами прокси и не являетесь опытным разработчиком языка (например, по крайней мере, одна успешная, новая, рабочая, используемая и используемая реализация ) ты над головой.

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

Моя рекомендация: остановиться, сделать шаг назад, переосмыслить то, чего вы пытаетесь достичь, изучить другие реализации, посмотреть, действительно ли у вас есть что-то невыразимое на других языках. И если вы выполнили всю эту домашнюю работу и обнаружили, что по-прежнему хотите развивать свой язык, то у вас будет точка зрения, которой у вас не было раньше.

Язык дизайна очень, очень трудно сделать хорошо.

...