Size: a a a

2020 August 28

d

dynamic in pro.js
Если имеешь доступ к апи движка, можешь вообще обойтись и без аст, если это позволяет апи. Конструировать примитивы рантайма напрямую.
источник

p

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

S

S.unity in pro.js
источник

AK

Aleksei Kowalski in pro.js
Как объявил покажи
источник

p

persona x grata in pro.js
Закинь код на repl.it
источник

d

dynamic in pro.js
persona x grata
Понял, значит это довольно низкоуровневая среда, влезать я туда пока не планирую. Зачем то тебе приходилось применять вмешательства в движок жс?
Это тема не имеет отношения к жс как таковому. Это целая отдельная область Информатики, она так и называется - Теория языков программирования. Туда входит все - от синтаксического разбора, компиляторов, интерпретаторов, до семантики, систем типизации и прочего.

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

d

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

d

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

d

dynamic in pro.js
И в программировании только две существенные проблемы, требующие решения - именование переменных и инвалидация кэша.
источник

S

S.unity in pro.js
источник

p

persona x grata in pro.js
dynamic
Это тема не имеет отношения к жс как таковому. Это целая отдельная область Информатики, она так и называется - Теория языков программирования. Туда входит все - от синтаксического разбора, компиляторов, интерпретаторов, до семантики, систем типизации и прочего.

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

В

Виктория in pro.js
Аркаша Алопекский 🏴‍☠️
Потому что он плохой
Аркашка, что с тобой?
источник

CM

Chingiz Mamiyev in pro.js
Аркаша Алопекский 🏴‍☠️
Потому что он плохой
источник

JS

Just_Miracle Soronba... in pro.js
источник

d

dynamic in pro.js
persona x grata
Не, я про стандартное использование жс в браузере или в среде исполнения нод жс
Алсо, помимо того, к чему ты можешь получить доступ расширяя рантайм непосредственно на низком уровне, ещё за флагом v8 (т.е. и в браузере и в ноде) --allow-natives-syntax есть доступ к некоторым рантайм функциям движка (они начинаются со знака процента). Но, это не специфицировано, они регулярно выпиливаются и запиливаются. Актуальный список можно посмотреть только в сорцах https://github.com/v8/v8/blob/master/src/runtime/runtime.h

Т.е. это те апи которые можно дернуть прямо из жс. Там нет совсем низкого уровня, но тоже бывает, что-то вкусное. Несколько лет назад, например там была функция позволяющая заменять тело любой (не нативной) функции в райнтайме на тело другой функции. Или, например вручную вызывать сборщик мусора или смотреть содержимое слабых коллекций (но в ноде и так прокинуты эти апи и без флагов, например).

Само собой это все для очень частных случаев, и только для тех, кто знает что делает.

Так же, кому интересно поиграться с рантаймом, можете поизучать нодовский модуль vm (это проброшенные апи для работы с контекстами) и utils (там есть прокинутые апи для более расширенной рефлексии и управления рантаймом)
источник

d

dynamic in pro.js
dynamic
Алсо, помимо того, к чему ты можешь получить доступ расширяя рантайм непосредственно на низком уровне, ещё за флагом v8 (т.е. и в браузере и в ноде) --allow-natives-syntax есть доступ к некоторым рантайм функциям движка (они начинаются со знака процента). Но, это не специфицировано, они регулярно выпиливаются и запиливаются. Актуальный список можно посмотреть только в сорцах https://github.com/v8/v8/blob/master/src/runtime/runtime.h

Т.е. это те апи которые можно дернуть прямо из жс. Там нет совсем низкого уровня, но тоже бывает, что-то вкусное. Несколько лет назад, например там была функция позволяющая заменять тело любой (не нативной) функции в райнтайме на тело другой функции. Или, например вручную вызывать сборщик мусора или смотреть содержимое слабых коллекций (но в ноде и так прокинуты эти апи и без флагов, например).

Само собой это все для очень частных случаев, и только для тех, кто знает что делает.

Так же, кому интересно поиграться с рантаймом, можете поизучать нодовский модуль vm (это проброшенные апи для работы с контекстами) и utils (там есть прокинутые апи для более расширенной рефлексии и управления рантаймом)
Вот тут, например, видно, что сейчас прокинуты некоторые апи, для ручного конструирования тех же замыканий.
источник

d

dynamic in pro.js
Виктория
Что перестает быть? Оператор RETURN возвращает управление вызвавшему коду, всего лишь
Он ещё кладёт на стёк переданное ему значение.
источник

d

dynamic in pro.js
dynamic
Алсо, помимо того, к чему ты можешь получить доступ расширяя рантайм непосредственно на низком уровне, ещё за флагом v8 (т.е. и в браузере и в ноде) --allow-natives-syntax есть доступ к некоторым рантайм функциям движка (они начинаются со знака процента). Но, это не специфицировано, они регулярно выпиливаются и запиливаются. Актуальный список можно посмотреть только в сорцах https://github.com/v8/v8/blob/master/src/runtime/runtime.h

Т.е. это те апи которые можно дернуть прямо из жс. Там нет совсем низкого уровня, но тоже бывает, что-то вкусное. Несколько лет назад, например там была функция позволяющая заменять тело любой (не нативной) функции в райнтайме на тело другой функции. Или, например вручную вызывать сборщик мусора или смотреть содержимое слабых коллекций (но в ноде и так прокинуты эти апи и без флагов, например).

Само собой это все для очень частных случаев, и только для тех, кто знает что делает.

Так же, кому интересно поиграться с рантаймом, можете поизучать нодовский модуль vm (это проброшенные апи для работы с контекстами) и utils (там есть прокинутые апи для более расширенной рефлексии и управления рантаймом)
Анус себе дёрни, пёс.
источник

p

persona x grata in pro.js
dynamic
Алсо, помимо того, к чему ты можешь получить доступ расширяя рантайм непосредственно на низком уровне, ещё за флагом v8 (т.е. и в браузере и в ноде) --allow-natives-syntax есть доступ к некоторым рантайм функциям движка (они начинаются со знака процента). Но, это не специфицировано, они регулярно выпиливаются и запиливаются. Актуальный список можно посмотреть только в сорцах https://github.com/v8/v8/blob/master/src/runtime/runtime.h

Т.е. это те апи которые можно дернуть прямо из жс. Там нет совсем низкого уровня, но тоже бывает, что-то вкусное. Несколько лет назад, например там была функция позволяющая заменять тело любой (не нативной) функции в райнтайме на тело другой функции. Или, например вручную вызывать сборщик мусора или смотреть содержимое слабых коллекций (но в ноде и так прокинуты эти апи и без флагов, например).

Само собой это все для очень частных случаев, и только для тех, кто знает что делает.

Так же, кому интересно поиграться с рантаймом, можете поизучать нодовский модуль vm (это проброшенные апи для работы с контекстами) и utils (там есть прокинутые апи для более расширенной рефлексии и управления рантаймом)
Это интересно, пока я не знаю как применить это. Спс за инфу
источник

S

S.unity in pro.js
persona x grata
Это интересно, пока я не знаю как применить это. Спс за инфу
из этих слов я понял нихуя. ну и дернуть анус понял
источник