XMLScheme
Goals and Design Rational
We use XML to define data:
Numbers, Strings, Records, List, and even Expressions or whole Programs can be considered as data.
Has XML been used to define a programming language before?
Yes:
e
X
tensible
S
tylesheet
L
anguages:
T
ransformations (XSLT)
Our goal:
XMLScheme
XMLScheme is an XML-based programming language, whose semantics is given in Scheme.
XMLScheme uses a strict order of tags to facilitate parsing.
The evolution of XMLScheme
Common Definitions:
utils.scm: Auxiliary functions
readfile.scm: File reader functions
Stages:
First Interpreter:
xmlscheme-01.scm: Simple Calculator Language
environment.scm: Record-based Environment
If-Then-Else:
xmlscheme-02.scm: Language with Conditionals
Let:
xmlscheme-03.scm: Language with Declarations
Procedures and Procedure Calls:
xmlscheme-04.scm: Simple Functional Language
closure.scm: Closures
xmlscheme-04a.scm: Simple Functional Language with
Dynamic Scoping
closurea.scm: Closures with Dynamic Scoping
Hyper References:
xmlscheme-05.scm: Language with an
Import
facility
Recursive Function Definitions:
xmlscheme-06.scm: Language with mutual recursive functions
closureb.scm: Recursive Closures
Expression Sequences:
xmlscheme-07.scm: Language with
Commands
More Operators:
xmlscheme-08.scm: Language with
Relational Operators
Loops:
xmlscheme-09.scm: Language with
For Loops
Assignment:
xmlscheme-10.scm: A first
Imperative
Language
ref-environment.scm: A real memory
Call-By-Value and Call-By-Reference:
xmlscheme-11.scm: Language with different
Parameter Passing Modes
closurec.scm: Call-By-Reference Closures
targets.scm: Reference Modes
Classes, Objects, and Method calls:
xmlscheme-12.scm: Simple Object-Oriented Language
closured.scm: Class Closures
targetsb.scm: Object Values
Embedding Scheme:
xmlscheme-13.scm: A foreign code concept
Sample Programs
XMLScheme Sample Directory
(When downloading these files please remove the '.txt' extension.)
Last modified: 2006-02-11 —
Markus Lumpe