Size: a a a

Compiler Development

2020 December 01

E

EgorBo in Compiler Development
MaxGraey
Конечно же нет. У нас все свое и табливы дял unicode properties строим сами более компактно. Используется three staged static trie
а для форматирования чисел всякие правила, даты?
источник

M

MaxGraey in Compiler Development
EgorBo
а для форматирования чисел всякие правила, даты?
Пока этого нету
источник

E

EgorBo in Compiler Development
хотя это наверное можно в жс интеропать
источник

E

EgorBo in Compiler Development
в случае выполения в браузере
источник

M

MaxGraey in Compiler Development
Там пока только case mapping (с учетом граничных случаев таких как греческая сигма) и еще парочку свойств. Для Regex придется генерить еще таблицы со свойствами, но там это так же решаемо
источник

M

MaxGraey in Compiler Development
EgorBo
хотя это наверное можно в жс интеропать
Не, слишком медленно, кроме того мы стараемся не зависить от хоста вообще никак
источник

E

EgorBo in Compiler Development
мы решили всё-таки ICU тащить, пострипали его с 24мб до где-то 1.5
источник

E

EgorBo in Compiler Development
но все равно много
источник

E

EgorBo in Compiler Development
весит как всё остальное
источник

YS

Yaroslav Schekin in Compiler Development
MaxGraey
Если в вашем лексере нет чтения символов из строки или сравнения строк, то беспокоиться не о чем. Я вообще отвечал на сообщение о том, что нужно все в UTF32 переводить и лишь заметил, что не обязательно
А, понятно, спасибо!
источник

M

MaxGraey in Compiler Development
EgorBo
мы решили всё-таки ICU тащить, пострипали его с 24мб до где-то 1.5
О да, ICU слишком моструозен. Кроме того очень много граничных случаев на самом деле нет смысла обрабатывать. Я там встречал сложные реализации и необходимостью тащить несколько килловайт таблиц лишь для случая который очень уж редко встречается и не слишком страшно если его не обработать. Так кстати делают в Go и Rust. У обоих свои реализации для работы с юникодом
источник

E

EgorBo in Compiler Development
ну мы будем постепенно отказываться да
источник

E

EgorBo in Compiler Development
просто у нас уже огромный спектр апих для работы с культурами и т.п. - всё сразу покрыть без icu cложно было
источник

E

EgorBo in Compiler Development
а вообще чего там в ICU только нет действительно :)
источник

E

EgorBo in Compiler Development
по сложности кода как среднего уровня компилятор)
источник

M

MaxGraey in Compiler Development
EgorBo
а вообще чего там в ICU только нет действительно :)
Более того за многие годы там полно коллиций и редундантных случаев уже)
источник

E

EgorBo in Compiler Development
ну большинство из этого отключается, они там сделали DSL
источник

h

hazer_hazer in Compiler Development
Привет. Не кидайтесь камнями, но у меня самописный парсер и лексер, а не бизон или антлер (кто его так называет? :) )
Это не финит стейт машина, а что-то намешанное.

Вопрос: я сейчас делаю его чуть более мощным в плане возможностей и меня смущают прыжки туда и обратно на индекс при анматчинге, а раньше он был полностью линейным. Насколько это нормально?
источник

E

EgorBo in Compiler Development
на котором можно описать что тебе не нужно и какие локали не нужны
источник

h

hazer_hazer in Compiler Development
hazer_hazer
Привет. Не кидайтесь камнями, но у меня самописный парсер и лексер, а не бизон или антлер (кто его так называет? :) )
Это не финит стейт машина, а что-то намешанное.

Вопрос: я сейчас делаю его чуть более мощным в плане возможностей и меня смущают прыжки туда и обратно на индекс при анматчинге, а раньше он был полностью линейным. Насколько это нормально?
Я плох в теории о lalr, lr, clr и тд.
Но вопрос скорее: "Все ли парсеры прыгают назад?"
источник