Martin Atkins
bdfe5c1b11
zclsyntax: visit both LHS and RHS of binary op in walk
...
Due to a typo, it was previously visiting LHS twice, and destroying the
RHS by overwriting it by LHS.
2017-06-14 07:29:37 -07:00
Martin Atkins
a0be779c9c
zclsyntax: operation failure diagnostics apply to whole expr
2017-06-12 07:14:09 -07:00
Martin Atkins
9be04673c3
zclsyntax: UnaryOpExpr.Value
2017-06-12 07:13:17 -07:00
Martin Atkins
e709d7bcc0
zclsyntax: operations are now pointers to a struct value
...
Previously operations were an enum, but we've ended up needing to store
a collection of values against each, so an operation being a pointer to
a struct feels more natural.
This in turn allows us to more easily fix the return types of the
operations, so that we don't need to do any unusual work to understand
that (for example) arithmetic always returns a number.
2017-06-12 07:09:24 -07:00
Martin Atkins
c332084224
zclsyntax: BinaryOpExpr.Value
2017-06-11 18:55:27 -07:00
Martin Atkins
cac847b163
zclsyntax: separate tokens for assign = and equality test ==
2017-06-04 16:00:40 -07:00
Martin Atkins
ab9bab3578
zclsyntax: parsing of the two unary operators
2017-06-01 07:05:22 -07:00
Martin Atkins
9a380c6260
zclsyntax: first pass of parsing binary operations
...
Not actually tested yet, since it can't be used until parseExpressionTerm
works.
2017-05-31 18:54:54 -07:00
Martin Atkins
3a0dec45a6
zclsyntax: enum for expression operations
...
Also includes the binary operator precedence table.
2017-05-31 07:39:23 -07:00