public bool Match(TokenNodeType token1, TokenNodeType token2)
        {
            if (token1 == NTriplesTokenType.L_BRACE)
            {
                return (token2 == NTriplesTokenType.R_BRACE);
            }
            if (token1 == NTriplesTokenType.L_PARENTHESES)
            {
                return (token2 == NTriplesTokenType.R_PARENTHESES);
            }
            if (token1 == NTriplesTokenType.L_BRACKET)
            {
                return (token2 == NTriplesTokenType.R_BRACKET);
            }
            if (token1 == NTriplesTokenType.R_BRACE)
            {
                return (token2 == NTriplesTokenType.L_BRACE);
            }
            if (token1 == NTriplesTokenType.R_PARENTHESES)
            {
                return (token2 == NTriplesTokenType.L_PARENTHESES);
            }
            if (token1 == NTriplesTokenType.R_BRACKET)
            {
                return (token2 == NTriplesTokenType.L_BRACKET);
            }

            return false;
        }
Exemplo n.º 2
0
		private static bool IsSupportedTokenType(TokenNodeType tokenType) {
			return tokenType == T4TokenNodeTypes.Name
				|| tokenType == T4TokenNodeTypes.Space
				|| tokenType == T4TokenNodeTypes.DirectiveStart
				|| tokenType == T4TokenNodeTypes.Quote
				|| tokenType == T4TokenNodeTypes.Value;
		}
 public void Start(int startOffset, int endOffset, uint state)
 {
   yy_buffer_index = startOffset;
   yy_buffer_start = startOffset;
   yy_buffer_end = startOffset;
   yy_eof_pos = endOffset;
   yy_lexical_state = (int)state;
   currTokenType = null;
 }
 public bool IsRightBracket(TokenNodeType tokenType)
 {
     if (((tokenType != NTriplesTokenType.R_BRACE) && (tokenType != NTriplesTokenType.R_PARENTHESES)) &&
         (tokenType != NTriplesTokenType.R_BRACKET))
     {
         return false;
     }
     return true;
 }
 public int Compare(TokenNodeType x, TokenNodeType y)
 {
     if ((this.IsLeftBracket(x) && this.IsLeftBracket(y)) || (this.IsRightBracket(x) && this.IsRightBracket(y)))
     {
         if (x == NTriplesTokenType.L_BRACE)
         {
             return 1;
         }
         if (y == NTriplesTokenType.L_BRACE)
         {
             return -1;
         }
         if (x == NTriplesTokenType.R_BRACE)
         {
             return 1;
         }
         if (y == NTriplesTokenType.R_BRACE)
         {
             return -1;
         }
     }
     return 0;
 }
 protected override bool Match(TokenNodeType token1, TokenNodeType token2)
 {
     if (token1 == NTriplesTokenType.L_BRACE)
     {
         return token2 == NTriplesTokenType.R_BRACE;
     }
     if (token1 == NTriplesTokenType.L_PARENTHESES)
     {
         return token2 == NTriplesTokenType.R_PARENTHESES;
     }
     if (token1 == NTriplesTokenType.L_BRACKET)
     {
         return token2 == NTriplesTokenType.R_BRACKET;
     }
     if (token1 == NTriplesTokenType.URI_BEGIN)
     {
         return token2 == NTriplesTokenType.URI_END;
     }
     if (token1 == NTriplesTokenType.R_BRACE)
     {
         return token2 == NTriplesTokenType.L_BRACE;
     }
     if (token1 == NTriplesTokenType.R_PARENTHESES)
     {
         return token2 == NTriplesTokenType.L_PARENTHESES;
     }
     if (token1 == NTriplesTokenType.R_BRACKET)
     {
         return token2 == NTriplesTokenType.L_BRACKET;
     }
     if (token1 == NTriplesTokenType.URI_END)
     {
         return token2 == NTriplesTokenType.URI_BEGIN;
     }
     return false;
 }
