Welcome Guest!
 Open Euphoria
 Previous Message All Messages Next Message 
C help needed  Mike
 Feb 09, 2005 17:35 PST 


I have been slowly working on a Euphoria-to-C translator project for
some time now. Since RDS (kind of) released source of a Euphoria
interpreter activity on this list seems to have died. If there is anyone
interested in helping with this project could they please email me
privately. Basically I need the help of a C programmer.

The catch is this: I claim most of the right to determine the direction
the new language goes. The design-by-committee style of OE made the
language specs too complicated for me which is why I stopped slavishly
following it. The good news is that I may be more willing (than Rob) to
consider good suggestions that are within my programming limitations.

The language I have in mind is similar to Euphoria except for:

Forward references. These are allowed but only for routines within a
source file. However, any exported symbols are visible to an includer no
matter what order the files are parsed, eg:

-- file a
include file b

-- file b
include file a

In this example file a can access all the exported symbols of file b -
right from the start of the file.
File b has reciprocal access.

Dynamic Includes. The parser is already capable of this. The statement
must be in a top-level 'if' block evaluable 1st pass, eg:

if PLATFORM = WIN32 then
include win32lib.ew
else
include dos32.e
end if

Code output. Only C code. It can be compiled or run directly with a
C-interpreter.

For loop persistence. If the for-loop host variable is predeclared then
the value will persist
outside the loop. eg:

integer a
for a = 1 to 10 do
end for

-- a = 10

Of course, attempting to write to 'a' inside the loop will flag an error
by the parser.

Comparison operator. If x = "anything" then -- all ok

Integers. Full 32 bits. Type info is carried by an accompanying tag
field.

Types. About 6 builtin ones and the ability to define external
structures that can be treated just like a normal type.

type(). Nope.

Classes. Nope, but will have structures.

Macros. Nope.

Assert. Yes.

Assignment on declaration. Allowed.

Constants. Auto incrementing already implemented in parser. The catch is
that the leading full expression must be evaluable on pass 1, eg:
constant a = 1, b, c -- b=2 c=3

Scopes. In ascending order of range: private, local, external, global.

Dot notation. For structure & sequence access

Mike
	
 Previous Message All Messages Next Message 
  Check It Out!

  Topica Channels
 Best of Topica
 Art & Design
 Books, Movies & TV
 Developers
 Food & Drink
 Health & Fitness
 Internet
 Music
 News & Information
 Personal Finance
 Personal Technology
 Small Business
 Software
 Sports
 Travel & Leisure
 Women & Family

  Start Your Own List!
Email lists are great for debating issues or publishing your views.
Start a List Today!

© 2001 Topica Inc. TFMB
Concerned about privacy? Topica is TrustE certified.
See our Privacy Policy.