X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fgenprimopcode%2FLexer.x;h=6f48c02f8ff493c48330fca9ad4583801834c17b;hb=46176dfa4f329af687c92e57740c800a6cada7b1;hp=2b8289a0f2ce7ef3eebade1cb8d96c4c5cdf09ce;hpb=3da243bf737dc3e26dfbfa943df1fda1ce7c1bab;p=ghc-hetmet.git diff --git a/utils/genprimopcode/Lexer.x b/utils/genprimopcode/Lexer.x index 2b8289a..6f48c02 100644 --- a/utils/genprimopcode/Lexer.x +++ b/utils/genprimopcode/Lexer.x @@ -1,5 +1,13 @@ { +{-# LANGUAGE BangPatterns #-} -- required for versions of Alex before 2.3.4 +{-# OPTIONS -w -Wwarn #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module Lexer (lex_tok) where import ParserM (ParserM (..), mkT, mkTv, Token(..), St, start_code, @@ -46,6 +54,7 @@ words :- <0> "thats_all_folks" { mkT TThatsAllFolks } <0> [a-z][a-zA-Z0-9\#_]* { mkTv TLowerName } <0> [A-Z][a-zA-Z0-9\#_]* { mkTv TUpperName } + <0> [0-9][0-9]* { mkTv (TInteger . read) } <0> \" [^\"]* \" { mkTv (TString . tail . init) } [^\{\}]+ { mkTv TNoBraces } \n { mkTv TNoBraces }