Exemplo n.º 7
0
 private void LocateToken()
 {
     if (currTokenType == null)
         currTokenType = _locateToken();
 }
 //Method doesn't call now
 protected override bool Match(TokenNodeType token1, TokenNodeType token2)
 {
     return false;
 }
Exemplo n.º 9
0
 public static string GetTokenText(TokenNodeType token)
 {
   if (OurTokenTextMap.ContainsKey(token))
   {
     return OurTokenTextMap.GetValue(token);
   }
   if (OurKeywordTextMap.ContainsKey(token))
   {
     return OurKeywordTextMap.GetValue(token);
   }
   return token.ToString();
 }
        /// <summary>
        /// Negative and positive signs must be spaced correctly.
        /// </summary>
        /// <param name="node">
        /// The node to use.
        /// </param>
        /// <param name="tokenToCheck">
        /// The token to check.
        /// </param>
        public void NegativeAndPositiveSignsMustBeSpacedCorrectly(ITreeNode node, TokenNodeType tokenToCheck)
        {
            for (ITreeNode currentNode = node; currentNode != null; currentNode = currentNode.NextSibling)
            {
                if (currentNode is ITokenNode)
                {
                    ITokenNode tokenNode = currentNode as ITokenNode;

                    if (tokenNode.GetTokenType() == tokenToCheck)
                    {
                        if (tokenNode.Parent is IOperatorExpression && !(tokenNode.Parent is IAdditiveExpression))
                        {
                            ITokenNode nextToken = tokenNode.GetNextToken();

                            if (nextToken.IsWhitespace())
                            {
                                using (WriteLockCookie.Create(true))
                                {
                                    // remove the whitespace or new line
                                    LowLevelModificationUtil.DeleteChild(nextToken);
                                }
                            }
                        }
                    }
                }

                if (currentNode.FirstChild != null)
                {
                    this.NegativeAndPositiveSignsMustBeSpacedCorrectly(currentNode.FirstChild, tokenToCheck);
                }
            }
        }
