Если кто-нибудь занимался разработкой IDE, подскажите, есть ли какие-то форматы, описывающие coding style?
Вот пример K&R:
int main(int argc, char *argv[]) {
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar();
}
}
<i class="type">int</i><i class="funcname">main</i>
<ul class="args">
<li><i class="type">int</i><i class="varname">argc</i></li>
<li><i class="type">char</i><i class="varname">*argv[]</i></li>
</ul>
<div class="funcbody">
<i class="type">int</i><i class="varname">c</i><i class="s"></i>
<i class="varname">c</i><i class="op">=</i><i class="funcname">getchar</i>
<ul class="args"></ul>
<i class="s"></i>
<i class="st">while</i>
<ul class="args">
<li><i class="varname">c</i><i class="op">!=</i><i class="varname">EOF</i></li>
</ul>
<div class="stbody">
<i class="funcname">putchar</i>
<ul class="args">
<li><i class="varname">c</i></li>
</ul>
<i class="s"></i>
<i class="varname">c</i><i class="op">=</i><i class="funcname">getchar</i>
<ul class="args"></ul>
<i class="s"></i>
</div>
</div>
* {
margin: 0;
padding: 0;
}
div, i, ul, li {
white-space: pre;
display: inline;
font-style: normal;
}
li:after {
content: ', ';
}
li:last-child:after {
content: '';
}
.stbody:before, .funcbody:before {
content: ' {\A';
}
.stbody:after, .funcbody:after {
content: '}\A';
}
.type:after {
content: ' ';
}
.args:before {
content: '(';
}
.args:after {
content: ')';
}
.st:after {
content: ' ';
}
.s:after {
content: ';\A';
}
.op:after, .op:before {
content: ' ';
}
Выглядит противно и жутко. Но своё дело делает — пробелы расставлены, где нужно (отступов нет, их можно сделать при помощи сдвига дивов).
Есть ли уже существующие форматы для описания форматирования кода?