List of usage examples for org.antlr.v4.runtime CommonToken setType
@Override
public void setType(int type)
From source file:PhpBaseLexer.java
License:Open Source License
@Override public Token nextToken() { CommonToken token = (CommonToken) super.nextToken(); if (token.getType() == PhpLexer.PHPEnd || token.getType() == PhpLexer.PHPEndSingleLineComment) { if (_mode == PhpLexer.SingleLineCommentMode) { // SingleLineCommentMode for such allowed syntax: // <?php echo "Hello world"; // comment ?> popMode(); // exit from SingleLineComment mode. }/*from ww w .ja va 2 s . co m*/ popMode(); // exit from PHP mode. if (token.getText().equals("</script>")) { _phpScript = false; token.setType(PhpLexer.ScriptClose); } else { // Add semicolon to the end of statement if it is absente. // For example: <?php echo "Hello world" ?> if (_prevTokenType == PhpLexer.SemiColon || _prevTokenType == PhpLexer.Colon || _prevTokenType == PhpLexer.OpenCurlyBracket || _prevTokenType == PhpLexer.CloseCurlyBracket) { token.setChannel(PhpLexer.SkipChannel); } else { token = new CommonToken(PhpLexer.SemiColon); } } } else if (token.getType() == PhpLexer.HtmlName) { _htmlNameText = token.getText(); } else if (token.getType() == PhpLexer.HtmlDoubleQuoteString) { if (token.getText().equals("php") && _htmlNameText.equals("language")) { _phpScript = true; } } else if (_mode == PhpLexer.HereDoc) { // Heredoc and Nowdoc syntax support: http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc switch (token.getType()) { case PhpLexer.StartHereDoc: case PhpLexer.StartNowDoc: _heredocIdentifier = token.getText().substring(3).trim().replace("\'", ""); break; case PhpLexer.HereDocText: if (CheckHeredocEnd(token.getText())) { popMode(); String heredocIdentifier = GetHeredocIdentifier(token.getText()); if (token.getText().trim().endsWith(";")) { token = new CommonToken(PhpLexer.SemiColon, heredocIdentifier + ";\n"); } else { token = (CommonToken) super.nextToken(); token.setText(heredocIdentifier + "\n;"); } } break; } } else if (_mode == PhpLexer.PHP) { if (_channel != PhpLexer.HIDDEN) { _prevTokenType = token.getType(); } } return token; }
From source file:org.eclipse.titan.designer.AST.ASN1.Object.ObjectClassSyntax_Builder.java
License:Open Source License
public ObjectClassSyntax_Builder(final Block aBlock, final FieldSpecifications aFieldSpecifications) { this.mBlock = aBlock; this.fieldSpecifications = aFieldSpecifications; if (aBlock != null) { final List<Token> internalTokens = new ArrayList<Token>(aBlock.getTokenList().size()); Token token;//w ww . ja v a2s . c o m for (int i = 0; i < aBlock.getTokenList().size(); i++) { token = aBlock.getTokenList().get(i); if (token.getType() == Asn1Lexer.LEFTVERSIONBRACKETS) { final CommonToken token2 = ((TokenWithIndexAndSubTokens) token).copy(); token2.setType(Asn1Lexer.SQUAREOPEN); internalTokens.add(token2); internalTokens.add(token2); } else if (token.getType() == Asn1Lexer.RIGHTVERSIONBRACKETS) { final CommonToken token2 = ((TokenWithIndexAndSubTokens) token).copy(); token2.setType(Asn1Lexer.SQUARECLOSE); internalTokens.add(token2); internalTokens.add(token2); } else { internalTokens.add(token); } } internalTokens.add(new TokenWithIndexAndSubTokens(Token.EOF)); this.mBlock = new Block(internalTokens, aBlock.getLocation()); } }