This commit is contained in:
Rohan Singh
2019-01-23 22:52:45 -05:00
parent 3f69ec7987
commit ad50a19057
103 changed files with 5734 additions and 1 deletions
@@ -0,0 +1,23 @@
using ScriptConverter.Ast.Expressions;
namespace ScriptConverter.Parser.Parselets.Expressions
{
class BinaryOperatorParselet : IInfixParselet
{
private readonly bool _isRight;
public BinaryOperatorParselet(PrecedenceValue precedence, bool isRight)
{
_isRight = isRight;
Precedence = (int)precedence;
}
public int Precedence { get; private set; }
public Expression Parse(ScriptParser parser, Expression left, ScriptToken token)
{
var right = parser.ParseExpression(Precedence - (_isRight ? 1 : 0));
return new BinaryOperatorExpression(token.Type, left, right);
}
}
}