stubs for invalid access
This commit is contained in:
parent
76472ca357
commit
7350e8a4cd
1 changed files with 19 additions and 13 deletions
|
@ -32,10 +32,6 @@ type Slices = [Slice]
|
||||||
type MatchResult = [Tdfa.MatchArray]
|
type MatchResult = [Tdfa.MatchArray]
|
||||||
type CheckString = String
|
type CheckString = String
|
||||||
type Regex = Tdfa.Regex
|
type Regex = Tdfa.Regex
|
||||||
data BlockSlice = BS Slice String
|
|
||||||
data AccessSlice = AS Slice String
|
|
||||||
type BlockSlices = [BlockSlice]
|
|
||||||
type AccessSlices = [AccessSlice]
|
|
||||||
|
|
||||||
{---- Infix Operators ----}
|
{---- Infix Operators ----}
|
||||||
|
|
||||||
|
@ -68,9 +64,9 @@ fontMap = [ (attrName "assignment" , fg Vty.blue)
|
||||||
, (attrName "string" , fg Vty.cyan)
|
, (attrName "string" , fg Vty.cyan)
|
||||||
, (attrName "err_brackets" , bg Vty.red) -- unbalanced brackets
|
, (attrName "err_brackets" , bg Vty.red) -- unbalanced brackets
|
||||||
, (attrName "err_quotes" , Vty.withStyle (fg Vty.red) Vty.underline) -- unbalanced quotes
|
, (attrName "err_quotes" , Vty.withStyle (fg Vty.red) Vty.underline) -- unbalanced quotes
|
||||||
, (attrName "err_unterm" , Vty.withStyle (fg Vty.red) Vty.underline) -- missing ;
|
, (attrName "err_read" , Vty.withStyle (fg Vty.yellow) Vty.underline) -- invalid read
|
||||||
, (attrName "err_read" , Vty.withStyle (fg Vty.red) Vty.underline) -- invalid read
|
|
||||||
, (attrName "err_write" , Vty.withStyle (fg Vty.red) Vty.underline) -- invalid write
|
, (attrName "err_write" , Vty.withStyle (fg Vty.red) Vty.underline) -- invalid write
|
||||||
|
, (attrName "err_access" , Vty.withStyle (fg Vty.red) Vty.underline) -- invalid access (alternative if easier than invalid read/invalid write separated)
|
||||||
]
|
]
|
||||||
|
|
||||||
fontify :: CheckString -> Fontifications
|
fontify :: CheckString -> Fontifications
|
||||||
|
@ -78,9 +74,6 @@ fontify = concatApply [ assignments, strings
|
||||||
, returns, guards, comments
|
, returns, guards, comments
|
||||||
, mismatchedBrackets
|
, mismatchedBrackets
|
||||||
, mismatchedQuotes]
|
, mismatchedQuotes]
|
||||||
-- , untermStrings
|
|
||||||
-- , untermAssignments
|
|
||||||
-- , untermReturns
|
|
||||||
|
|
||||||
concatApply :: [Fontifier] -> CheckString -> Fontifications
|
concatApply :: [Fontifier] -> CheckString -> Fontifications
|
||||||
concatApply [] _ = []
|
concatApply [] _ = []
|
||||||
|
@ -102,12 +95,14 @@ guards = slicesToFT §: "guard" §. matchGrpStripCmts 1 §~ "\\[([^
|
||||||
|
|
||||||
{- Custom/Function-Based -}
|
{- Custom/Function-Based -}
|
||||||
|
|
||||||
untermStrings = slicesToFT §: "err_unterm" §. unterm §~ "\"[^%]*\"[^\\;]"
|
|
||||||
untermAssignments s = slicesToFT §: "err_unterm" §. prune (assignments s) $ (unterm §~ "\\**[^%]+=[^;%]+[^\\;]") s
|
|
||||||
untermReturns s = slicesToFT §: "err_unterm" §. prune (returns s) $ (unterm §~ "\\^[^;%]+[^\\;]") s
|
|
||||||
|
|
||||||
mismatchedBrackets s = concatMap (mismatched §: "err_brackets" $ s) [('(',')'),('[',']'),('{','}')]
|
mismatchedBrackets s = concatMap (mismatched §: "err_brackets" $ s) [('(',')'),('[',']'),('{','}')]
|
||||||
|
|
||||||
|
invalidAccess s = (slicesToFT §: "err_read" $ invalidReads s) ++
|
||||||
|
(slicesToFT §: "err_write" $ invalidWrites s)
|
||||||
|
|
||||||
|
-- (alternative if easier than invalid read/invalid write separated)
|
||||||
|
-- invalidAccess = slicesToFT §: "err_access" $ invAcc
|
||||||
|
|
||||||
{--- Utility Functions ---}
|
{--- Utility Functions ---}
|
||||||
|
|
||||||
{- Regex Utilities -}
|
{- Regex Utilities -}
|
||||||
|
@ -172,6 +167,17 @@ mismatchedQuotes s = slicesToFT §: "err_quotes" $ firstChar untermed
|
||||||
| not $ isFontified curSlice checkFts = curSlice: negPrune checkFts slices
|
| not $ isFontified curSlice checkFts = curSlice: negPrune checkFts slices
|
||||||
| otherwise = negPrune checkFts slices
|
| otherwise = negPrune checkFts slices
|
||||||
|
|
||||||
|
-- ::CheckString -> Slices == ::String -> [(Int,Int)]
|
||||||
|
invalidReads :: CheckString -> Slices
|
||||||
|
invalidReads s = [] -- do magic here
|
||||||
|
|
||||||
|
invalidWrites :: CheckString -> Slices
|
||||||
|
invalidWrites s = [] -- do magic here
|
||||||
|
|
||||||
|
-- (alternative if easier than invalid read/invalid write separated)
|
||||||
|
-- invAcc :: CheckString -> Slices
|
||||||
|
-- invAcc s = [] -- do magic here
|
||||||
|
|
||||||
|
|
||||||
{- General Fontification Utilities -}
|
{- General Fontification Utilities -}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue