MCPcopy Create free account
hub / github.com/crossoverJie/gscript / ExpressionStatement

Function ExpressionStatement

syntax/parse.go:65–81  ·  view source on GitHub ↗

ExpressionStatement -> 1+2*3 '\n'

(reader *TokenReader)

Source from the content-addressed store, hash-verified

63
64// ExpressionStatement -> 1+2*3 '\n'
65func ExpressionStatement(reader *TokenReader) (*ASTNode, error) {
66 pos := reader.GetPos()
67 node, err := AdditiveLoop(reader)
68 if err != nil {
69 return nil, err
70 }
71 if node != nil {
72 tokenType := reader.Peek()
73 if tokenType != nil && tokenType.TokenType() == token.Enter {
74 reader.Read()
75 } else {
76 node = nil
77 reader.SetPos(pos) // reset pos
78 }
79 }
80 return node, nil
81}
82
83// AssignmentStatement -> Identifier = Additive parse: a = 10*2,
84func AssignmentStatement(reader *TokenReader) (*ASTNode, error) {

Callers 2

ArithmeticOperatorsFunction · 0.85
ParseFunction · 0.85

Calls 6

AdditiveLoopFunction · 0.85
GetPosMethod · 0.80
TokenTypeMethod · 0.80
ReadMethod · 0.80
SetPosMethod · 0.80
PeekMethod · 0.45

Tested by

no test coverage detected