'import' Keyword.Namespace ' ' Text.Whitespace 're' Name '\n\n' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'x' Name ' ' Text.Whitespace 'in' Operator.Word ' ' Text.Whitespace 'lines' Name '(' Punctuation '"' Literal.String 'myfile.txt' Literal.String '"' Literal.String ')' Punctuation ':' Punctuation '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'x' Name ' ' Text.Whitespace '=' Operator '~' Operator ' ' Text.Whitespace 're"' Literal.String '(' Literal.String '\\' Literal.String 'w+)=(.*)' Literal.String '"' Literal.String ':' Punctuation '\n ' Text.Whitespace 'echo' Name ' ' Text.Whitespace '"' Literal.String 'Key: ' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'matches' Name '[' Operator '0' Literal.Number.Integer ']' Operator ',' Punctuation '\n ' Text.Whitespace '"' Literal.String ' Value: ' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'matches' Name '[' Operator '1' Literal.Number.Integer ']' Operator '\n\n' Text.Whitespace 'Echo' Name '(' Punctuation '"' Literal.String 'What' Literal.String "'" Literal.String 's your name? ' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'var' Keyword.Declaration ' ' Text.Whitespace 'name' Name ':' Punctuation ' ' Text.Whitespace 'string' Name.Builtin ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'readLine' Name '(' Punctuation 'stdin' Name ')' Punctuation '\n' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'name' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '"' Literal.String '"' Literal.String ':' Punctuation '\n ' Text.Whitespace 'echo' Name '(' Punctuation '"' Literal.String 'Poor soul, you lost your name?' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'elif' Keyword ' ' Text.Whitespace 'name' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '"' Literal.String 'name' Literal.String '"' Literal.String ':' Punctuation '\n ' Text.Whitespace 'echo' Name '(' Punctuation '"' Literal.String 'Very funny, your name is name.' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'else' Keyword ':' Punctuation '\n ' Text.Whitespace 'Echo' Name '(' Punctuation '"' Literal.String 'Hi, ' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'name' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '!' Literal.String '"' Literal.String ')' Punctuation '\n\n' Text.Whitespace 'var' Keyword.Declaration ' ' Text.Whitespace 'name' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'readLine' Name '(' Punctuation 'stdin' Name ')' Punctuation '\n' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'name' Name '\n' Text.Whitespace 'of' Keyword ' ' Text.Whitespace '"' Name.Label '"' Name.Label ':' Operator '\n ' Text.Whitespace 'echo' Name '(' Punctuation '"' Literal.String 'Poor soul, you lost your name?' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'of' Keyword ' ' Text.Whitespace '"' Name.Label 'name' Name.Label '"' Name.Label ':' Operator '\n ' Text.Whitespace 'echo' Name '(' Punctuation '"' Literal.String 'Very funny, your name is name.' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'else' Keyword ':' Punctuation '\n ' Text.Whitespace 'Echo' Name '(' Punctuation '"' Literal.String 'Hi, ' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'name' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '!' Literal.String '"' Literal.String ')' Punctuation '\n\n' Text.Whitespace 'from' Keyword.Namespace ' ' Text.Whitespace 'strutils' Name ' ' Text.Whitespace 'import' Keyword.Namespace ' ' Text.Whitespace 'parseInt' Name '\n\n' Text.Whitespace 'Echo' Name '(' Punctuation '"' Literal.String 'A number please: ' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'var' Keyword.Declaration ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'parseInt' Name '(' Punctuation 'readLine' Name '(' Punctuation 'stdin' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'n' Name '\n' Text.Whitespace 'of' Keyword ' ' Text.Whitespace '0' Name.Label '.' Name.Label '.' Name.Label '2' Name.Label ',' Punctuation ' ' Text.Whitespace '4' Name.Label '.' Name.Label '.' Name.Label '7' Name.Label ':' Operator ' ' Text.Whitespace 'Echo' Name '(' Punctuation '"' Literal.String 'The number is in the set: {0, 1, 2, 4, 5, 6, 7}' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'of' Keyword ' ' Text.Whitespace '3' Name.Label ',' Punctuation ' ' Text.Whitespace '8' Name.Label ':' Operator ' ' Text.Whitespace 'Echo' Name '(' Punctuation '"' Literal.String 'The number is 3 or 8' Literal.String '"' Literal.String ')' Punctuation '\n\n' Text.Whitespace 'Echo' Name '(' Punctuation '"' Literal.String 'Counting to 10: ' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'var' Keyword.Declaration ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace '10' Literal.Number.Integer ':' Punctuation '\n ' Text.Whitespace 'Echo' Name '(' Punctuation '$' Operator 'i' Name ')' Punctuation '\n ' Text.Whitespace 'inc' Name '(' Punctuation 'i' Name ')' Punctuation '\n\n' Text.Whitespace 'proc' Keyword ' ' Text.Whitespace 'yes' Name.Function '(' Punctuation 'question' Name ':' Punctuation ' ' Text.Whitespace 'string' Name.Builtin ')' Punctuation ':' Punctuation ' ' Text.Whitespace 'bool' Name.Builtin ' ' Text.Whitespace '=' Operator '\n ' Text.Whitespace 'Echo' Name '(' Punctuation 'question' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String ' (y/n)' Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'true' Keyword.Pseudo ':' Punctuation '\n ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'readLine' Name '(' Punctuation 'stdin' Name ')' Punctuation '\n ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace '"' Name.Label 'y' Name.Label '"' Name.Label ',' Punctuation ' ' Text.Whitespace '"' Name.Label 'Y' Name.Label '"' Name.Label ',' Punctuation ' ' Text.Whitespace '"' Name.Label 'yes' Name.Label '"' Name.Label ',' Punctuation ' ' Text.Whitespace '"' Name.Label 'Yes' Name.Label '"' Name.Label ':' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'true' Keyword.Pseudo '\n ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace '"' Name.Label 'n' Name.Label '"' Name.Label ',' Punctuation ' ' Text.Whitespace '"' Name.Label 'N' Name.Label '"' Name.Label ',' Punctuation ' ' Text.Whitespace '"' Name.Label 'no' Name.Label '"' Name.Label ',' Punctuation ' ' Text.Whitespace '"' Name.Label 'No' Name.Label '"' Name.Label ':' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'false' Keyword.Pseudo '\n ' Text.Whitespace 'else' Keyword ':' Punctuation ' ' Text.Whitespace 'Echo' Name '(' Punctuation '"' Literal.String 'Please be clear: yes or no' Literal.String '"' Literal.String ')' Punctuation '\n\n' Text.Whitespace 'proc' Keyword ' ' Text.Whitespace 'even' Name.Function '(' Punctuation 'n' Name ':' Punctuation ' ' Text.Whitespace 'int' Name.Builtin ')' Punctuation ':' Punctuation ' ' Text.Whitespace 'bool' Name.Builtin '\n\n' Text.Whitespace 'proc' Keyword ' ' Text.Whitespace 'odd' Name.Function '(' Punctuation 'n' Name ':' Punctuation ' ' Text.Whitespace 'int' Name.Builtin ')' Punctuation ':' Punctuation ' ' Text.Whitespace 'bool' Name.Builtin ' ' Text.Whitespace '=' Operator '\n ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ':' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'true' Keyword.Pseudo '\n ' Text.Whitespace 'else' Keyword ':' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'even' Name '(' Punctuation 'n' Name '-' Operator '1' Literal.Number.Integer ')' Punctuation '\n\n' Text.Whitespace 'iterator' Keyword ' ' Text.Whitespace 'countup' Name '(' Punctuation 'a' Name ',' Punctuation ' ' Text.Whitespace 'b' Name ':' Punctuation ' ' Text.Whitespace 'int' Name.Builtin ')' Punctuation ':' Punctuation ' ' Text.Whitespace 'int' Name.Builtin ' ' Text.Whitespace '=' Operator '\n ' Text.Whitespace 'var' Keyword.Declaration ' ' Text.Whitespace 'res' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'a' Name '\n ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'res' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'b' Name ':' Punctuation '\n ' Text.Whitespace 'yield' Keyword ' ' Text.Whitespace 'res' Name '\n ' Text.Whitespace 'inc' Name '(' Punctuation 'res' Name ')' Punctuation '\n\n' Text.Whitespace 'type' Keyword '\n ' Text.Whitespace 'TPerson' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'object' Keyword ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'TObject' Name '\n ' Text.Whitespace 'name' Name '*' Operator ':' Punctuation ' ' Text.Whitespace 'string' Name.Builtin ' ' Text.Whitespace '# the * means that `name` is accessible from other modules' Comment '\n ' Text.Whitespace 'age' Name ':' Punctuation ' ' Text.Whitespace 'int' Name.Builtin ' ' Text.Whitespace '# no * means that the field is hidden from other modules' Comment '\n\n ' Text.Whitespace 'TStudent' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'object' Keyword ' ' Text.Whitespace 'of' Keyword ' ' Text.Whitespace 'TPerson' Name ' ' Text.Whitespace '# TStudent inherits from TPerson' Comment '\n ' Text.Whitespace 'id' Name ':' Punctuation ' ' Text.Whitespace 'int' Name.Builtin ' ' Text.Whitespace '# with an id field' Comment '\n\n' Text.Whitespace 'var' Keyword.Declaration '\n ' Text.Whitespace 'student' Name ':' Punctuation ' ' Text.Whitespace 'TStudent' Name '\n ' Text.Whitespace 'person' Name ':' Punctuation ' ' Text.Whitespace 'TPerson' Name '\n' Text.Whitespace 'assert' Name '(' Punctuation 'student' Name ' ' Text.Whitespace 'is' Operator.Word ' ' Text.Whitespace 'TStudent' Name ')' Punctuation '\n\n' Text.Whitespace 'echo' Name '(' Punctuation '{' Punctuation "'" Literal.String.Char 'a' Literal.String.Char "'" Literal.String.Char ',' Punctuation ' ' Text.Whitespace "'" Literal.String.Char 'b' Literal.String.Char "'" Literal.String.Char ',' Punctuation ' ' Text.Whitespace "'" Literal.String.Char 'c' Literal.String.Char "'" Literal.String.Char '}' Punctuation '.' Punctuation 'card' Name ')' Punctuation '\n' Text.Whitespace 'stdout' Name '.' Punctuation 'writeln' Name '(' Punctuation '"' Literal.String 'Hallo' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace 'var' Keyword.Declaration '\n ' Text.Whitespace 'f' Name ':' Punctuation ' ' Text.Whitespace 'TFile' Name '\n' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'open' Name '(' Punctuation 'f' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'numbers.txt' Literal.String '"' Literal.String ')' Punctuation ':' Punctuation '\n ' Text.Whitespace 'try' Keyword ':' Punctuation '\n ' Text.Whitespace 'var' Keyword.Declaration ' ' Text.Whitespace 'a' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'readLine' Name '(' Punctuation 'f' Name ')' Punctuation '\n ' Text.Whitespace 'var' Keyword.Declaration ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'readLine' Name '(' Punctuation 'f' Name ')' Punctuation '\n ' Text.Whitespace 'echo' Name '(' Punctuation '"' Literal.String 'sum: ' Literal.String '"' Literal.String ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '$' Operator '(' Punctuation 'parseInt' Name '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'parseInt' Name '(' Punctuation 'b' Name ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'except' Keyword ' ' Text.Whitespace 'EOverflow' Name ':' Punctuation '\n ' Text.Whitespace 'echo' Name '(' Punctuation '"' Literal.String 'overflow!' Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace 'except' Keyword ' ' Text.Whitespace 'EInvalidValue' Name ':' Punctuation '\n ' Text.Whitespace 'echo' Name '(' Punctuation '"' Literal.String 'could not convert string to integer' Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace 'except' Keyword ' ' Text.Whitespace 'EIO' Name ':' Punctuation '\n ' Text.Whitespace 'echo' Name '(' Punctuation '"' Literal.String 'IO error!' Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace 'except' Keyword ':' Punctuation '\n ' Text.Whitespace 'echo' Name '(' Punctuation '"' Literal.String 'Unknown exception!' Literal.String '"' Literal.String ')' Punctuation '\n ' Text.Whitespace '# reraise the unknown exception:' Comment '\n ' Text.Whitespace 'raise' Keyword '\n ' Text.Whitespace 'finally' Keyword ':' Punctuation '\n ' Text.Whitespace 'close' Name '(' Punctuation 'f' Name ')' Punctuation '\n' Text.Whitespace