kolibrios-fun/programs/other/t_edit_synt
IgorA 8baf5f1141 corrected file 'html.syn'
modify program 't_edit_synt'

git-svn-id: svn://kolibrios.org@2086 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-08-20 19:11:46 +00:00
..
build.bat 1) removed duplicate code in 'box_lib' 2010-05-30 21:27:14 +00:00
readme.htm 1) removed duplicate code in 'box_lib' 2010-05-30 21:27:14 +00:00
te_data.inc corrected file 'html.syn' 2011-08-20 19:11:46 +00:00
te_syntax.asm corrected file 'html.syn' 2011-08-20 19:11:46 +00:00
te_syntax.png 1) removed duplicate code in 'box_lib' 2010-05-30 21:27:14 +00:00
te_work.inc corrected file 'html.syn' 2011-08-20 19:11:46 +00:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<title>Оглавление</title>
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
<style>
body
{
  font-size: 15px;
  font-family: "Bookman Old Style";
  color: black;
  text-align: justify;
}
h1 { color: green; font-size: 23px; }
h2 { color: green; font-size: 21px; }
h3 { color: green; font-size: 19px; }
h4 { color: #803f00; font-size: 17px; }
i { color: #0099cc; }
b { color: #0099cc; }
p {
  text-indent: 1em;
  margin-top: 3px;
  margin-bottom: 2px;
  margin-left: 0px;
  margin-right: 0px;
}
ol, ul, dl{
  margin-top: 3px;
  margin-bottom: 2px;
}
pre
{
  padding: 2px;
  padding-left: 20px;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 0px;
  margin-right: 0px;
  font-family: "Courier New";
  font-size: 15px;
  color: #004000;
  background-color: #ffd0ff;
}
table
{
  font-size: 15px;
}
</style>
</head>

<body>
<h1>TextEditor syntax file converter версия от 31.05.2010</h1>
<h2>О программе</h2>
<p>Программа для работы с файлами текстового редактора формата <b>*.syn</b>.</p>
<p><img src="te_syntax.png"></p>
<p>Лицензия свободная.</p>

<h2>Алгоритм работы программы</h2>
<p>Перед использованием записать файл <b>te_synt.kex</b> в папку с редактором <b>t_edit.kex</b>.</p>
<p>1) загрузить файл синтаксиса <b>.syn</b></p>
<p>2) ввести путь и новое имя для сохранения в формате <b>.asm</b></p>
<p>3) изменить в файле <b>.asm</b> интересующие пользователя параметры, это могут быть:</p>
<ul>
<li>цвета интерфейса</li>
<li>подсвечиваемые слова (должны ити в порядке следования ascii кодов)</li>
<li>справка по словам</li>
</ul>
<p>4) компилировать в <b>fasm</b></p>
<p>5) исправить расширение <b>.bin</b> на <b>.syn</b></p>
<p>Если пропустить 3-й пункт, то в результате пользователь должен получить такой же файл синтаксиса, который был изначально.</p>

<h3>Формат преобразованого файла подсветки *.asm</h3>
<p><b>count_colors_text</b> - колличество цветов для текста</p>
<p><b>count_key_words</b> - колличество подсвечиваемых слов</p>
<p>Цветовые параметры:</p>
<p><b>color_cursor</b> - цвет курсора</p>
<p><b>color_wnd_capt</b> - цвет полей вокруг окна</p>
<p><b>color_wnd_work</b> - цвет фона в окне</p>
<p><b>color_wnd_bord</b> - цвет текста на полях</p>
<p><b>color_select</b> - цвет выделения</p>
<p><b>color_cur_text</b> - цвет символа под курсором</p>
<p><b>color_wnd_text</b> - метка после которой идут цвета текста в окне</p>

