>>37790>
Спаси меня
Хорошо.
Замечания по исходным текстам:
1. Используются неоптимальные по вычислительной сложности структуры данных - массивы. Например в процедурах вида GetVarValue использование хэш-таблиц могло бы привести к росту производительности на интерпретации больших программ.
2. Очень много захардкоженных в тексте программы литералов.
3. Подсистемы проверки и печати результатов выполнения размазаны по исходному тексту => трудноподдерживаемы, являются будущим источником ошибок при внесении изменений.
4. Почему-то не применен подход формирования AST из исходных текстов программы, что делает невозможными почти все автоматические оптимизации. Вместо этого применен подход прямой интерпретации исходного текста программы. Да, подобные подходы применялись и до тебя и достаточно успешно, например в языке Tcl, но непонятно зачем это сделано в твоем случае.
5. В исходном тексте написано "fLang CLI v0.8.7a (15.01.2014)" а жидхаб датирует исходник 2014-02-06.
Замечания по языку:
1. Где описана прагматика языка?
2. Где описана операционная семантика?
3. Где описан синтаксис в формате BNF, EBNF или каком-нибудь pseudo-BNF?
Эти 3 пункта нужны для того, чтобы другие программисты могли понять, зачем нужен твой язык программирования. Даже для языков, которые написаны just for fun это важно. Открытыми исходными текстами выкрутиться не выйдет, документация, концепции, философия (если о ней можно говорить) написанного не выводится из исходных текстов, это сродни реверс-инженерингу, которым бесплатно никто заниматься не будет.
Что же касается позиций "ну я это джаст фо фан написал, поэтому ко мне не может быть никаких претензий", то это просто проявление слабости. Пойми, или ты отважно разрабатываешь свой язык, веря в него и его успех и предпринимая реальные шаги к повышению его качества или ты пишешь очередной хелловорлд, который не имеет отношения к другим, настоящим, программам. Тогда и говорить не о чем.
Вообщем у тебя беда как и у многих паскалистов - вы долгое время росли и учились в изоляции собственного университета/института/колледжа/профтехучилища. Поэтому тебя в принципе трудно винить за все вышеописанные недостатки. Тем не менее тебе все-таки нужно по-тихоньку выходить на международный уровень программирования, а то так и будешь как та девочка Дельфа из копипасты, которая так и не смогла вырости из детской песочницы и угрюмой злобой продолжала ковырять совочком заскорузглый песочек до самого окончания репродуктивного периода, и после него тоже. Менять язык программирования при этом тебе необязательно - потенциал паскаля тобой далеко не исчерпан.
Вот есть книжка про то как писать языки программирования -
http://starling.rinet.ru/~goga/tapl/tapl.pdf. Конечно их можно писать и другими способами, не таки глянь для разнообразия.