Size: a a a

Compiler Development

2021 April 03

K

Kir in Compiler Development
А в скале я не смотрел, мне страшно
источник

λ

λoλdog in Compiler Development
Хаскель смотрел, а в скале страшно?
источник

K

Kir in Compiler Development
Да.
источник

K

Kir in Compiler Development
В скале CanBuildFrom живёт
источник

λ

λoλdog in Compiler Development
Нет, не живет
источник

M

MrSmith in Compiler Development
Кто имеет опыт с MLIR
источник

M

MrSmith in Compiler Development
https://mlir.llvm.org/getting_started/ обьясните дураку какие оно либы должно тянуть
источник

M

MrSmith in Compiler Development
Может где валяется пример cmake, для toy dialect
источник

АП

Антон Пилипчук... in Compiler Development
Просветите меня пожалуйста.

Есть лексер который строит последовательность токенов.

Допустим токены хранятся в массиве. Допустим массив индексируется бесзнаковым целым числом.

Есть некий исходный код на миллионы строк. То есть токенов может быть миллиард.

Как быть с той ситуацией когда токенов(лексем) в анализируемом коде больше, чем может быть проиндексировано в массиве токенов?
источник

M

MrSmith in Compiler Development
peek() next() как правило лексер не идексирует ничего
источник

K

Kir in Compiler Development
> Есть некий исходный код на миллионы строк

Поминки.

Есть такая технология, как модули, позволяющие разделить код на небольшие части.
источник

K

Kir in Compiler Development
А всякие #include в C - это пережиток страшного прошлого
источник

АП

Антон Пилипчук... in Compiler Development
MrSmith
peek() next() как правило лексер не идексирует ничего
то есть массива токенов просто нет? то есть peek просто считывает токен с текущей позиции в коде?
источник

M

MrSmith in Compiler Development
Нет, там итератор next отдает следуюший токен, пик показывает следуюший но не сдвигает итератор
источник

M

MrSmith in Compiler Development
А сам итератор он не хранит никакой масив токенов
источник

M

MrSmith in Compiler Development
Он просто отдает следуюший или позволяет сделать лукап на 1
источник

M

MrSmith in Compiler Development
Ну это конечно тривиальный просто лексер
источник

M

MrSmith in Compiler Development
Сложный какой можно контролировать сдвигать курсор для каких то своих целей к примеру, ручки для ошибок свои и тд
источник

АП

Антон Пилипчук... in Compiler Development
@MRSMITH4 , огромное спасибо)
источник

АП

Антон Пилипчук... in Compiler Development
а я блин в массиве храню
источник