voll
Version:
Boolean expressions evaluator.
43 lines (36 loc) • 870 B
JavaScript
'use strict'
var ast = {
Token: function Token (value) {
this.value = value
},
Var: function Var (token) {
this.token = token
this.accept = function (visitor, args) {
return visitor.visit_var(this, args)
}
},
And: function And (token, left, right) {
this.token = token
this.left = left
this.right = right
this.accept = function (visitor, args) {
return visitor.visit_and(this, args)
}
},
Or: function Or (token, left, right) {
this.token = token
this.left = left
this.right = right
this.accept = function (visitor, args) {
return visitor.visit_or(this, args)
}
},
Not: function Not (token, operand) {
this.token = token
this.operand = operand
this.accept = function (visitor, args) {
return visitor.visit_not(this, args)
}
}
}
module.exports = ast