on master help sign in
Add parser and tests for parser for error reflection extension
commit3a6939896c553dff2500e8bc9352aa8ea040d9fe authorDavid Christiansen <david@davidchristiansen.dk> dateThu 26 Sep 2013, 21:30 (13 years ago) parent3db1e91
4 files changed+18−2
src/Idris/Parser.hs+6−2 test/test031/expected test/test031/run+4 test/test031/test031.idr+8
src/Idris/Parser.hs+6−2
@@ -2400,10 +2400,14 @@ directive syn = try (do lchar '%'; reserved "lib"; cgn <- codegen_; lib <- strin
24002400 Left lib -> addIBC (IBCDyLib (lib_name lib))
24012401 Right msg ->
24022402 fail $ msg)])
2403− <|> try (do lchar '%'; reserved "language"; ext <- reserved "TypeProviders";
2404− return [PDirective (addLangExt TypeProviders)])
2403+ <|> try (do lchar '%'; reserved "language"; ext <- pLangExt;
2404+ return [PDirective (addLangExt ext)])
24052405 <?> "directive"
24062406
2407+pLangExt :: IdrisParser LanguageExt
2408+pLangExt = (reserved "TypeProviders" >> return TypeProviders)
2409+ <|> (reserved "ErrorReflection" >> return ErrorReflection)
2410+
24072411{- | Parses a totality
24082412Totality ::= 'partial' | 'total'
24092413-}
test/test031/expectednew file

No changes to the content.

test/test031/runnew file+4
@@ -0,0 +1,4 @@
1+#!/bin/bash
2+idris $@ test031.idr -o test031
3+./test031
4+rm -f test031 *.ibc
test/test031/test031.idrnew file+8
@@ -0,0 +1,8 @@
1+module Main
2+
3+-- Test enabling the ErrorReflection extension
4+
5+%language ErrorReflection
6+
7+main : IO ()
8+main = return ()