[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New Project



Hello,

We want to try and create a web based scripting language similiar to the
commercial one we are currently using which is becoming extinct.  The
language we want to emulate is called SMX (created by Internet Factory
http://www.ifact.com ; a full macro listing is available at
http://www.peacekeeper.com:90 select macro reference) and is patterned
after LISP.  There are currently four people involved/aware of the
project:

Noah: SMX, learning java (esp servlets), read entire SableCC thesis
Eli: Delphi, learning java, trying to create a basic grammer by brute
force (stuck on EOF)
Kim: C++, ISAPI, little java, SMX, compiler experience, has not looked
at thesis yet
Don: SMX, learning perl

The current idea page for the project is http://www.peacekeeper.com/smxc

A sample of the language is as follows:

%abs(a) absolute value; returns abs of a
%if(cond,truecase,falsecase) if statement; if cond = T then truecase
else falscase
%equ(a,b) numeric equals; returns T or %null%
%null% null
%equal(a,b) alphanumeric equals case insensitive; returns T or %null%
%xequal(a,b) alphanumeric equals case sensitive; returns T or %null%
%add(a,b) addition; adds a + b ; optionally can allow infinite arguments
%add(a,b,c,d,e,etc)

A sample snippet is as follows:

%if(%equal(the,THE),%abs(-4),%add(4,5)) would evaluate to -4
%if(%xequal(the,THE),%abs(-4),%add(4,5)) would evaluate to 9

Macros (as they are called) can be included indefinitely. For example:
%equ(1,%equ(1,%equ(1,%equ(1,1)))) would return T.

Kim has mentioned that SMX is a LL(1) language.  I noticed in reading
the thesis that SableCC does not currently do LL(1) (at least at the
time of the thesis).

I guess my questions are:

Can SableCC handle the grammer/syntax/parsing as it (SableCC) now
stands?

If it can, would anyone be interested in either helping with the project
or providing us a jump start in the way of an initial grammer layout?

If it can't, what is the possibility of modifing SableCC to support
LL(1) (or whatever you deem this language to be)?


Thanks!
-Noah



-- 
***********************************************************
Noah Mapstead  -  noah@peacekeeper.com        

Chief Technology Officer                   
Peacekeeper Enterprises http://www.peacekeeper.com

http://www.SiteMagic.Net
The source for SMX programming tips and tricks
Home of SMX Manager - RAD Tool for SMX Programming


New Tag Line Coming Soon! Its Vapor Tag!