Exemple #1
0
        public bool LastFinished(Token token, bool knowLast = false)
        {
            if (this.Count() == 0)
            {
                return(true);
            }
            var last = this.Last;

            if (FieldSegment.GetType(last.Keyname) != Field.Type.NONE)
            {
                return(true);
            }
            if (last.Data == "")
            {
                return(false);
            }
            if (knowLast)
            {
                if (token.CannotCloseWith())
                {
                    return(false);
                }
            }
            var lastsym = last.Data[last.Data.Length - 1];

            if (BracketProcessor.IsValidEnd(lastsym) && BracketProcessor.BracketCheck(last.Data) != BracketProcessor.ERRORTYPE.UNCLOSED)
            {
                return(true);
            }
            return(false);
        }
Exemple #2
0
 public void Freeze()
 {
     if (BracketProcessor.BracketCheck(Data) != BracketProcessor.ERRORTYPE.OK)
     {
         throw new ParsingException("Invalid brackets in `" + Data + "`");
     }
     frozen = true;
     if (string.IsNullOrEmpty(Data))
     {
         this.type = PostTokenType.VOID;
     }
     else if (Data.Contains("="))
     {
         this.type = PostTokenType.EQUALITY;
     }
     else
     {
         this.type = PostTokenType.EXPRESSION;
     }
 }