Navigation Menu

Skip to content

turbomaze/raptor-lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raptor Lang

An experimental, interpreted programming language implemented in JavaScript.

Originally made for use in the Velociraptor Escape part of the HackMIT 2016 puzzle.

Usage

Raptor is on npm. Use it as follows:

// 'std' indicates which built-in library to use
var raptor = require('raptor-lang')('std');

// required Raptor source code
var program = `
logYear {
  foo = 200
  log -> 10*foo + 16
}
logYear
return 1618
`;

// optional limits on the code complexity / compute time
var limits = {code: 100, compute: 1000};

// optional way to accumulate execution statistics
var stats = {};

// side effects:
// * console.log's 2016
// * stats = {astSize: 18, statement: 5, time: 2, ...}
// * result = 1618
var result = raptor.interpret(program, limits, stats);

Syntax

[WIP]

License

MIT License: http://igliu.mit-license.org/

About

An experimental functional language implemented in javascript.

Resources

Stars

Watchers

Forks

Packages

No packages published