Groups | Search | Server Info | Login | Register


Groups > comp.compilers > #212

Re: Language Design

From Christophe de Dinechin <christophe.de.dinechin@gmail.com>
Newsgroups comp.compilers
Subject Re: Language Design
Date 2011-07-23 08:17 -0700
Organization Compilers Central
Message-ID <11-07-036@comp.compilers> (permalink)
References <11-07-027@comp.compilers>

Show all headers | View raw


On Jul 18, 10:16 pm, Billy Mays
<81282ed9a88799d21e77957df2d84bd6514d9...@myhashismyemail.com> wrote:
> I am trying to design a programming language for a simple processor
> (16 bit, ~10 instructions, 16 registers).  I am not sure what a
> language actually needs in order to be more useful than pure assembly,
> but is also reasonable to implement.

Bill,

Is your objective to invent a language, or have a language that works
on that simple processor? You may be interested in XL (http://
xlr.sf.net). The XL2 portion of it is very easy to retarget, and it is
a high level language which you can then tweak to explore various
language or CPU design ideas.

Basically, say you want to add a 16-bit unsigned type and the
associated multiply-add, where the assembly syntax is "fma16 target =
src1, src2, src3", all you need to do is:

- Modify xl2/native/library/runtime/C/xl_builtins.xs with the required
language declarations:

    type uint16 is XL.BYTECODE.uint16
    function FusedMultiplyAdd(X, Y, Z: uint16) return uint16 written
X*Y+Z is XL.BYTECODE.fma_uint16

- Add the corresponding target syntax in the bytecode file

    fma_uint16      "fma16 $1 = $2, $3"


If that approach works for you, you can create your own "runtime" by
replicating the "C" directory (which targets standard C compilers) and
creating a directory for your target, say "myproc". Then, you run the
compiler with "nxl -r myproc foo.xl" and it will compile using this
runtime.


Hope this helps
Christophe

Back to comp.compilers | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Language Design Billy Mays <81282ed9a88799d21e77957df2d84bd6514d9af6@myhashismyemail.com> - 2011-07-18 16:16 -0400
  Re: Language Design Roberto Waltman <usenet@rwaltman.com> - 2011-07-18 18:10 -0400
  Re: Language Design Srinivas Nayak <sinu.nayak2001@gmail.com> - 2011-07-18 22:54 -0700
  Re: Language Design anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2011-07-19 13:12 +0000
  Re: Language Design Andreas Zwinkau <zwinkau@kit.edu> - 2011-07-20 13:26 +0200
  Re: Language Design mac <acolvin@efunct.com> - 2011-07-23 01:11 +0000
  Re: Language Design Christophe de Dinechin <christophe.de.dinechin@gmail.com> - 2011-07-23 08:17 -0700
  Re: Language Design Oleg Sesov <osesov@gmail.com> - 2011-07-23 14:58 -0700
  Re: Language Design Gene <gene.ressler@gmail.com> - 2011-07-26 10:28 -0700
    Re: Language Design Roberto Waltman <usenet@rwaltman.com> - 2011-07-28 13:22 -0400
    Re: Language Design torbenm@diku.dk (Torben Ægidius Mogensen) - 2011-08-08 16:11 +0200
  Re: Language Design tm <thomas.mertes@gmx.at> - 2011-07-27 08:11 -0700
  Re: Language Design "s_dubrovich@yahoo.com" <s_dubrovich@yahoo.com> - 2011-08-04 18:43 -0700
  Re: Language Design for a tiny processor "BartC" <bc@freeuk.com> - 2011-08-08 22:54 +0100

csiph-web