Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var OperatorMarks = map[rune]struct{}{}
OperatorMarks represents a list of operators
View Source
var TokenList []string
TokenList represents a list of tokens
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 ¶
This section is empty.
Types ¶
type ItemList ¶
type ItemList struct { // Items contains all the items in the list. Items []Item // Position is the current position the set is at in the token slice. Position int }
ItemList represents an ordered set of tokens.
func (*ItemList) PushKeyword ¶
func (*ItemList) PushStream ¶
type Position ¶
type Position struct {
Line, Column int // The position relative to other characters in the file
Position int // The position in bytes in the file
File string
}
Position is a position
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 Abort() }
Stream is an ordered set of tokens
type Token ¶
type Token int
Token is a token
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 )
Click to show internal directories.
Click to hide internal directories.