Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var TokenList []string
View Source
var TokenMap = map[string]Token{}/* 133 elements not displayed */
TokenMap maps source code string tokens to types when strings can be represented directly. Not all types will be represented here.
Functions ¶
Types ¶
type Stream ¶
type Stream interface { // Next consumes and returns the next item in the stream. If there is no next // item, the zero value is returned. Next() Item // Previous consumes and returns the previous item in the stream. i.e. // // a := s.Next() // b := s.Previous() // c := s.Next() // a == b == c // true // // If there is no previous item, the zero value is returned. Previous() Item }
Stream is an ordered set of tokens
type Token ¶
type Token int
const ( EOF Token = iota HTML PHPBegin PHPEnd PHPToken Error Space Function Static Self Parent Final FunctionName TypeHint VariableOperator BlockBegin BlockEnd Global Namespace Use CommentLine CommentBlock IgnoreErrorOperator Return Comma StatementEnd Echo Print If Else ElseIf For Foreach EndIf EndFor EndForeach EndWhile EndSwitch AsOperator While Continue Break Do OpenParen CloseParen Switch Case Default Try Catch Finally Throw Class Abstract Private Public Protected Interface Implements Extends NewOperator Const Null StringLiteral NumberLiteral BooleanLiteral ShellCommand Identifier AssignmentOperator NegationOperator AdditionOperator SubtractionOperator MultOperator ConcatenationOperator UnaryOperator ComparisonOperator InstanceofOperator AndOperator OrOperator WrittenAndOperator WrittenXorOperator WrittenOrOperator ObjectOperator ScopeResolutionOperator CastOperator Var Array ArrayKeyOperator ArrayLookupOperatorLeft ArrayLookupOperatorRight List BitwiseShiftOperator StrongEqualityOperator StrongNotEqualityOperator EqualityOperator NotEqualityOperator AmpersandOperator BitwiseXorOperator BitwiseOrOperator BitwiseNotOperator TernaryOperator1 TernaryOperator2 Declare Include Exit )
type Type ¶
type Type int
Type is a bitmask representing the type of a token
const ( InvalidType Type = 1 << iota KeywordType // keyword, e.g. "static", "function" LiteralType // literal, e.g. 234, "a string", false MarkerType // marker for code blocks and groupings, e.g. {, ( OperatorType // operator, e.g. +, ===, $ IdentifierType // identifier, e.g. StdClass CommentType WhitespaceType Significant = KeywordType | LiteralType | MarkerType | OperatorType | IdentifierType )