Archive

Archive for the ‘OWL BASIC’ Category

A Hindley-Milner type inference implementation in Python

April 11th, 2010 5 comments

A Python implementation of a Hindley-Milner type inferencing algorithm for a small functional language.

Control Flow Graph Linearisation in OWL BASIC

February 14th, 2010 No comments

Tweet To compile the code comprising an OWL BASIC procedure, function or main program into CIL, we must linearise the Control Flow Graph (CFG) representing the program statements. The CFG undergoes many transformations during compilation, for example to eliminate unreachable code or convert GOSUB routines into named procedures. Generation of CIL using Reflection.Emit requires that […]

Categories: .NET, computing, OWL BASIC Tags: ,

OWL BASIC produces its first executable

August 4th, 2009 7 comments

Tweet After a long haul, and diversions into other more important projects — including starting a family — OWL BASIC today produced its first executable. Its not much. In fact its hardly anything. Just 2048 bytes of Windows PE executable containing the global variable declarations from Acornsoft’s 1982 Sphinx Adventure. Each file of BASIC source […]

Categories: .NET, computing, IronPython, OWL BASIC, Python Tags:

Dismal performance with IronPython

May 17th, 2009 2 comments

IronPython can be slow – 10x to 100x slower than CPython on real-world code and it has been observed to be up to 6000x slower.

OWL BASIC runtime library takes shape

February 11th, 2009 3 comments

Tweet For a useful re-implementation of BBC BASIC, especially in compiled form, a run-time system is needed to provide services to the running program which cannot be directly provided by the operating system. In the case of our OWL BASIC implementation, we are targeting .NET so we already have a very sophisticated run-time in the […]

OWL BASIC Control Flow Graph

November 23rd, 2008 1 comment

Tweet Since BBC BASIC does not use C-like nested scopes marked by braces to delineate loops and other blocks, the structure of such blocks is not captured in the Abstract Syntax Tree (AST); that is to say that the statements within a loop will not be child nodes of the opening loop statement such as […]

Categories: .NET, 8 bit, computing, OWL BASIC, software Tags: