GithubHelp home page GithubHelp logo

doytsujin / eulex Goto Github PK

View Code? Open in Web Editor NEW

This project forked from davazp/eulex

1.0 0.0 0.0 289 KB

A straightforward standalone Forth implementation for x86.

Home Page: http://davazp.net/2012/12/08/eulex-forth-implementation.html

License: GNU General Public License v3.0

Makefile 0.82% Forth 80.96% Assembly 15.54% Shell 0.77% Common Lisp 0.61% C 1.28% GDB 0.02%

eulex's Introduction

Eulex
=====

  Eulex is a straightforward Forth implementation for i386 machines.

  It includes almost as much Forth as I know, as well as a barebone
environment with the keyboard, terminal, timer and speaker support,
necessary to provide some common Forth words. Indeed, it provides a
convenient line editing emacs-like keybindings and completion.

  As always, a lot of features are missing. If you want to have some
fun, consider to write some of them!


History
-------

  Originally, this project came up in 2009. A fellow and I started to
write an operating system. We were looking for a low level and easy to
implement language, which was fun and allowed to hack the language
itself, in order to incorporate it to that system, which we named
Eulex. I discovered Forth, and I figured out that it was a good
choice, as we wanted to recreate an old system. I set about writing an
implementation for the specification Forth79 in assembler, initially
on GNU/Linux and using the C library since it was a convenient way to
work, meanwhile my fellow implemented a simple C kernel for Eulex that
would house Forth. This implementation was never incorporated,
however.

  Two years later, without other idea which in I could work, I took a
primitive version of the C kernel of Eulex, and I used it as a thin
compatibility layer to run the Forth implementation on the metal. Then,
I made up my mind to write the whole system in Forth. So, Forth was
ported to 32 bits and pieces of C code were rewritten in Forth.
The C layer was an useful scaffolding, as it allowed not only to use
modern tools for debugging, but build the system in the right order.
Eventually, Forth replaced C and I could move the scaffolding away,
removing the whole C code.  As outcome of that, I share this barebone
Forth system with you, with the hope that someone will have so much
fun as I have had.

Happy Hacking

DVP

eulex's People

Contributors

baconwaifu avatar davazp avatar rain-1 avatar siwells avatar

Stargazers

 avatar

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.