--------------------------------------------------------------------------- Parse parses a slice of tokens into a parse tree. Any fodder after the final token is returned as well.
(t Tokens)
| 1383 | // Parse parses a slice of tokens into a parse tree. Any fodder after the final token is |
| 1384 | // returned as well. |
| 1385 | func Parse(t Tokens) (ast.Node, ast.Fodder, errors.StaticError) { |
| 1386 | p := makeParser(t) |
| 1387 | expr, err := p.parse(iast.MaxPrecedence) |
| 1388 | if err != nil { |
| 1389 | return nil, nil, err |
| 1390 | } |
| 1391 | eof := p.peek() |
| 1392 | |
| 1393 | if eof.kind != tokenEndOfFile { |
| 1394 | return nil, nil, errors.MakeStaticError(fmt.Sprintf("Did not expect: %v", eof), eof.loc) |
| 1395 | } |
| 1396 | |
| 1397 | addContext(expr, &topLevelContext, anonymous) |
| 1398 | |
| 1399 | return expr, eof.fodder, nil |
| 1400 | } |
| 1401 | |
| 1402 | // SnippetToRawAST converts a Jsonnet code snippet to an AST (without any transformations). |
| 1403 | // Any fodder after the final token is returned as well. |
searching dependent graphs…