2 #include "setl-lexeme.ph"
3 #include "setl-syntax.ph"
5 ///////////////////////////////////////////////////////////////////////////////
7 // Instantiate the token type
9 ///////////////////////////////////////////////////////////////////////////////
10 instantiate datatype SETL_Token;
12 ///////////////////////////////////////////////////////////////////////////////
14 // This is the lexical scanner routine for our typed-SETL language
16 ///////////////////////////////////////////////////////////////////////////////
17 int SETLSyntax::get_token()
18 { matchscan while (lexer_buf)
19 { lexeme class SETL_Token: { return ?lexeme; }
20 | /[(){}<>\[\],\+\-\*\/;.&^%#!]/: { return lexer_buf[0]; }
21 | /[ \t\n]+/: // skip spaces