Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
45 lines (35 sloc) 1.94 KB
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
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: Event Call
11.2.2 Event Statement
13 Evoke Slot
From Arden Syntax 2.5 specification: Message As statement 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.