/// <summary> /// Cria uma nova expressão define um char como texto. /// </summary> /// <param name="container"></param> /// <param name="beginPoint"></param> /// <param name="line"></param> /// <param name="command"></param> public Expression(ExpressionContainer container, int beginPoint, ExpressionLine line, char command) { _container = container; _beginPoint = beginPoint; _line = line; _line.Expressions.Add(this); _length = 1; _text = new string(command, 1); }
/// <summary> /// Cria uma nova expressão com o texto informado. /// </summary> /// <param name="container"></param> /// <param name="beginPoint"></param> /// <param name="line"></param> /// <param name="text"></param> public Expression(ExpressionContainer container, int beginPoint, ExpressionLine line, string text) { _container = container; _beginPoint = beginPoint; _length = text == null ? 0 : text.Length; _line = line; _line.Expressions.Add(this); _text = text; _token = (int)TokenID.Identifier; }
/// <summary> /// Cria uma nova expressão recuperando do comando o segmento de texto e definindo o identificador do token. /// </summary> /// <param name="container"></param> /// <param name="beginPoint"></param> /// <param name="length"></param> /// <param name="line"></param> /// <param name="command"></param> /// <param name="tokenID"></param> public Expression(ExpressionContainer container, int beginPoint, int length, ExpressionLine line, string command, int tokenID) { _container = container; _beginPoint = beginPoint; _length = length; _line = line; _line.Expressions.Add(this); _text = command.Substring(beginPoint, length); _token = tokenID; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="container">Container da expressão.</param> /// <param name="beginPoint"></param> /// <param name="length"></param> /// <param name="line"></param> /// <param name="command"></param> /// <param name="containerChar"></param> public SpecialContainerExpression(ExpressionContainer container, int beginPoint, int length, ExpressionLine line, string command, char containerChar) : base(container, beginPoint, length, line, command) { Token = (int)TokenID.StringLiteral; _containerChar = containerChar; }
public TabExpression(ExpressionContainer container, int beginPoint, ExpressionLine line, string command) : base(container, beginPoint, 1, line, command) { }