Skip to content

Instantly share code, notes, and snippets.

@aarongough
Created July 13, 2010 22:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aarongough/474657 to your computer and use it in GitHub Desktop.
Save aarongough/474657 to your computer and use it in GitHub Desktop.
%%{
machine simple_lexer;
integer = ('+'|'-')?[0-9]+;
float = ('+'|'-')?[0-9]+'.'[0-9]+;
assignment = '=';
identifier = [a-zA-Z][a-zA-Z_]+;
main := |*
integer => {
emit(:integer_literal, data, token_array, ts, te)
};
float => {
emit(:float_literal, data, token_array, ts, te)
};
assignment => {
emit(:assignment_operator, data, token_array, ts, te)
};
identifier => {
emit(:identifier, data, token_array, ts, te)
};
space;
*|;
}%%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment