Home > Archive > Unix Programming > October 2007 > ANN: Seed7 Release 2007-10-10
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
ANN: Seed7 Release 2007-10-10
|
|
|
|
| terrence.x.13 2007-10-16, 7:12 pm |
| On Oct 10, 5:27 pm, thomas.mer...@gmx.at wrote:
> In the Seed7 programming language new statements and operators
> can be declared easily.
Thomas, I noticed this new extensible language
http://groups.google.com/group/comp...247c2e462a58842
(QUOTE)The Felix language allows the end user to define their own
grammar,
in particular to add whole 'Domain Specific Sub Languages' to
the system, as a combination of libraries and syntax extensions.
This is implemented with two Ocaml libraries: Dypgen, an extensible
GLR
parser takes care of the parsing, whilst the user actions are written
using a tool-chain that starts with Scheme code to calculate AST nodes
as
Scheme values (S-expressions): Felix is using OCS Scheme, which is an
R5RS
compliant embedded Scheme implementation written in Ocaml
(/QUOTE)
it's at http://Felix.SF.Net
just a heads up, Cheers,
Terrence
| |
| thomas.mertes@gmx.at 2007-10-17, 7:09 pm |
| On 16 Okt., 21:33, "terrence.x.13" <terrence.x.bran...@jpmchase.com>
wrote:
> On Oct 10, 5:27 pm, thomas.mer...@gmx.at wrote:
>
>
> Thomas, I noticed this new extensible languagehttp://groups.google.com/group/comp.lang.scheme/browse_thread/thread/...
Thank you for the information.
>From my short investigation:
Felix claims that it is an Algol like procedural programming
language. The extension example of the mail uses Scheme
values (S-expressions) for the syntax and semantic description.
For me this sounds more like:
The end users can define their own grammar by changing the compiler.
In contrast to that:
Seed7 uses Seed7 to describe syntactical and semantical extensions.
In Seed7 it is not necessary to change the interpreter or
compiler, when you add new statements and operators.
An example how a statement is defined in Seed7 is:
$ syntax expr: .for.().range.().to.().do.().end.for is -> 25;
const proc: for (inout baseType: variable) range (in arrayType:
arr_obj) do
(in proc: statements)
end for is func
local
var integer: number is 0;
begin
for number range 1 to length(arr_obj) do
variable := arr_obj[number];
statements;
end for;
end func;
This example can be found at
http://seed7.sourceforge.net/examples/declstat.htm
As you can see: It is not necessary to use a different
language to define a new statement.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch.
|
|
|
|
|