aboutsummaryrefslogtreecommitdiff
path: root/src/parser/Assignment.hs
blob: bb782f57570d8b988ce0a33eb61e9588db255c24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module Parser.Assignment where

import Control.Applicative
import Parser.Core
import qualified Parser.Expr as E
import Assignment

variableP :: Parser Assignment
variableP = Variable <$> alphaStringP <* char '=' <*> E.exprP

functionP :: Parser Assignment
functionP = Function <$> alphaStringP <*> parenthesize alphaStringP <* char '=' <*> E.exprP

assignmentP :: Parser Assignment
assignmentP = variableP <|> functionP