Exemplo n.º 11
0
        public void Advance()
        {
            bool findHeader = false;

            if (myCurOffset > EndOffset)
            {
                myTokenNodeType = null;
                return;
            }

            var isInteresting = false;

            myTokenStartOffset = myCurOffset;
            while (true)
            {
                if (myCurOffset > EndOffset)
                {
                    EatUntilDocumentEnd();
                    return;
                }

                switch (myBuffer[myCurOffset])
                {
                case '%':
                    findHeader = true;
                    while (true)
                    {
                        if (myCurOffset > EndOffset)
                        {
                            myTokenNodeType = UnityYamlTokenType.DOCUMENT;
                            return;
                        }

                        if (myBuffer[myCurOffset] == '\r')
                        {
                            myCurOffset++;
                            myCurrentLineOffset = 0;
                            if (myCurOffset <= EndOffset && myBuffer[myCurOffset] == '\n')
                            {
                                myCurOffset++;
                            }
                            break;
                        }

                        if (myBuffer[myCurOffset] == '\n')
                        {
                            myCurOffset++;
                            myCurrentLineOffset = 0;
                            break;
                        }
                        myCurOffset++;
                    }

                    break;

                case '-':
                    if (findHeader)
                    {
                        myTokenNodeType = UnityYamlTokenType.USELESS_DOCUMENT;
                        return;
                    }
                    myCurOffset++;
                    if (myCurOffset + 1 <= EndOffset && myBuffer[myCurOffset] == '-' &&
                        myBuffer[myCurOffset + 1] == '-')
                    {
                        myCurOffset++;
                        myCurOffset++;
                        if (myCurOffset <= EndOffset && myBuffer[myCurOffset] == ' ')
                        {
                            myCurOffset++;
                            var sb = new StringBuilder();
                            while (myCurOffset <= EndOffset && myBuffer[myCurOffset] != ' ' &&
                                   myBuffer[myCurOffset] != '\r' &&
                                   myBuffer[myCurOffset] != '\n')
                            {
                                sb.Append(Buffer[myCurOffset]);
                                myCurOffset++;
                            }

                            var tag = sb.ToString();
                            if (tag.Equals("!u!1") ||
                                tag.Equals("!u!4") ||
                                tag.Equals("!u!1001") ||
                                tag.Equals("!u!114") ||
                                tag.Equals("!u!224") ||
                                tag.Equals("!u!1102") ||
                                tag.Equals("!u!1107") ||
                                tag.Equals("!u!74"))
                            {
                                isInteresting = true;
                            }
                        }
                    }

                    myCurrentLineOffset = 1;     // just mark that it is not line start
                    EatUntilDocumentEnd();
                    return;

                default:
                    EatUntilDocumentEnd();
                    return;
                }
            }

            void EatUntilDocumentEnd()
            {
                while (true)
                {
                    if (myCurOffset > EndOffset)
                    {
                        myTokenNodeType = UnityYamlTokenType.DOCUMENT;
                        break;
                    }

                    var curChar = myBuffer[myCurOffset];
                    if (curChar == '\r')
                    {
                        myCurrentLineOffset = 0;
                        myCurOffset++;
                        continue;
                    }

                    if (curChar == '\n')
                    {
                        myCurrentLineOffset = 0;
                        myCurOffset++;
                        continue;
                    }

                    if (myCurrentLineOffset == 0 && myCurOffset + 2 <= EndOffset && (
                            (curChar == '-' && myBuffer[myCurOffset + 1] == '-' &&
                             myBuffer[myCurOffset + 2] == '-')))
                    {
                        myTokenNodeType = isInteresting ? UnityYamlTokenType.DOCUMENT : UnityYamlTokenType.USELESS_DOCUMENT;
                        // debug highlightings...
                        // myTokenNodeType = isInteresting ? UnityYamlTokenType.DOCUMENT : YamlTokenType.COMMENT;

                        break;
                    }

                    myCurrentLineOffset++;
                    myCurOffset++;
                }
            }
        }
Exemplo n.º 12
0
 public PsiGenericToken(TokenNodeType nodeType, string text)
 {
   myNodeType = nodeType;
   myText = text;
 }
Exemplo n.º 13
0
 protected override bool IsNumber(TokenNodeType tokenType)
 {
     return(tokenType == CgTokenNodeTypes.NUMERIC_LITERAL);
 }
Exemplo n.º 14
0
 protected override bool IsBlockComment(TokenNodeType tokenType)
 {
     return(tokenType == CgTokenNodeTypes.DELIMITED_COMMENT || tokenType == CgTokenNodeTypes.UNFINISHED_DELIMITED_COMMENT);
 }
Exemplo n.º 15
0
 public CgGenericTokenNode(TokenNodeType tokenNodeType, string text)
 {
     myTokenNodeType = tokenNodeType;
     myText          = text;
 }
 protected override bool IsEndOfLineComment(TokenNodeType tokenType, string tokenText)
 {
     return(tokenType.IsComment && tokenText.StartsWith("//"));
 }
Exemplo n.º 17
0
 public virtual void Advance()
 {
     LocateToken();
     currTokenType = null;
 }
Exemplo n.º 18
0
 protected override bool IsLineComment(TokenNodeType tokenType)
 {
     return(tokenType == CgTokenNodeTypes.SINGLE_LINE_COMMENT);
 }
 protected override bool IsLeftBracket(TokenNodeType tokenType)
 {
     return tokenType == NTriplesTokenType.L_BRACE || tokenType == NTriplesTokenType.L_PARENTHESES ||
            tokenType == NTriplesTokenType.L_BRACKET || tokenType == NTriplesTokenType.URI_BEGIN;
 }
