Giter Site home page Giter Site logo

arden2bytecode's Introduction

Copyright 2009-2010, Daniel Grunwald
Portions (arden.scc) Copyright 2004, University of British Columbia
See LICENSE.txt for licensing information.


To compile the compiler, you first need to generate the parser using
the SableCC parser generator.
To do this, run
"java -classpath ../tools/sablecc.jar org.sablecc.sablecc.SableCC arden.scc"
in the arden2bytecode/src directory.
This will create the directories "analysis","lexer","node","parser" within
arden2bytecode/src/arden.

When the input grammar is changed, you will need to re-generate the parser.
Before regenerating the parser, you should delete the old "analysis","lexer",
"node","parser" directories to ensure there aren't any old files left behind. 


To configure SableCC as external tool in Eclipse:
	1. Create an external tool configuration:
		Location: javaw.exe (from your Java runtime)
		Working directory: ${container_loc}
		Arguments: -classpath ${project_loc}\tools\sablecc.jar org.sablecc.sablecc.SableCC ${resource_name}
	2. Select the file "arden.scc" and run SableCC.
	3. Right-click "src" and press Refresh so that Eclipse loads the generated files.


I believe this compiler fully implements Arden Syntax 2.5 with the following exceptions:

Languages features not implemented:
	From Arden Syntax 2.1 specification:
	  10.2.4.6 Event Call
	  11.2.2 Event Statement
	  13 Evoke Slot
	From Arden Syntax 2.5 specification:
	  11.2.5.2 Message As statement 
      11.2.5.6 Destination As statement
      A6.2 "Time of" always returns null for objects. (correct would be: if all attributes of an object share a common primary time, the time of operator will return that time when applied to the object) 
	Timezones for ArdenTime values.
	Some string formatting specificiers are not implemented.
	There is no way to use Arden variables within mapping clauses.
	Citation/links slots are not syntax checked.
	The compiler does not check that no languages features newer than the specified 'Arden Version' are used.

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.