Code Monkey home page Code Monkey logo

jsi's Introduction

JSI

JSI is a JavaScript Interpreter written in Rust.

test262 passed

test262 total


Usage

use jsi::JSI;

let mut jsi = JSI::new();
let result = jsi.run(String::from("\
  let a = [];
  let i = 0;
  outer:
  while(i < 3) {
    i ++;
    let j = 0;
    while(j < 5) {
      j ++;
      if (j == 1 && i == 1) {
        continue outer
      }
      if (j == 4) break
      if (j == 3 && i == 2) {
        break outer
      }
      a.push(i * j);
    }
  }
  a.join(':')")
).unwrap();
assert_eq!(result , Value::String(String::from("2:4")));

Development

  • git submodule git submodule update --init --recursive
  • test262 RUST_MIN_STACK=8388608 cargo test --package jsi --test test262_test -- test_all_262 --exact --nocapture

Refs


by echosoar

jsi's People

Contributors

echosoar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

jsi's Issues

Todo Feature

  • Base(String/Number/Boolean/Object/Array/Function/Error) Object
    • string.pro.charAt
    • string.pro.charCodeAt
  • new Object
  • arrow function
  • new function
  • this
  • instanceof
  • deconstructed assignment
  • try-catch
    • finally
  • typeof
  • throw error / global error
  • eval
  • class
  • This
  • float
  • Numeric separators [ES2021]
  • TC39 test262
  • promise
  • Iterators / for -in/for-of
  • more global Object
    • Regexp
    • Symbol
    • Bigint
    • Map
    • Set
    • Math
    • Date
    • JSON
  • microtask queue for timer and promise

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.