Загрузка...

Typing in math expressions (lexer + parser + evaluator + gap buffer for text input)

I built a small lexer, parser and evaluator for simple math expressions, so that I don't have to use a separate calculator when entering values when transforming (translating, rotating or scaling) nodes in the scene or mesh vertices.

In order to make text input efficient I implemented a gap buffer, which is a great data structure for editing in small text buffers:

https://en.wikipedia.org/wiki/Gap_buffer

For the parser I used pratt parsing for operator precedence: https://matklad.github.io/2020/04/13/simple-but-powerful-pratt-parsing.html.

Видео Typing in math expressions (lexer + parser + evaluator + gap buffer for text input) канала Arjo Nagelhout
Яндекс.Метрика
Все заметки Новая заметка Страницу в заметки
Страницу в закладки Мои закладки
На информационно-развлекательном портале SALDA.WS применяются cookie-файлы. Нажимая кнопку Принять, вы подтверждаете свое согласие на их использование.
О CookiesНапомнить позжеПринять