Closed sulyi closed 2 years ago
I still have the codebase of ytdl-org/youtube-dl#11272, but I'm happy to start from scratch. I'm very excited by the prospect of collaboration @fstirlitz has shown.
Originally I started to implement Standard ECMA 5.1. Lexer uses regular expressions and have a close to complete grammar. A missing feature is handling white characters. Parser is able to generate AST, but missing features like hoisting, semicolon insertion. Interpreter is already able to execute several expressions including unary, binary, bit-wise and logical operators. Missing i.g. method call, built-ins, conditional and loop statements, just that I'm able to recall.
I've already got overwhelmed once. I'm looking for help, someone who can and willing to work on this.
I might be interested in this. I have made an interpreter for a different language before.
DOA
What about https://duktape.org
phantomjs-bin Total size : 64.9 MiB duktape Total size : 1.5 MiB
duktap
is written in C and published under MIT license, but it's maintained.
Making a python wrapper for it could work.
It doesn't have DOM though? I think iqiyi requires DOM as well as interpreter to work
plus the only other usage of PhantomJS is to bypass PornHub's browser verification, so we'd need to implement browser APIs anyways
Don't keep closing and reopening this. I originally marked https://github.com/yt-dlp/yt-dlp/issues/1354 as a dup of this, but now that is the main thread because you closed this!
Checklist
Description
Implementing a JavaScript interpreter based on ECMA-262, 12th edition, ECMAScript® 2021 Language Specification.