language-lua 0.1 → 0.1.1
raw patch · 3 files changed
+62/−6 lines, 3 filesdep ~basedep ~mtl
Dependency ranges changed: base, mtl
Files
- language-lua.cabal +4/−4
- src/Language/Lua/PrettyPrinter.hs +0/−1
- src/Language/Lua/Token.hs +58/−1
language-lua.cabal view
@@ -1,6 +1,6 @@ Name: language-lua Description: Lua 5.2 lexer, parser and pretty-printer.-Version: 0.1+Version: 0.1.1 Synopsis: Lua parser and pretty-printer Homepage: http://github.com/osa1/language-lua Bug-reports: http://github.com/osa1/language-lua/issues@@ -13,7 +13,7 @@ Stability: Experimental Cabal-version: >= 1.9.2 -Extra-source-files:src/Text/PrettyPrint/LICENSE+Extra-source-files: src/Text/PrettyPrint/LICENSE Source-repository head type: git@@ -31,7 +31,7 @@ Other-modules: Text.PrettyPrint.Leijen - Build-depends: base >= 4.5 && < 4.6,- mtl >= 2.0 && < 2.1,+ Build-depends: base >= 4.5 && < 4.7,+ mtl >= 2.0 && < 2.2, parsec >= 3.1.3 && < 3.2, array >= 0.4 && < 0.5
src/Language/Lua/PrettyPrinter.hs view
@@ -5,7 +5,6 @@ {-# LANGUAGE FlexibleInstances #-} -- | Lua pretty-printer.--- This is a work in progress. module Language.Lua.PrettyPrinter (pprint, Printer(..), LPretty) where import Prelude hiding (EQ, GT, LT)
src/Language/Lua/Token.hs view
@@ -56,7 +56,64 @@ | LTokSLit String -- ^string constant | LTokIdent String -- ^identifier | LTokEof -- ^end of file- deriving (Show, Eq)+ deriving Eq++instance Show LToken where+ show LTokPlus = "`+`"+ show LTokMinus = "`-`"+ show LTokStar = "`*`"+ show LTokSlash = "`/`"+ show LTokPercent = "`%`"+ show LTokExp = "`^`"+ show LTokSh = "`#`"+ show LTokEqual = "`=`"+ show LTokNotequal = "`~=`"+ show LTokLEq = "`<=`"+ show LTokGEq = "`>=`"+ show LTokLT = "`<`"+ show LTokGT = "`>`"+ show LTokAssign = "`=`"+ show LTokLParen = "`(`"+ show LTokRParen = "`)`"+ show LTokLBrace = "`{`"+ show LTokRBrace = "`}`"+ show LTokLBracket = "`[`"+ show LTokRBracket = "`]`"+ show LTokDColon = "`::`"+ show LTokSemic = "`;`"+ show LTokColon = "`:`"+ show LTokComma = "`,`"+ show LTokDot = "`.`"+ show LTokDDot = "`..`"+ show LTokEllipsis = "`...`"++ show LTokAnd = "`and`"+ show LTokBreak = "`break`"+ show LTokDo = "`do`"+ show LTokElse = "`else`"+ show LTokElseIf = "`elseif`"+ show LTokEnd = "`end`"+ show LTokFalse = "`false`"+ show LTokFor = "`for`"+ show LTokFunction = "`function`"+ show LTokGoto = "`goto`"+ show LTokIf = "`if`"+ show LTokIn = "`in`"+ show LTokLocal = "`local`"+ show LTokNil = "`nil`"+ show LTokNot = "`not`"+ show LTokOr = "`or`"+ show LTokRepeat = "`repeat`"+ show LTokReturn = "`return`"+ show LTokThen = "`then`"+ show LTokTrue = "`true`"+ show LTokUntil = "`until`"+ show LTokWhile = "`while`"++ show (LTokNum n) = "number: " ++ show n+ show (LTokSLit s) = "string: " ++ show s+ show (LTokIdent i) = "identifier: " ++ show i+ show LTokEof = "EOF" -- | Partial function, returns value of `LTokNum`, `LTokSLit` and `LTokIdent`. tokenValue :: LToken -> String