Skip to content

dgrunwald/arden2bytecode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Releases

No releases published

Packages

 
 
 

Languages