Projects of interest:Metacompiler, Metacompiler edit, Metalanguage paper
asm-4This user is an expert assembly language programmer.
Intel® 64 and IA-32 Architectures, mc68000, Z80, 8080, Z8000, Macro-10, Macro-11, Honetwell H200 EasyCoder, IBM 1401 AutoCoder

Any with manual and instruction reference in hand. Developed compilers and assemblers for Future Data in-circuit emulator development systems.

C-4This user is an expert C programmer.
Proficient
C++-4This user is an expert C++ programmer.
proficient
pas-4This user is an expert Pascal programmer.
Wrote PASCAL compilers in PASCAL
AdaThis user can program in Ada.
Wrote an ada compiler
COBOL-4This user is an expert COBOL programmer.
Wrote a COBOL compiler
Algol
68
-4
This user has programmed in ALGOL at an expert level.
Can write and implement an ALGOL 68 compiler.
<html>This user can write HTML.
A bit rusty but could do again
{{Wiki}}This user can write in the MediaWiki language.
This page just magically appeared here. Really!

Introduction

edit

Hello. My handle is Steamerandy because of my interest in steam cars. Plain and simple.

My real name is Andrew Patterson. I have a lot of interests. Building a modern high efficiency piston steam engine is just one of them. My steam engine idea is based on recycling power thru compression to have variable power and nearly constant efficiency.

I have been programming since I first caught the bug in 1965. The only known cure for the programming bug is death. I am a retired software engineer/toolsmith. I have designed computer boards, digital and analog interfaces, Designed and implemented preemptive real time multitasking operating systems, Designed and written compilers and interpreters.

Having been into computers for ovet 50 years. I have a different view of those early years. I started attending ACM SEGPLan meetings in 1966 and have known a few of the early pioneers and talked with others. Some computer related topics here on wiki express twisted views of their origins.

For more details see About me.

How to Write a Program

edit

You start with an empty file and debug it till it works.

Schorre metalanguages

edit

Due to my interest in Schorre based metalanguages I have in my user space a page on parser programming metalanguages. I wwote SLIC(Systems of Languages for Implementing Compilers) an advanced Metacompiler developed on a DEC-SYSTOM-10 while a student and computer operator/systems programmer/TOPS-10 systems administrator at Cerritos College (1968-1974).

Personal Interests

edit

Being retired I spend time on personal projects.

cc is a compiler writing language I am developing. It is based in my previous implementation of SLIC. user:steamerandy/sandbox/metalanguage

A thermodynamic steam properties plug-in for VisSim

edit

The thermodynamic properties are calculated using the IAPWS-95 scientific formulation. The scientific formulation are a single set of function. There are no region boundaries as the industrial formulation have. VisSim is a graphical programing language. To me it is lake an old analog computer where you wire the function blocks together. Only with VisSim it is done graphically on the computer. You have all the old blocks of the hardware analog computers. And many more from the digital domain.

VisSim should be considered for entry as a programming language, It is both interpretive and a compiler. It can generate a c program from the grapgic program.

Advanced Positive Displacement Steam Engine

edit

I have had an interest in steam engines for most of my life. When I finely got into the thermodynamics of piston steam engines and learned about the Williams compression cycle engines. I decided to work on simular ideas. The idea comes from uniflow engines. But the recompression cycle is limited by the uniflow engine. I worked on analyzing compression cycles and decided that counterflow engines could have the same advantages only over a much larger power range. So my part time hobby has been developing analysis tools to that end.

SLIC

edit

Yes, I'm interested in SLIC.

I found two "Randy Steamer"s on Facebook and sent friend requests to both. I hope one of them is you.

If I can base Brisk on a CWIC lookalike that was written by somebody who never saw the CWIC source code, I'll be on much firmer ground releasing it as Open Source.

Btw, rather than writing my own storage-allocation algorithm, I propose to use C++ reference-counted pointers. Those don't work if you create circular lists, but there are no operations in CWIC/Brisk that can create a circular list. (SO not providing Rplaca, Rplacd, or Dreverse. I'm following the old adage: Rplaca in haste, repent at leisure.)