Size: a a a

2020 May 24

Вт

Ві тя in Frontend UA
Eugene Obrezkov
мне сегодня чот совсем скучно стало, решил сделать небольшой компилятор в assembly - ~150 строк кода на TypeScript
самое оно кому они интересны подсмотреть что да как в образовательных целях

https://twitter.com/ghaiklor/status/1264540146797551617
как по перфу?
источник

VS

V7v S6k in Frontend UA
Eugene Obrezkov
мне сегодня чот совсем скучно стало, решил сделать небольшой компилятор в assembly - ~150 строк кода на TypeScript
самое оно кому они интересны подсмотреть что да как в образовательных целях

https://twitter.com/ghaiklor/status/1264540146797551617
мені все зрозуміло, окрім оцього чейнінгу - addition -> multiplication -> terminal
источник

VS

V7v S6k in Frontend UA
а, тю, поняв
источник

EO

Eugene Obrezkov in Frontend UA
V7v S6k
мені все зрозуміло, окрім оцього чейнінгу - addition -> multiplication -> terminal
это чтобы реализовывать operator precedence без таблиц
источник

VS

V7v S6k in Frontend UA
а
источник

VS

V7v S6k in Frontend UA
а в чому проблема з таблицями?
источник

EO

Eugene Obrezkov in Frontend UA
в том что их надо делать, а мне влом)
источник

VS

V7v S6k in Frontend UA
Все гарно, зрозуміло, легко читається, окрім от цієї штуки в парсері 😅
источник

EO

Eugene Obrezkov in Frontend UA
да и к тому же в парсерах со спуском такое очень даже неплохо смотрится, имхо
источник

VS

V7v S6k in Frontend UA
ну типу да, але не очевидно
источник

VS

V7v S6k in Frontend UA
мені здається має бути спосіб трішки якось це реорганізувати
источник

EO

Eugene Obrezkov in Frontend UA
а ты смотри на это как на грамматические правила, а не методы
источник

EO

Eugene Obrezkov in Frontend UA
ты если хочешь разрешить проблему precedence в грамматике, то это что-то типа

expr: add
add: mult ((+ | -) mult)*
mult: term ((* | /) term)*
term: number
источник

EO

Eugene Obrezkov in Frontend UA
что потом в свою очередь мапится на реализацию 1-в-1
источник

TS

Terry Sahaidak in Frontend UA
Andrey Listochkin
Народ, а кто каими клиентами для баз данных на маке пользуется? Чтоб таблички смтреть, запросики гонять и тд. Интересует Postgres
TablePlus
источник

SG

Stas G in Frontend UA
Reactivue, новый фреймворк, реализующий лучшее из мира React и Vue → https://reactivue.com
источник

SG

Stas G in Frontend UA
если вы не знали, как провести воскресный вечер
источник

Sergey Фrolov in Frontend UA
Stas G
Reactivue, новый фреймворк, реализующий лучшее из мира React и Vue → https://reactivue.com
Это конечно не Vue3, но тоже сойдёт
источник

VS

V7v S6k in Frontend UA
Eugene Obrezkov
ты если хочешь разрешить проблему precedence в грамматике, то это что-то типа

expr: add
add: mult ((+ | -) mult)*
mult: term ((* | /) term)*
term: number
Я не знайомий з цією нотацією, на жаль. Але ідею я зрозумів.

Мене тут мабуть більше непокоїть робота зі стейтом парсеру. По-ідеї, це все можна організувати як data flow просто, для мене такий підхід виглядав би природніше.

Але я не дойобуюсь, це просто роздуми) все круто, молодець 👍
источник

EO

Eugene Obrezkov in Frontend UA
V7v S6k
Я не знайомий з цією нотацією, на жаль. Але ідею я зрозумів.

Мене тут мабуть більше непокоїть робота зі стейтом парсеру. По-ідеї, це все можна організувати як data flow просто, для мене такий підхід виглядав би природніше.

Але я не дойобуюсь, це просто роздуми) все круто, молодець 👍
Это то что я вспомнил из eBNF нотации, можешь погуглить)

А за data flow то посмотри на парсер комбинаторы, мне кажется это то о чем ты говоришь.

https://bodil.lol/parser-combinators/
источник