All Projects → paulbartrum → Jurassic

paulbartrum / Jurassic

Licence: mit
A .NET library to parse and execute JavaScript code.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Jurassic

Lfortran
Official mirror of https://gitlab.com/lfortran/lfortran. Please submit pull requests (PR) there. Any PR sent here will be closed automatically.
Stars: ✭ 220 (-62.71%)
Mutual labels:  compiler, library
Tiramisu
A polyhedral compiler for expressing fast and portable data parallel algorithms
Stars: ✭ 685 (+16.1%)
Mutual labels:  compiler, library
Compiler
The Hoa\Compiler library.
Stars: ✭ 458 (-22.37%)
Mutual labels:  compiler, library
Phplrt
PHP Language Recognition Tool
Stars: ✭ 127 (-78.47%)
Mutual labels:  compiler, library
Flow9
Platform for safe, easy and productive programming of complex, multi-platform apps with a modern user interface
Stars: ✭ 520 (-11.86%)
Mutual labels:  compiler, library
Freerdp
FreeRDP is a free remote desktop protocol library and clients
Stars: ✭ 5,858 (+892.88%)
Mutual labels:  library
Xspear
Powerfull XSS Scanning and Parameter analysis tool&gem
Stars: ✭ 583 (-1.19%)
Mutual labels:  library
Webassemblyjs
Toolchain for WebAssembly
Stars: ✭ 566 (-4.07%)
Mutual labels:  compiler
Shadowlayout
This library allows you to create a shadow effect for your layout based on your child.
Stars: ✭ 553 (-6.27%)
Mutual labels:  library
Modernish
Modernish is a library for writing robust, portable, readable, and powerful programs for POSIX-based shells and utilities.
Stars: ✭ 586 (-0.68%)
Mutual labels:  library
Packem
📦⚡ A precompiled JavaScript module bundler
Stars: ✭ 586 (-0.68%)
Mutual labels:  compiler
Lacc
A simple, self-hosting C compiler
Stars: ✭ 580 (-1.69%)
Mutual labels:  compiler
Wunderbar
Simple horizontal bar chart printer for your terminal
Stars: ✭ 572 (-3.05%)
Mutual labels:  library
Ccl
Clozure Common Lisp
Stars: ✭ 584 (-1.02%)
Mutual labels:  compiler
Dcc
DCC (Dex-to-C Compiler) is method-based aot compiler that can translate DEX code to C code.
Stars: ✭ 568 (-3.73%)
Mutual labels:  compiler
Navigation Toolbar
Navigation toolbar is a slide-modeled UI navigation controller made by @Ramotion
Stars: ✭ 587 (-0.51%)
Mutual labels:  library
Tsmessages
💌 Easy to use and customizable messages/notifications for iOS à la Tweetbot
Stars: ✭ 4,927 (+735.08%)
Mutual labels:  library
Pl Compiler Resource
程序语言与编译技术相关资料(持续更新中)
Stars: ✭ 578 (-2.03%)
Mutual labels:  compiler
Sdkhotfix
在用户规模千万级别的app中验证过,稳定无兼容问题,5分钟让你的SDK拥有热修复能力。A SDK hotfix library with stable verified in tens of millions of users can be accessed in only five minutes.
Stars: ✭ 585 (-0.85%)
Mutual labels:  library
Djangae
The best way to run Django on Google Cloud. This project is now on GitLab: https://gitlab.com/potato-oss/djangae/djangae
Stars: ✭ 576 (-2.37%)
Mutual labels:  library

Jurassic

Build status

What is Jurassic?

Jurassic is an implementation of the ECMAScript language and runtime. It aims to provide the best performing and most standards-compliant implementation of JavaScript for .NET. Jurassic is not intended for end-users; instead it is intended to be integrated into .NET programs. If you are the author of a .NET program, you can use Jurassic to compile and execute JavaScript code.

Features

  • Supports all ECMAScript 3 and ECMAScript 5 functionality, including ES5 strict mode
  • Well tested - passes over five thousand unit tests (with over thirty thousand asserts)
  • Simple yet powerful API
  • Compiles JavaScript into .NET bytecode (CIL); not an interpreter
  • Deployed as a single .NET assembly (no native code)
  • Basic support for integrated debugging within Visual Studio
  • Uses light-weight code generation, so generated code is fully garbage collected
  • Tested on .NET 3.5, .NET 4 and Silverlight

How do I get it?

Install the NuGet package.

Usage

See the wiki for full usage details.

ECMAScript 6 status

Support for ECMAScript 6 is in progress. See http://kangax.github.io/compat-table/es6/ for the definition of each feature. The table below is correct as of version 3.1.

Feature Status
Optimisation
  proper tail calls (tail call optimisation)
Syntax
  default function parameters 4/7
  rest parameters
  spread syntax for iterable objects
  object literal extensions ✅ 6/6
  for..of loops 6/9
  octal and binary literals ✅ 4/4
  template literals 6/7
  RegExp "y" and "u" flags
  destructuring, declarations
  destructuring, assignment
  destructuring, parameters
  Unicode code point escapes ✅ 4/4
  new.target ✅ 2/2
Bindings
  const ✅ 18/18
  let 14/16
  block-level function declaration[18]
Functions
  arrow functions
  class ✅ 24/24
  super ✅ 8/8
  generators
Built-ins
  typed arrays 45/46
  Map 18/19
  Set 18/19
  WeakMap 11/12
  WeakSet 10/11
  Proxy [25]
  Reflect [26] 18/20
  Promise 4/8
  Symbol ✅ 12/12
  well-known symbols[27] 23/26
Built-in extensions
  Object static methods ✅ 4/4
  function "name" property 10/17
  String static methods ✅ 2/2
  String.prototype methods ✅ 10/10
  RegExp.prototype properties ✅ 6/6
  Array static methods 8/11
  Array.prototype methods ✅ 10/10
  Number properties ✅ 9/9
  Math methods ✅ 17/17
  Date.prototype[Symbol.toPrimitive] ✅ 1/1
Subclassing
  Array is subclassable 9/11
  RegExp is subclassable ✅ 4/4
  Function is subclassable 4/6
  Promise is subclassable
  miscellaneous subclassables
Misc
  prototype of bound functions 1/5
  Proxy, internal 'get' calls
  Proxy, internal 'set' calls
  Proxy, internal 'defineProperty' calls
  Proxy, internal 'deleteProperty' calls
  Proxy, internal 'getOwnPropertyDescriptor' calls
  Proxy, internal 'ownKeys' calls
  Object static methods accept primitives ✅ 10/10
  own property order 5/7
  Updated identifier syntax 1/3
  miscellaneous 8/9
Annex b
  non-strict function semantics[35] 2/3
  __proto__ in object literals [36]
  Object.prototype.__proto__ 1/6
  String.prototype HTML methods ✅ 3/3
  RegExp.prototype.compile 1/2
  RegExp syntax extensions 4/8
  HTML-style comments
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].