Implement a variable TreeNode.

This commit is contained in:
Danila Fedorin 2017-08-18 14:20:49 -07:00
parent 21e059c1ca
commit 0a15043b63
1 changed files with 21 additions and 0 deletions

View File

@ -0,0 +1,21 @@
package org.nwapw.abacus.tree
/**
* A tree node that holds a placeholder variable.
*
* This node holds a variable string, and acts similarly to a number,
* with the key difference of not actually holding a value at runtime.
*
* @param variable the actual variable name that this node represents.
*/
data class VariableNode(val variable: String) : TreeNode() {
override fun <T : Any> reduce(reducer: Reducer<T>): T? {
return reducer.reduceNode(this)
}
override fun toString(): String {
return variable
}
}