Когда я увидел эту статью об использовании пинта-подобного sintax (с отступом, без фигурных скобок, синтаксиса) для С#, я начал задаться вопросом: могу ли я иметь среду IDE, которая анализирует и компилирует ее?
Как насчет Iron Python? Это python для dotnet.
Вы также можете проверить Delphi Prism (запускается как плагин для Visual Studio), если вам не нравятся фигурные скобки. Он может делать все, что С# делает, плюс несколько дополнительных вещей.
извините за отложенный ответ. Я опубликовал статью здесь, в которой рассказывается о структурированных редакторах. К сожалению, он все еще находится на ранних этапах прототипа, но может дать вам представление о том, как создать такой редактор. Я также опубликовал источники и двоичные файлы здесь.
Сообщите мне, если у вас есть какие-либо вопросы.
: может ли я иметь IDE, которая анализирует и компилирует его?
Прежде всего, немного педантизма. IDE не анализирует и не компилирует.
Я бы либо предложил использовать Iron Python или Delphi Prism (как предложил Wouter быстрее), или что об этом: Вы используете Notepad ++ в качестве среды IDE и пишите небольшой инструмент, который автоматически добавляет скобки на основе намерения до компиляции кода. Я думаю, что это можно сделать в рамках одного кода "поиск и замена обхода":
Например:
if true
for each a in b
foo();
foo();
Код просто сканирует каждую строку и добавляет открывающую скобку, если: Код в текущей строке далее предназначен, чем код в предыдущей строке:
if true
{for each a in b
{foo();
foo();
И добавляет замыкающую скобку, где код следующей строки менее предназначен, чем в текущей строке. - Храните глубину углубления (я бы рекомендовал систему на основе стека)!
if true
{for each a in b
{foo();}
}
foo();
И так далее... Проблемы с пространствами имен и "Использование" также могут быть решены таким образом.