Well. This language seems to be senseless. It looks like all those parenthesis are there to make language look like Lisp. Well, I'd grade Lispness of this code as totaly non-Lisp like. Far more interesting would be atempt to create C-looking functional language that could look like that:<p><pre><code> define( fact, ( n ), function(
cond( ( n = 0 || n = 1, 1 )
( n > 1, n * fact(n-1) )
)
)
print( fact( 5 ) )
</code></pre>
I think I'd try to program in language like that. Lisp way of thinking, but parenthesis are bit more helpful and there are "normaly" used operators which makes language bit more readable.
Your project looks like another purely academic example. I think purely academic examples sucks because don't teach people to do what is actualy needed.<p>I didn't read your code carefully, but "endles" elsif chains looks terrible and I think there shouldn't be stuff like that in tutorial project. Moreover I believe java isn't good tool for that purpouse( another nobody seems to teach ). I'd use flex and bison or perl if you realy want to implement lexical analisis yourself..