Size: a a a

2020 August 28

p

persona x grata in pro.js
dynamic
Ну смотри. То, что у тебя в итоге получается в виде скоупов - не имеет отношения к тому, как работает токенайзер\лексер и парсер.
Компилятор мельчит код на токены let, a, =, 5, ; отдельные токены
источник

d

dynamic in pro.js
За исключением того объекта, который выставлен в качестве глобального скоупа.
источник

S

S.unity in pro.js
Aleksei Kowalski
f => {
let prev;
let curr;
return function(n) {
 if (prev) {
   prev += n
   return prev
 } else {
   return 1
 }
}
}

Накидал говнокода, хы
Я в машине еду
а куда тут передавать новое значение?
источник

d

dynamic in pro.js
источник

AK

Aleksei Kowalski in pro.js
S.unity
а куда тут передавать новое значение?
let newFn = f()

newF(n)
источник

d

dynamic in pro.js
persona x grata
Компилятор мельчит код на токены let, a, =, 5, ; отдельные токены
Теорию языков программирования изучали уже? Что такое абстрактное синтаксическое дерево? Компилятор не работает с исходным кодом. Он работает с AST.
источник

d

dynamic in pro.js
А путь преобразования исходника в аст не суть важен. Важно чтобы на выходе у парсера получился аст не противорячящий спецификации. /thread
источник

d

dynamic in pro.js
Можешь хоть на регулярках написать синатксический разбор, если умудришься впихнуть в регулярные выражения контекстно-зависимую грамматику.
источник

d

dynamic in pro.js
Без всяких токенов и блекджека.
источник

p

persona x grata in pro.js
dynamic
Теорию языков программирования изучали уже? Что такое абстрактное синтаксическое дерево? Компилятор не работает с исходным кодом. Он работает с AST.
Сегодня читал про это у Кайла Симпсона про замыкания и области видимости, занимательное чтиво
источник

S

S.unity in pro.js
Aleksei Kowalski
let newFn = f()

newF(n)
ты можешь ее дописать, чтоб она работала?
источник

p

persona x grata in pro.js
dynamic
Теорию языков программирования изучали уже? Что такое абстрактное синтаксическое дерево? Компилятор не работает с исходным кодом. Он работает с AST.
АСТ формируется из набора токенов?
источник

KG

Kirill Galimov in pro.js
Подскажите, что такое extra semicolon? Eslint ругается, не пойму че хочет
источник

Э

Эд in pro.js
Kirill Galimov
Подскажите, что такое extra semicolon? Eslint ругается, не пойму че хочет
Ненужная ;
источник

KG

Kirill Galimov in pro.js
Понял, спс
источник

AK

Aleksei Kowalski in pro.js
S.unity
ты можешь ее дописать, чтоб она работала?
Что пишет?
Я с телефона, в машине на ходу
источник

d

dynamic in pro.js
persona x grata
АСТ формируется из набора токенов?
Не обязательно. Во всех мейнстрим языках используется Контекстно Зависимая Грамматика. Ее разбор осуществляется машиной состояний. Как именно ты реализуешь машину состояний не суть важно. Ты можешь исключить токенезацию из процесса синтаксического разбора. Можешь не исключать.
Если тебя интересует эта тема, могу порекомендовать прочитать Dragon Book.
источник

S

S.unity in pro.js
Aleksei Kowalski
Что пишет?
Я с телефона, в машине на ходу
Тело функции возвращет
источник

AK

Aleksei Kowalski in pro.js
Покаж
источник

d

dynamic in pro.js
persona x grata
АСТ формируется из набора токенов?
Ну и АСТ можно сформировать вручную. Вообще без какого-либо исходного кода, если ты имеешь доступ к апи исполнителя. Как я уже писал выше.
источник