aboutsummaryrefslogtreecommitdiff
path: root/expressionParser.mly
diff options
context:
space:
mode:
Diffstat (limited to 'expressionParser.mly')
-rwxr-xr-xexpressionParser.mly21
1 files changed, 9 insertions, 12 deletions
diff --git a/expressionParser.mly b/expressionParser.mly
index 303e683..a9f685f 100755
--- a/expressionParser.mly
+++ b/expressionParser.mly
@@ -46,31 +46,28 @@ content:
| basic EOF {$1}
basic:
- | PLUS num {Result (Num (ScTypes.Number, (DataType.Num.of_num (snd $2))))}
- | MINUS num {Result (Num (ScTypes.Number, (DataType.Num.of_num @@ Num.minus_num (snd $2))))}
- | num {Result (Num (ScTypes.Number, (DataType.Num.of_num (snd $1))))}
+ | PLUS num {Result (number (DataType.Num.of_num (snd $2)))}
+ | MINUS num {Result (number (DataType.Num.of_num @@ Num.minus_num (snd $2)))}
+ | num {Result (number (DataType.Num.of_num (snd $1)))}
| NUM DIVIDE NUM DIVIDE NUM {Result (
- Num (
- ScTypes.Date,
+ date (
DataType.Num.of_num @@ (Date.get_julian_day
(Num.int_of_num @@ snd $1)
(Num.int_of_num @@ snd $3)
(Num.int_of_num @@ snd $5)
)))}
| NUM COLON NUM COLON NUM {Result (
- Num (
- ScTypes.Date,
- (Num.(
+ date (
+ Num.(
let nhour = (snd $1) // (num_of_int 24)
and nmin = (snd $3) // (num_of_int 1440)
and nsec = (snd $5) // (num_of_int 86400)
- in DataType.Num.of_num @@ nhour +/ nmin +/ nsec))
+ in DataType.Num.of_num @@ nhour +/ nmin +/ nsec)
)
)}
expr:
- | num {Value (Num (
- ScTypes.Number,
+ | num {Value (number (
DataType.Num.of_num (snd $1)
))}
| MINUS expr {Call (F.sub, [$2])}
@@ -84,7 +81,7 @@ expr:
| LPAREN expr RPAREN {Expression $2}
- | STR {Value (Str (u $1))}
+ | STR {Value (string (u $1))}
(* Mathematical operators *)
| expr MINUS expr {Call (F.sub, [$1; $3])}