Skip to content

Commit

Permalink
Fix a lot of test cases.
Browse files Browse the repository at this point in the history
  • Loading branch information
corywalker committed Aug 8, 2017
1 parent a43d552 commit 5b51ea4
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions expreduce/interp.go
Expand Up @@ -151,6 +151,13 @@ func ParserTermConv(term *wl.Term) Ex {
ParserTokenConv(term.Token),
&String{ParserTagConv(term.Tag).(*Symbol).Name},
})
case wl.RPART:
e := NewExpression([]Ex{
&Symbol{"System`Part"},
ParserTermConv(term.Term),
})
e.appendExArray(ParserExprListConv(term.ExprList))
return e
case ']':
e := NewExpression([]Ex{
ParserTermConv(term.Term),
Expand All @@ -176,6 +183,11 @@ func ParserTermConv(term *wl.Term) Ex {
&Symbol{"System`Factorial"},
ParserTermConv(term.Term),
})
case '&':
return NewExpression([]Ex{
&Symbol{"System`Function"},
ParserTermConv(term.Term),
})
}
return ParserTokenConv(term.Token)
}
Expand Down Expand Up @@ -208,18 +220,24 @@ var binaryOps = map[int]string{
46: "PatternTest",
40: "Optional",
17: "Condition",
28: "Apply",
18: "Map",
}

var fullyAssocOps = map[int]string{
36: "Plus",
35: "Times",
24: "Equal",
25: "SameQ",
23: "UnsameQ",
22: "StringJoin",
43: "Less",
21: "LessEqual",
45: "Greater",
26: "GreaterEqual",
34: "Or",
8: "And",
49: "Alternatives",
}

func ParserExprConv(expr *wl.Expression) Ex {
Expand Down Expand Up @@ -288,6 +306,16 @@ func ParserExprConv(expr *wl.Expression) Ex {
&Integer{big.NewInt(-1)},
ParserExprConv(expr.Expression),
})
case 39:
return NewExpression([]Ex{
&Symbol{"System`Times"},
ParserExprConv(expr.Expression),
NewExpression([]Ex{
&Symbol{"System`Power"},
ParserExprConv(expr.Expression2),
&Integer{big.NewInt(-1)},
}),
})
}
return &Symbol{"System`UnParsed"}
}
Expand Down

0 comments on commit 5b51ea4

Please sign in to comment.