BNFC-meta 0.4 → 0.4.0.1
raw patch · 3 files changed
+11/−5 lines, 3 filesdep ~alex-meta
Dependency ranges changed: alex-meta
Files
- BNFC-meta.cabal +2/−2
- examples/typesafe/Example.hs +1/−1
- examples/typesafe/Typesafe.hs +8/−2
BNFC-meta.cabal view
@@ -1,5 +1,5 @@ Name: BNFC-meta-version: 0.4+version: 0.4.0.1 cabal-Version: >= 1.6 build-type: Simple license: GPL-2@@ -44,7 +44,7 @@ , template-haskell >=2.4&&<2.9 , haskell-src-meta >= 0.5 && < 1.0 , happy-meta >= 0.2.0.4 && < 0.3- , alex-meta >= 0.3.0.3 && < 0.4+ , alex-meta >= 0.3.0.5 && < 0.4 , syb >= 0.2 && <1.0 Exposed-modules: Language.LBNF
examples/typesafe/Example.hs view
@@ -7,7 +7,7 @@ -- All variables are meta-variables. -- Variables must be declared in the function parameters -- Boolean and numeric variables are type checked by Haskell.-prg n tmp x = [prog|+prg n tmp x = [$prog| f() { n = 0; x := True ;
examples/typesafe/Typesafe.hs view
@@ -7,8 +7,11 @@ import Language.LBNF -bnfc [lbnf|+bnfc [$lbnf| +antiquote "[" ":" ":]" ;++ Fun. Prog ::= Ident "(" ")" "{" [Stm] "}" ; SBAss. Stm ::= BVar ":=" BExp ";" ;@@ -39,7 +42,7 @@ (:). [Stm] ::= Stm [Stm] ; internal BVar. BVar ::= Ident ;-$ . BVar ::= Ident ;+$ . BVar ::= Ident ; internal NVar. NVar ::= Ident ; $. NVar ::= Ident ;@@ -54,6 +57,7 @@ _. Exp0 ::= Exp1 ; _. Exp1 ::= Exp2 ; _. Exp2 ::= "[" Exp "]" ;+-- _. Exp2 ::= Exp3 ; _. BExp ::= BExp0 ;@@ -61,6 +65,8 @@ _. BExp1 ::= "(" BExp ")" ; ++-- pragmas comment "/*" "*/" ; comment "//" ;