Browsing projects by Tag(s)

Select a tag to browse associated projects and drill deeper into the tag cloud.

Showing page 1 of 1

V8 is Google's open source JavaScript engine. V8 is written in C++ and is used in Google Chrome, the open source browser from Google. V8 implements ECMAScript as specified in ECMA-262, 3rd edition, and runs on Windows XP and Vista, Mac OS X 10.5 (Leopard), and Linux systems that use IA-32 ... [More] or ARM processors. V8 can run standalone, or can be embedded into any C++ application. [Less]

4.71429
   
  0 reviews  |  12 users  |  980,963 lines of code  |  14 current contributors  |  Analyzed 4 days ago
 
 

In short.Winxed is a language targeting parrot with a javascript-alike syntax and easy access to most parrot features: native types, modules, compilers, native call interface... The intention is to be useful for low-level parrot development and for more mundane tasks, and to make an easy path to ... [More] parrot programming by using a syntax familiar for most people. Winxed web site is http://winxed.org/ Implementation.Winxed is self-hosted. There is a stage 0 compiler written in C++ with limited features and stage 1 compiler written in Winxed. Both compilers generate PIR code, so a C++ compiler is not required to install Winxed or even modify it. Compiling to PIR the stage 1 compiler provides a compiler usable in any installed Parrot and able to compile itself. Winxed has no runtime library [Less]

5.0
 
  0 reviews  |  3 users  |  8,459 lines of code  |  2 current contributors  |  Analyzed 2 days ago
 
 

Amber VM is a virtual machine written in Ruby that allows to include scripting capabilities to ruby programs. Scripts run completely separated from the ruby code and only publish access to selected methods.

0
 
  0 reviews  |  1 user  |  11,197 lines of code  |  0 current contributors  |  Analyzed 5 months ago
 
 
Compare

PEJSPython Executed by JavaScriptThe project aims at implementing a Python VM in JavaScript, enabling Python on web pages in browsers all over the world :) For now, this is done by executing Python Byte Code Instructions as outputted by the standard CPython implementation, but the perspectives are ... [More] laid out by HotRuby, where nested Ruby code is run straight out of the HTML. This project is sort of a Python equivalence to HotRuby. School projectAt the moment, this is a school project as part of the course Design of Virtual Machines for Object Oriented Languages at DAIMI, the computer science department at University of Aarhus. The course is held by Lars Bak and his staff at Google Aarhus, the V8 team. DetailsOur aim is to implement an object-oriented subset of Python bytecode. Our approach is as follows: We've started by implementing a simple interpreter (src/interpreter.js) which simply switches over the bytecodes and implements only some very basic language constructs. The Python bytecode is actually generated by a Python program (tools/pejs.py) which outputs it in JavaScript arrays.The JavaScript file containing the bytecodes is then referenced in an HTML-file which also references our interpreter and thus the Python code is executed in the browser. For a complete Python implementation we would have to write a Python compiler as well as the virtual machine we are doing. Milestones Week Milestone Details 44 Up and running Simple interpreter operating on a stack 45 Basic constructs Implemented jumps and loops 46 Object and Memory model Decide on object representation and heap layout 47 Object and Memory model Implement classes and objects 48 Garbage collector Simple garbage collector if needed 49 Library calls Handle calls to python library somehow 50 Performance evaluation Report 51 Deadline Report We aim to finish the basic language features (variables, conditionals, loops, functions) and then design and implement classes and objects which implies designing an object and a memory model. This is the most important part of the project. After that, we would like to handle garbage collection as well as library calls. It is not yet clear how far we will get with regard to these two issues. That depends on how complex the object implementation turns out to be. Finally we document our implementation with performance evaluations where we would like to consider different JavaScript VM's for executing our own VM as well as implementation alternatives inside our VM. [Less]

0
 
  0 reviews  |  0 users  |  25,850 lines of code  |  0 current contributors  |  Analyzed 2 days ago
 
 

