About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
See full specifications

linux default iconYML Publisher's description

Modelling approaches like Microsoft Oslo or Eclipse Modeling Framework are trying to reach the situation, that a programmer can define what he wants to have, and not only how to implement it technically.

Modelling approaches like Microsoft Oslo or Eclipse Modeling Framework are trying to reach the situation, that a programmer can define what he wants to have, and not only how to implement it technically.

Both projects are doing this in a complex way. With the CodeGen project, I'm trying to provide a generation framework plain and simple.

Because one of the problems to solve is a possibility to quickly define Domain Specific Languages and to work with them, I created YML. YML is very easy to use - but it does not do the complete job itself. As a matter of fact, I'm leveraging most of the features from the XML toolchain.

XML has the possibilities to do the job of creating Domain Specific Languages already; so my approach is to make these features fit in a concept for Declarative Programming and Code Generation.
XML - a language to design languages already there

Any time a formal language is created for computing, a compromise has to be found: whether the language is perfect for the computer but terrible for the human or vice versa. XML is very good for the computer ;-)

Using XML for the reasons mentioned above, but for programming? "Why a Markup Language?!" was what I was shouting some time playing around with a code generator in XSLT. That gave the idea.

Many people don't write XSLT directly, because they don't like writing programs in angle brackets. The result usually is, that people are writing Java programs, and are processing XML from Java, or are using XSLT features from Java programs.

But that is very inefficient - there are small and quick XSLT processors, and there are no advantages at all to implement that in Java or C++ usually.

So I wanted to have something like a Java or C like language, which can be easily translated into XSLT. Then a common XSLT processor can process the program, and XML can be processed very quickly (see also the YSLT sample program).

I started this, because I saw, that code generation for Automated Software Engineering can be implemented very easily in XSLT - but writing XSLT is annoying.
How it works: Replacing angle brackets with some Python

Just writing down what I wanted to have instead of XML for a sample:

<list name="List of goods">

Something like that should be more easy, say, like this:

list "List of goods" {
head {
title > Goods
title > Price
row {
value > Beer
value > 20
row {
value > Wine
value > 30

Y Languages

The latter is what I call an Y language - a language specified in YML. How could this be achieved? Well, what's to do? To have the required information, how to build XML from the script above, we need:

* the information, that "list of goods" is an attribute named "name", while "Goods" is the text value of a tag
* "title" shout be written out as "columnTitle"

How to do that? Let's invent a simple definition language for that information:

decl list(name);
decl title alias columnTitle;

What's New in This Release:

- A few regressions from the last release have been fixed.
- Interoperability with calendar clients has been improved.
- Other minor bugfixes and improvements have been made.

System Requirements:

No special requirements.
Program Release Status:
Program Install Support: Install and Uninstall

YML Tags:

Click on a tag to find related softwares

Is YML your software?

Manage your software

Most Popular

linux default icon GDB 7.4
GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it... Read more
linux default icon Coral 0.9.1
Coral is a tool and a development platform to create and transform models and modeling languages.
linux default icon Forum Paid Plus Script 6.1
Forum Paid Pay Per Post Exchange is targeted at forum owners who wish to...
linux default icon sdo 0.6.5
Converts oracle SDO_GEOMETRY objects to WKT and GeoJSON.
linux default icon Get Paid Plus Script 6.1
Get Paid Plus Script

Related Category

» Other (877)
» Tools & Editors (359)
» Web Development (146)