Exemplo n.º 20
0
 protected override bool IsBlockComment(TokenNodeType tokenType)
 {
     return(tokenType == ShaderLabTokenType.MULTI_LINE_COMMENT);
 }
 protected override bool Skip(TokenNodeType tokenType)
 {
   return ((tokenType == PsiTokenType.NEW_LINE) || (tokenType == PsiTokenType.WHITE_SPACE) || (tokenType == PsiTokenType.END_OF_LINE_COMMENT) || (tokenType == PsiTokenType.C_STYLE_COMMENT));
 }
Exemplo n.º 22
0
 protected override bool IsNumber(TokenNodeType tokenType)
 {
     return(tokenType == ShaderLabTokenType.NUMERIC_LITERAL || tokenType == ShaderLabTokenType.PP_DIGITS);
 }
 private void locateToken()
 {
   if (currTokenType == null)
   {
     currTokenType = _locateToken();
   }
   if (currTokenType != null && !currTokenType.IsWhitespace)
   {
     myMakeDivide = MAKE_DIVIDE[currTokenType];
   }
 }
Exemplo n.º 24
0
 private TokenNodeType makeToken(TokenNodeType type)
 {
     //yy_lexical_state = state;
     return(currTokenType = type);
 }
Exemplo n.º 25
0
 public TokenTypePair(TokenNodeType type1, TokenNodeType type2)
 {
   myType1 = type1;
   myType2 = type2;
 }
Exemplo n.º 26
0
 public virtual void Advance()
 {
     LocateToken();
     currTokenType = null;
 }
 protected override bool IsNewLine(TokenNodeType tokenType)
 {
     return(tokenType == ShaderLabTokenType.END_OF_LINE_COMMENT);
 }
Exemplo n.º 28
0
        /// <summary>
        /// Negative and positive signs must be spaced correctly.
        /// </summary>
        /// <param name="node">
        /// The node to use.
        /// </param>
        /// <param name="tokenToCheck">
        /// The token to check.
        /// </param>
        public static void NegativeAndPositiveSignsMustBeSpacedCorrectly(ITreeNode node, TokenNodeType tokenToCheck)
        {
            for (ITreeNode currentNode = node; currentNode != null; currentNode = currentNode.NextSibling)
            {
                if (currentNode is ITokenNode)
                {
                    ITokenNode tokenNode = currentNode as ITokenNode;

                    if (tokenNode.GetTokenType() == tokenToCheck)
                    {
                        if (tokenNode.Parent is IOperatorExpression && !(tokenNode.Parent is IAdditiveExpression))
                        {
                            ITokenNode nextToken = tokenNode.GetNextToken();

                            if (nextToken.IsWhitespace())
                            {
                                using (WriteLockCookie.Create(true))
                                {
                                    // remove the whitespace or new line
                                    LowLevelModificationUtil.DeleteChild(nextToken);
                                }
                            }
                        }
                    }
                }

                if (currentNode.FirstChild != null)
                {
                    NegativeAndPositiveSignsMustBeSpacedCorrectly(currentNode.FirstChild, tokenToCheck);
                }
            }
        }
 //Method doesn't call now
 protected override bool IsRightBracket(TokenNodeType tokenType)
 {
     return false;
 }
 public GenericTokenElement(TokenNodeType tokenNodeType, string text)
 {
     myTokenNodeType = tokenNodeType;
     myText          = text;
 }
Exemplo n.º 31
0
		/// <summary>
		/// Returns whether to skips a specified token type.
		/// </summary>
		/// <param name="tokenType">Type of the token.</param>
		/// <returns><c>true</c> if the token must be skipped, <c>false</c> otherwise.</returns>
		protected override bool Skip(TokenNodeType tokenType) {
			return tokenType.IsWhitespace;
		}
Exemplo n.º 32
0
 protected override bool IsLineComment(TokenNodeType tokenType)
 {
     return(base.IsLineComment(tokenType));
 }