What is phype?Phype is not a pipe. Phype is a project formed in connection with the course Design of Virtual Machines for Object Oriented Languages at DAIMI. Phype is a Javascript-based virtual machine that will allow you to run PHP code directly in your browser with -tags. The project deadline ... [More] has now been exceeded, and the project is officially done. Work may continue, so keep posted. PhypeDocCheck the wiki for the full PhypeDoc documentation. [Less]

0
 
  0 reviews  |  0 users  |  17,675 lines of code  |  0 current contributors  |  Analyzed about 9 hours ago
 
 
Compare

This is a javascript/PHP implementation of a low level virtual machine. It has a similar syntax to Intel ASM. Wazm Standard by sirdarckcat@gmail.com Overview: The Wazm standard is the only accepted standard for the WZVM project. This document contains the correct syntax that the WZVM ... [More] accepts. It also shows the standard interruptions, but this ones can be modified depending on the implementation of the WZVM. This program is not intended to emulate Assembly language at all. This program is based on the "Simulador" problem (Mexican 1st Preselective test IOI 2006). General: We work on a VirtualMachine (WZVM), that runes not in bytes, but in wytes. The wytes can hold up to any signed number between -9999,9999 There are 10 registers, e0x,e1x,e2x,e3x,e4x,e5x,e6x,e7x,e8x,e9x You have a reserved stack memory of 10,000 wytes. The WZVM is able to hold strings, in memory using C style, if the value is bigger than 255 the asumed value is '\0'. There is another type of memory, the zyte memory, it can only store a value between 0 and 999. This memory only is accesible to the WZVM, and has a limited memory of 999 zytes. The char "" serves as multiline comentary, anything written after it will be ignored until another ">" is found. OPCODES and instructions: 000 - int 0 // ext < exit 001 - int 1 // ret < return 002 - int 2 < print string value of e1x to stdout 003 - int 3 < read string value from stdin and save it to e1x 004 - int 4 < print string value of e1x to handler e2x 005 - int 5 < read string value from handler e2x and save it to e1x 006 - int 6 < CONFIGURABLE HANDLER 1 007 - int 7 < CONFIGURABLE HANDLER 2 008 - int 8 < asks if e1x handler is still alive, and return value in e2x 009 - int 9 < close handler e1x 01N - jmp eNx < Jump to eNx. 02N - call eNx < Call eNx. 03N - push eNx < Push eNx value, to stack memory. 04N - pop eNx < Pop a wyte from the stack memory and save it to eNx. 05N - inc eNx < Increment eNx. 06N - dec eNx < Decrement eNx. 07N - clr eNx < Set eNx to 0. 08N - save eNx < Save eNx value. 09N - load eNx < Load saved value of eNx. M - mov eNx CONST < Move a number (0-9) to eNx. 2NM - sum eNx CONST < Add a number (0-9) to eNx. 3NM - mul eNx CONST < Multiply a number (0-9) to eNx. 4NM - mov eNx eMx < Copy the value of eMx to eNx. 5NM - sum eNx eMx < Add the value of eMx to eNx. 6NM - res eNx eMx < Rest the value of eMx to eNx. 7NM - mov eNx eMx < Move the value of the memory pointed to eMx to eNx. 8NM - mov eNx eMx < Move the value of eMx to the memory pointed position of eNx. 9NM - jnz eNx eMx < Jump to eMx if eNx is not zero. Considerations: If you ask for a memory position with a register having a negative number, the memory pointed will be the absolute value of it. The stack memory starts at the 0 position of memory. The e0x register has the "Zyte Memory" position identifier, it is readOnly. License: Copyright (c) 2007 sirdarckcat@gmail.com Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available at: http://www.gnu.org/licenses/fdl.html [Less]

0
 
  0 reviews  |  0 users  |  557 lines of code  |  0 current contributors  |  Analyzed 1 day ago
 
 
 
 

Creative Commons License Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.