https://github.com/arnauld/steam
The next-gen smoky and experimental language
https://github.com/arnauld/steam
Last synced: over 1 year ago
JSON representation
The next-gen smoky and experimental language
- Host: GitHub
- URL: https://github.com/arnauld/steam
- Owner: Arnauld
- Created: 2011-04-16T08:49:12.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2011-05-01T09:38:12.000Z (about 15 years ago)
- Last Synced: 2025-01-10T18:55:24.938Z (over 1 year ago)
- Language: Java
- Homepage:
- Size: 145 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
README
Steam: the Next-Gen smoky and experimental Language
===================================================
Sample SBT project that process an Antlr grammar, generates the corresponding lexer and parser
and add generated java folder to the source folder list.
Resources
===================================================
* [ANTLR](http://www.antlr.org)
* [GIT branching model](http://nvie.com/posts/a-successful-git-branching-model/)
* [Test driven development with ANTLR](http://www.antlr.org/wiki/display/ANTLR3/Test-Driven+Development+with+ANTLR)
History
===================================================
The language diary
## Day one (tag 'day-one')
* Project setup
* Simplify starting grammar
* Add simple specs test
* tag the day one code
git tag -a day-one -m "End of Day One"
## Day two (tag 'day-two')
* Add qualified identifier
qualifiedIdentifier returns [QualifiedIdentifier result]
@init { List path = new ArrayList (); } :
id=Identifier { path.add(id.getText()); } (':' id=Identifier { path.add(id.getText()); })*
{
log.debug("qualifiedIdentifier from "+path);
result = new QualifiedIdentifier(path.toArray(new String[path.size()]));
};
* Modify grammar, 'require' now takes a qualified identifier
* Fix tests according to this new behavior
* Add logger to the parser:
@parser::members {
org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(getClass());
}
* Push created tags in the remote repository (github)
git push --tags