<p><b>text</b> - метка после которой идут описания ключевых слов. Для более компактного описания ключевого слова используется макрос <b>wo</b>:</p>
<pre>macro wo txt,lf1,p1,p2,p3{
@@: db txt
rb @b+40-$
dd lf1
db p1,p2+0,p3
}</pre>
<p>параметры макроса:</p>
<p><b>txt</b> - <i>подсвечиваемое слово</i></p>
<p><b>lf1</b> - <i>смещение начала справки</i> по данному слову относительно метки <b>f1</b></p>
<p><b>p1</b> - <i>опции</i> влияющие на выделение слова. Возможно всего 5 опций, каждая из которых включается определенным битом:</p>
<ul>
 <li>2<sup>0</sup>=1 - слева не текст,</li>
 <li>2<sup>1</sup>=2 - справа не текст,</li>
 <li>2<sup>3</sup>=4 - использовать конечный символ,</li>
 <li>2<sup>4</sup>=8 - слева любая цифра,</li>
 <li>2<sup>5</sup>=16 - справа любая цифра.</li>
</ul>
<p><b>p2</b> - <i>ascii код конечного символа</i> для выделения. Используется в случаях, когда нужно задать выделение заранее не известной длинны, например: комментарии, строки в кавычках. Для его использования предыдущий параметр должен содержать 2-й бит ил цифра 4 = 2<sup>2</sup>.</p>
<p><b>p3</b> - <i>номер цвета</i> из массива <b>color_wnd_text</b>, которым будет выделятся слово</p>

<p><b>Пример 1.</b> Нужно задать слово <i>or</i>, что-бы по ошибке комбинации из символов входящих в слово не выделялись в других словах, например: <i>f<b>or</b>m</i>, <i>col<b>or</b></i> используем в <b>p2</b> биты 0 и 1 получаем число 3 = 2<sup>0</sup>+2<sup>1</sup> = 1+2.</p>
<p><b>Пример 2.</b> Фрагмент файла, полученого в результате работы программы:</p>
<pre>wo&lt;'word'&gt;,f1.600-f1,<b>3</b>,,8
wo&lt;'xadd'&gt;,0,<b>3</b>,,1
wo&lt;'xchg'&gt;,f1.602-f1,<b>3</b>,,1
wo&lt;'xlat'&gt;,0,<b>3</b>,,1
wo&lt;'xlatb'&gt;,0,<b>3</b>,,1
wo&lt;'xmm0'&gt;,0,<b>3</b>,,2
wo&lt;'xmm1'&gt;,0,<b>3</b>,,2
wo&lt;'xmm2'&gt;,0,<b>3</b>,,2
wo&lt;'xmm3'&gt;,0,<b>3</b>,,2
wo&lt;'xmm4'&gt;,0,<b>3</b>,,2
wo&lt;'xmm5'&gt;,0,<b>3</b>,,2
wo&lt;'xmm6'&gt;,0,<b>3</b>,,2
wo&lt;'xmm7'&gt;,0,<b>3</b>,,2
wo&lt;'xor'&gt;,f1.613-f1,<b>3</b>,,1
wo&lt;'zf'&gt;,f1.614-f1,<b>3</b>,,2
wo&lt;'||'&gt;,0,<b>0</b>,,1</pre>
<p>Параметры <b>p2</b> почти во всех словах равны 3-м, а в последнем слове 0, потому что для последнего слова не важно какие символы будут слева и справа от него.</p>

<h3>Формат файла подсветки *.syn</h3>
<table>
<tr><th>Элемент</th><th>Размер (байт)</th></tr>
<tr><td>Количество цветов текста</td>
  <td><pre>4</pre></td></tr>
<tr><td>Количество подсвечиваемых слов</td>
  <td><pre>4</pre></td></tr>
<tr><td>Цвета интерфейса</td>
  <td><pre>4*6</pre></td></tr>
<tr><td>Цвета для текста</td>
  <td><pre>4*(кол. цв. текста)</pre></td></tr>
<tr><td>Структуры со свойствами и описаниями слов</td>
  <td><pre>sizeof(TexColViv)*(кол. слов)</pre></td></tr>
<tr><td>Разделительный символ, означающий начало описаний слов (всегда равен 0)</td>
  <td><pre>1 байт</pre></td></tr>
<tr><td>Описания слов (строки текста с 0-ми в конце)</td>
  <td><pre>(длинна справочного текста + 1)</pre></td></tr>
</table>
<h4>Замечания.</h4>
<ul>
<li>Все слова должны быть расположены в порядке следования их ASCII кодов.
  Возможно в будущих версиях формат файлов подсветки будет изменен.</li>
</ul>

<hr>
<h2>Автор</h2>
<p>Игорь А. (IgorA) - разработка программы.</p>

</body>
</html>