summaryrefslogtreecommitdiff
path: root/Source/Forro/Lexer.fsl
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Forro/Lexer.fsl')
-rw-r--r--Source/Forro/Lexer.fsl120
1 files changed, 60 insertions, 60 deletions
diff --git a/Source/Forro/Lexer.fsl b/Source/Forro/Lexer.fsl
index 4252af23..5f69df7c 100644
--- a/Source/Forro/Lexer.fsl
+++ b/Source/Forro/Lexer.fsl
@@ -1,60 +1,60 @@
-{
-module Lexer
-open System
-open Parser
-open Microsoft.FSharp.Text.Lexing
-}
-
-// These are some regular expression definitions
-let digit = ['0'-'9']
-let nondigit = [ 'a'-'z' 'A'-'Z' '_' ]
-let idchar = (nondigit | digit)
-let whitespace = [' ' '\t' ]
-let newline = ('\n' | '\r' '\n')
-
-rule tokenize = parse
-| whitespace { tokenize lexbuf }
-| newline { // lexbuf.EndPos <- lexbuf.EndPos.AsNewLinePos() ;
- tokenize lexbuf }
-// operators
-| "==" { EQ }
-| "!=" { NEQ }
-| "+" { PLUS }
-| "-" { MINUS }
-| "*" { STAR }
-| "<" { LESS }
-| "<=" { ATMOST }
-| "and" { AND }
-| "or" { OR }
-| "not" { NOT }
-| "old" { OLD }
-| "." { DOT }
-// misc
-| "(" { LPAREN }
-| ")" { RPAREN }
-| "{" { LCURLY }
-| "}" { RCURLY }
-| ";" { SEMI }
-| "," { COMMA }
-| ":=" { ASSIGN }
-// keywords
-| "procedure" { PROCEDURE }
-| "requires" { REQUIRES }
-| "ensures" { ENSURES }
-| "do" { DO }
-| "end" { END }
-| "new" { NEW }
-| "if" { IF }
-| "then" { THEN }
-| "else" { ELSE }
-| "while" { WHILE }
-| "invariant" { INVARIANT }
-| "call" { CALL }
-| "assert" { ASSERT }
-// literals
-| ['-']?digit+ { INT32 (Int32.Parse(LexBuffer<char>.LexemeString lexbuf)) }
-| "null" { NULL }
-// identifiers
-| idchar+ { ID (LexBuffer<char>.LexemeString lexbuf) }
-// EOF
-| eof { EOF }
+{
+module Lexer
+open System
+open Parser
+open Microsoft.FSharp.Text.Lexing
+}
+
+// These are some regular expression definitions
+let digit = ['0'-'9']
+let nondigit = [ 'a'-'z' 'A'-'Z' '_' ]
+let idchar = (nondigit | digit)
+let whitespace = [' ' '\t' ]
+let newline = ('\n' | '\r' '\n')
+
+rule tokenize = parse
+| whitespace { tokenize lexbuf }
+| newline { // lexbuf.EndPos <- lexbuf.EndPos.AsNewLinePos() ;
+ tokenize lexbuf }
+// operators
+| "==" { EQ }
+| "!=" { NEQ }
+| "+" { PLUS }
+| "-" { MINUS }
+| "*" { STAR }
+| "<" { LESS }
+| "<=" { ATMOST }
+| "and" { AND }
+| "or" { OR }
+| "not" { NOT }
+| "old" { OLD }
+| "." { DOT }
+// misc
+| "(" { LPAREN }
+| ")" { RPAREN }
+| "{" { LCURLY }
+| "}" { RCURLY }
+| ";" { SEMI }
+| "," { COMMA }
+| ":=" { ASSIGN }
+// keywords
+| "procedure" { PROCEDURE }
+| "requires" { REQUIRES }
+| "ensures" { ENSURES }
+| "do" { DO }
+| "end" { END }
+| "new" { NEW }
+| "if" { IF }
+| "then" { THEN }
+| "else" { ELSE }
+| "while" { WHILE }
+| "invariant" { INVARIANT }
+| "call" { CALL }
+| "assert" { ASSERT }
+// literals
+| ['-']?digit+ { INT32 (Int32.Parse(LexBuffer<char>.LexemeString lexbuf)) }
+| "null" { NULL }
+// identifiers
+| idchar+ { ID (LexBuffer<char>.LexemeString lexbuf) }
+// EOF
+| eof { EOF }