Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.googlecode.aviator.lexer.token.Variable Maven / Gradle / Ivy
Go to download
A lightweight,high performance expression evaluator for java
/**
* Copyright (C) 2010 dennis zhuang ([email protected] )
*
* This library is free software; you can redistribute it and/or modify it under the terms of the
* GNU Lesser General Public License as published by the Free Software Foundation; either version
* 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this program;
* if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
**/
package com.googlecode.aviator.lexer.token;
import java.util.Map;
/**
* Variable token
*
* @author dennis
*
*/
public class Variable extends AbstractToken {
private static final long serialVersionUID = -2444861882394614240L;
public boolean isQuote() {
return this.quote;
}
public void setQuote(final boolean special) {
this.quote = special;
}
private boolean quote = false;
/**
* Boolean value true
*/
public static final Variable TRUE = new Variable("true", 0, -1) {
private static final long serialVersionUID = 4935383811479451467L;
@Override
public Object getValue(final Map env) {
return true;
}
};
/**
* Boolean value false
*/
public static final Variable FALSE = new Variable("false", 0, -1) {
private static final long serialVersionUID = -5580561244268123057L;
@Override
public Object getValue(final Map env) {
return false;
}
};
/**
* Boolean value false
*/
public static final Variable NIL = new Variable("nil", 0, -1) {
private static final long serialVersionUID = 5405079118962650113L;
@Override
public Object getValue(final Map env) {
return null;
}
};
/**
* Lambda keyword
*/
public static final Variable LAMBDA = new Variable("lambda", 0, -1) {
private static final long serialVersionUID = 5239852591646934183L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* end keyword
*/
public static final Variable END = new Variable("end", 0, -1) {
private static final long serialVersionUID = 1381194991295087667L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* if keyword
*/
public static final Variable IF = new Variable("if", 0, -1) {
private static final long serialVersionUID = 371294588236388238L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* else keyword
*/
public static final Variable ELSE = new Variable("else", 0, -1) {
private static final long serialVersionUID = -8680881360673170940L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* for keyword
*/
public static final Variable FOR = new Variable("for", 0, -1) {
private static final long serialVersionUID = -8264017729568522971L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* in keyword
*/
public static final Variable IN = new Variable("in", 0, -1) {
private static final long serialVersionUID = -4622016350260111762L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* return keyword
*/
public static final Variable RETURN = new Variable("return", 0, -1) {
private static final long serialVersionUID = 720528094830222144L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* return keyword
*/
public static final Variable BREAK = new Variable("break", 0, -1) {
private static final long serialVersionUID = -3811349935845126666L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* return keyword
*/
public static final Variable CONTINUE = new Variable("continue", 0, -1) {
private static final long serialVersionUID = -97078099593768562L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* let keyword
*/
public static final Variable LET = new Variable("let", 0, -1) {
private static final long serialVersionUID = 8947676572495899744L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* while keyword
*/
public static final Variable WHILE = new Variable("while", 0, -1) {
private static final long serialVersionUID = -7452208104495691948L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* fn keyword
*/
public static final Variable FN = new Variable("fn", 0, -1) {
private static final long serialVersionUID = 1310362304034338211L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* elsif keyword
*/
public static final Variable ELSIF = new Variable("elsif", 0, -1) {
private static final long serialVersionUID = 9179033352817183568L;
@Override
public Object getValue(final Map env) {
return this;
}
};
/**
* elsif keyword
*/
public static final Variable TRY = new Variable("try", 0, -1) {
private static final long serialVersionUID = -5941442994484723465L;
@Override
public Object getValue(final Map env) {
return this;
}
};
public static final Variable CATCH = new Variable("catch", 0, -1) {
private static final long serialVersionUID = 5648899950149965053L;
@Override
public Object getValue(final Map env) {
return this;
}
};
public static final Variable FINALLY = new Variable("finally", 0, -1) {
private static final long serialVersionUID = 4620910964773812463L;
@Override
public Object getValue(final Map env) {
return this;
}
};
public static final Variable THROW = new Variable("throw", 0, -1) {
private static final long serialVersionUID = 113057346952612067L;
@Override
public Object getValue(final Map env) {
return this;
}
};
public static final Variable NEW = new Variable("new", 0, -1) {
private static final long serialVersionUID = 113057346952612067L;
@Override
public Object getValue(final Map env) {
return this;
}
};
public static final Variable USE = new Variable("use", 0, -1) {
private static final long serialVersionUID = 113057346952612067L;
@Override
public Object getValue(final Map env) {
return this;
}
};
@Override
public com.googlecode.aviator.lexer.token.Token.TokenType getType() {
return TokenType.Variable;
}
@Override
public Object getValue(final Map env) {
if (env != null) {
return env.get(this.lexeme);
} else {
return this.lexeme;
}
}
public void setLexeme(final String lexeme) {
this.lexeme = lexeme;
}
public Variable(final String name, final int lineNo, final int startIndex) {
super(name, lineNo, startIndex);
}
@Override
public String toString() {
String index = ",index=" + getStartIndex();
if (getStartIndex() == -1) {
index = "";
}
return "[type='variable',lexeme='" + getLexeme() + "'" + index + "]";
}
}