Skip to content

Arnauld/Steam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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<String> path = new ArrayList<String> (); } :
        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
    

About

The next-gen smoky and experimental language

Resources

Stars

Watchers

Forks

Packages

No packages published