Skip to content
This repository has been archived by the owner. It is now read-only.
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
v2
 
 
vm
 
 
 
 
 
 
 
 

README.md

v2

what

It's a JavaScript engine. Because the world doesn't have enough of those already. More seriously, it was written as a research project, and is no longer actively maintained.

This one is written entirely in Go, currently as two packages - a parser, and a VM. The VM generates bytecode, and then executes it, rather than operating on the AST directly.

why?

I felt like learning more about what's involved in JavaScript. I work with the details of JavaScript a lot already on QML's JavaScript engine, v4, but since I didn't write most of that, I didn't get the chance to learn about it from the ground up. v2 is my attempt at learning some of those things, and having some fun along the way.

The name (v2) was chosen because I'm unimaginative. There's v8, there's v4. And since I'm writing something that is much less capable than either of them, that only leaves me with a limited set of smaller numbers. :)

status

This thing can run some limited amounts of code, but it will die if you look at it wrong. There's a complete shortage of error handling, and generally many things are not yet implemented {fully,properly,at all}.

A (very incomplete) list of missing things:

  • exceptions
  • arrays
  • most built-in objects
  • spec compliance
  • implicit semicolon handling at parse time
  • regular expressions

You are welcome to fork v2, and do whatever you want with it - further updates will likely not be coming to the original codebase.

About

a javascript engine. like v8, but much more stupid.

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.