Page 2 of 7

Posted: 20.01.2017 17:46
by sergiokapone
Alexey wrote:твое правило --после плавила symbol; поставь выше. Ок?
А расположение токена имеет значение?

Posted: 20.01.2017 17:48
by Alexey
токена в плавиле (rules tab) да.
ты меняешь положение парсера в parsers

Posted: 20.01.2017 20:19
by sergiokapone
Получился такой лексер.

Не хватает пока дерева для команд секционирования

Code: Select all

\part
    \chapter
        \section
            \subsection

Posted: 20.01.2017 21:29
by Alexey
И не будет дерева- блоки то без конца, initialy closed/ no end rule

Posted: 20.01.2017 22:38
by Alexey
взял твой лекс. переименовал стили (чтоб легче набивать Карту стилей Cudatext) и чутьчуть регэксы. Обновил

Posted: 20.01.2017 22:42
by Alexey
Cudatext theme
Image

Posted: 20.01.2017 23:00
by sergiokapone
Good. Thank you

Там немного ошибка в парсере (Token) Dimension
В лексе pt|pc|pt|cm|mm|ex|em
Нужно pt|pc|cm|mm|ex|em

И еще, в LaTeX много команд с использованием символа "@". Их тоже нужно обрабатывать как Cmd, for example:

Code: Select all

\@biblabel
\g@addto@macro
Online example

Posted: 20.01.2017 23:15
by Alexey
поправил regex- \\[a-z@]*
Поправил цвета на невырвиглазные

Posted: 20.01.2017 23:49
by sergiokapone
1. Добавил в лексер спецкоментарии = директивы компилятору (Directives)
2. Добавил нормальный код в окне просмотра результата действия лексера.

Там и заметил баги:
1. В обычном тексте подкрашиваются слова exercitation.
2. Некоторые слова текста воспринимаются как параметры команд, если после стоит запятая, например: physics,
Параметры в LaTeX могум разделятся пробелом, например:

Code: Select all

\node[above left] 
above left - Id param

Posted: 21.01.2017 00:03
by Alexey
правка RE-
direct- %[\x20\x09]+\!.*
dimens- \b (pt|pc|cm|mm|ex|em) \b

делаю Парамы