Exemplo n.º 33
0
 private TokenNodeType makeToken(TokenNodeType type)
 {
     //yy_lexical_state = state;
     return currTokenType = type;
 }
Exemplo n.º 34
0
 protected override bool IsString(TokenNodeType tokenType)
 {
     return(base.IsString(tokenType));
 }
Exemplo n.º 35
0
 public static string GetTokenText(TokenNodeType token)
 {
     return GetKeywordTextByTokenType(token);
 }
Exemplo n.º 36
0
 protected override bool IsNumber(TokenNodeType tokenType)
 {
     return(base.IsNumber(tokenType));
 }
 protected override bool IsRightBracket(TokenNodeType tokenType)
 {
     return tokenType == NTriplesTokenType.R_BRACE || tokenType == NTriplesTokenType.R_PARENTHESES ||
            tokenType == NTriplesTokenType.R_BRACKET || tokenType == NTriplesTokenType.URI_END;
 }
Exemplo n.º 38
0
 protected override bool IsKeyword(TokenNodeType tokenType)
 {
     return(base.IsKeyword(tokenType) || tokenType.IsConstantLiteral);
 }
Exemplo n.º 39
0
 public override string GetTokenReprByTokenType(TokenNodeType token)
 {
     return base.GetTokenReprByTokenType(token);
 }
Exemplo n.º 40
0
 public DocComment([NotNull] TokenNodeType nodeType, [NotNull] string text) : base(nodeType, text)
 {
 }
 public NTriplesGenericToken(TokenNodeType nodeType, string text)
 {
     this.myNodeType = nodeType;
     this.myText = text;
 }
 public void Advance()
 {
   locateToken();
   currTokenType = null;
 }
 private TokenNodeType makeToken(TokenNodeType type)
 {
   return currTokenType = type;
 }
 public override string GetTokenContentsText(string tokenText, TokenNodeType tokenType)
 {
     return null;
 }
 protected override bool Skip(TokenNodeType tokenType)
 {
     return(NTriplesLanguageService.WHITESPACE_OR_COMMENT[tokenType]);
 }
 protected override bool IsWhitespace(TokenNodeType tokenType)
 {
     return(tokenType.IsWhitespace);
 }
Exemplo n.º 47
0
 private bool IsIdentifier(TokenNodeType tokenType)
 {
     return tokenType == CSharpTokenType.IDENTIFIER || CSharpTokenType.KEYWORDS.Exists(type => type == tokenType);
 }
Exemplo n.º 48
0
        /// <summary>
        /// Determines whether a given node is filtered.
        /// </summary>
        /// <param name="node">The node to check.</param>
        /// <returns><c>true</c> if <paramref name="node"/> is a whitespace; otherwise, <c>false</c>.</returns>
        public override bool IsFilteredNode(ITreeNode node)
        {
            TokenNodeType nodeType = node.GetTokenType();

            return(nodeType != null && nodeType.IsWhitespace);
        }
 public override string GetTokenReprByTokenType(TokenNodeType token)
 {
     return null;
 }
Exemplo n.º 50
0
 public void Advance()
 {
     LocateToken();
     currentTokenType = null;
 }
Exemplo n.º 51
0
 protected virtual bool IsBlockComment(TokenNodeType tokenType)
 {
     return(false);
 }
Exemplo n.º 52
0
 protected virtual bool IsNumber(TokenNodeType tokenType)
 {
     return(false);
 }
Exemplo n.º 53
0
 public Comment(TokenNodeType nodeType, string text)
   : base(nodeType, text)
 {
 }
Exemplo n.º 54
0
 private static bool IsSupportedTokenType(TokenNodeType tokenType)
 => tokenType == T4TokenNodeTypes.Name ||
 tokenType == T4TokenNodeTypes.Space ||
 tokenType == T4TokenNodeTypes.DirectiveStart ||
 tokenType == T4TokenNodeTypes.Quote ||
 tokenType == T4TokenNodeTypes.Value;