-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
25 lines (21 loc) · 1.18 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
This repository contains an implementation of the EH programming language. I
created EH mostly for my own education, but also use it as a command language in
some of my other projects (e.g., the control system for my electronic library of
biological articles).
EH is an imperative, object-oriented, dynamic, interpreted language. All values
are objects, and many operations are done through method calls. Functions and
classes are first-class values. Virtually all symbols (including functions,
classes, and other variables) are in the same global namespace, but classes
provide an easy way to namespace user-defined symbols.
The EH interpreter can be built as a standalone executable (ehi) or as a PHP
extension (ehphp); run 'make' in the ehi directory to build both. I have also
done some work on creating a compiler to x86 assembly for Mac OS X, but this
compiler is no longer functional.
I wrote the interpreter on a Mac OS X system and have run it on Fedora and
Ubuntu Linux VMs. It should be possible to run it on other Unix systems, but I
haven't tried it and things may break in subtle ways.
Dependencies:
- Flex
- Bison
- A C++ compiler (I've used g++ and clang++)
- For the ehphp portion: SWIG, PHP