MCPcopy Create free account

hub / github.com/chermehdi/comet / functions

Functions305 in github.com/chermehdi/comet

↓ 115 callersFunctionNewToken
Creates a new token from the given literal and type.
pkg/lexer/token.go:13
↓ 53 callersMethodAccept
(NodeVisitor)
pkg/parser/node.go:46
↓ 52 callersFunctionassertFoundInScope
(t *testing.T, ev *Evaluator, name string, expectedType std2.CometType)
pkg/eval/evaluator_test.go:1003
↓ 41 callersMethodEval
Evaluates the given node into a CometObject If the node is a statement a CometNop object is returned Errors are CometObject instances as well, and the
pkg/eval/evaluator.go:98
↓ 41 callersMethodType
Type returns the type of this instance, see CometType for details about available/possible types
pkg/std/types.go:29
↓ 33 callersFunctionNewTokenWithMeta
Creates a new token from the given literal and type.
pkg/lexer/token.go:23
↓ 25 callersMethodadvance
Changes the current token to the next token.
pkg/parser/parser.go:156
↓ 22 callersMethodprintIndent
()
pkg/debug/printer.go:84
↓ 21 callersMethodParse
Parse the program and return a RootNode representing the root of the AST.
pkg/parser/parser.go:162
↓ 17 callersFunctionNew
(src string)
pkg/parser/parser.go:106
↓ 17 callersFunctionNewEvaluator
NewEvaluator Constructs a new evaluator Each constructed evaluator has it's own Scope, i.e variables accessible from one Evaluator Are not accessible
pkg/eval/evaluator.go:25
↓ 17 callersMethodadvanceExpect
(expected lexer.TokenType)
pkg/parser/parser.go:433
↓ 17 callersFunctionparseOrDie
(s string)
pkg/eval/evaluator_test.go:1021
↓ 14 callersMethodadvance
()
pkg/lexer/lexer.go:143
↓ 12 callersMethodToString
ToString returns a string representation For Debugging / REPL purposes
pkg/std/types.go:32
↓ 12 callersFunctionassertFoundType
(t *testing.T, ev *Evaluator, name string)
pkg/eval/evaluator_test.go:1010
↓ 12 callersMethodparseExpression
This will initiate try parsing an expression with the Minimum precedence.
pkg/parser/parser.go:224
↓ 11 callersMethodpeek
()
pkg/lexer/lexer.go:154
↓ 9 callersMethodexpectNext
(expected lexer.TokenType)
pkg/parser/parser.go:440
↓ 9 callersMethodregisterPrefixFunc
Utility method to enable prefix function registration for given token types.
pkg/parser/parser.go:142
↓ 8 callersFunctionboolValue
(condition bool)
pkg/eval/evaluator.go:605
↓ 7 callersMethodHasAny
()
pkg/parser/parser.go:75
↓ 7 callersMethodReport
(token lexer.Token, message string, params ...interface{})
pkg/parser/parser.go:68
↓ 7 callersFunctionassertInteger
(t *testing.T, v std2.CometObject, expected int64)
pkg/eval/evaluator_test.go:991
↓ 5 callersFunctionisError
(obj std2.CometObject)
pkg/eval/evaluator.go:612
↓ 5 callersMethodparseBlockStatement
()
pkg/parser/parser.go:337
↓ 4 callersFunctionCreateError
(s string, params ...interface{})
pkg/std/types.go:157
↓ 4 callersMethodDeclare
This function will create the symbol reference in the local scope.
pkg/eval/evaluator.go:86
↓ 4 callersMethodLookup
Looks up the object bound to the varName The lookup should explore the parent(s) Scope as well ans should return a tuple (obj, true) if an object is b
pkg/eval/evaluator.go:58
↓ 4 callersFunctionNewScope
Creates a new Scope with the given parent.
pkg/eval/evaluator.go:47
↓ 4 callersMethodVisitExpression
(parser2.Expression)
pkg/debug/printer.go:90
↓ 4 callersFunctionunwrap
(result std2.CometObject)
pkg/eval/evaluator.go:153
↓ 3 callersMethodNext
()
pkg/lexer/lexer.go:29
↓ 3 callersMethodString
()
pkg/parser/parser.go:59
↓ 2 callersMethodClear
(name string)
pkg/eval/evaluator.go:90
↓ 2 callersMethodGetMethod
GetMethod return the CometFunc name with name The second parameter is `false` if the method is not found
pkg/std/types.go:194
↓ 2 callersFunctionNewLexer
Creates an initializes a new lexer from the given input source.
pkg/lexer/lexer.go:18
↓ 2 callersFunctionapplyStrOp
(op lexer2.TokenType, left std2.CometObject, right std2.CometObject)
pkg/eval/evaluator.go:577
↓ 2 callersFunctionassertBoolean
(t *testing.T, v std2.CometObject, expected bool)
pkg/eval/evaluator_test.go:985
↓ 2 callersFunctionassertError
(t *testing.T, v std2.CometObject, ExpectedErrorMsg string)
pkg/eval/evaluator_test.go:979
↓ 2 callersFunctionassertStr
(t *testing.T, v std2.CometObject, expected string)
pkg/eval/evaluator_test.go:997
↓ 2 callersMethodcallOnObject
(name string, object *std2.CometInstance, params ...Param)
pkg/eval/evaluator.go:195
↓ 2 callersFunctionextractPrimitive
(object CometObject)
pkg/std/builtins.go:96
↓ 2 callersFunctiongetPrecedence
(token lexer.Token)
pkg/parser/parser.go:37
↓ 2 callersMethodparseCallArguments
()
pkg/parser/parser.go:271
↓ 2 callersMethodparseFunctionStatement
()
pkg/parser/parser.go:382
↓ 2 callersMethodparseInternal
Tries to parse as long as the currentPrecedence is smaller than the precedence of the next operator. This is an implementation of the idea of a Pratt
pkg/parser/parser.go:319
↓ 2 callersMethodparseStatement
Try to parse a statement, it's possible just by knowing the current token type because the Grammar of the language allows us to. Otherwise fallback to
pkg/parser/parser.go:179
↓ 2 callersMethodregisterBinaryFunc
Utility method to enable binary function registration for given token types.
pkg/parser/parser.go:149
↓ 1 callersMethodAdd
Add adds a method to a struct with performing sanity checks according to the language rules.
pkg/std/types.go:173
↓ 1 callersMethodError
()
pkg/parser/parser.go:50
↓ 1 callersMethodEvalAssignExpression
(n *parser2.AssignExpression)
pkg/eval/evaluator.go:536
↓ 1 callersMethodGetConstructor
GetConstructor returns the CometFunc coresponding to the constructor of this type declaration. This should only be used at first time creating an inst
pkg/std/types.go:188
↓ 1 callersMethodLiteral
()
pkg/parser/node.go:45
↓ 1 callersMethodSetField
(instance *std2.CometInstance, name string, value parser2.Expression)
pkg/eval/evaluator.go:292
↓ 1 callersFunctionStart
(reader io.Reader, writer io.Writer)
cmd/repl/repl.go:12
↓ 1 callersMethodStore
Stores the object and binds it to the given varName. The function will return true if the assignment of the variable has been done successfully return
pkg/eval/evaluator.go:73
↓ 1 callersFunctionToString
ToString is the standard library's way to convert any object type to a string value. Newly added types should add their string conversion implementati
pkg/std/builtins.go:71
↓ 1 callersMethodVisitArrayAccess
(IndexAccess)
pkg/parser/node.go:32
↓ 1 callersMethodVisitArrayLiteral
(ArrayLiteral)
pkg/parser/node.go:27
↓ 1 callersMethodVisitAssignExpression
(AssignExpression)
pkg/parser/node.go:31
↓ 1 callersMethodVisitBinaryExpression
(BinaryExpression)
pkg/parser/node.go:22
↓ 1 callersMethodVisitBlockStatement
(BlockStatement)
pkg/parser/node.go:37
↓ 1 callersMethodVisitBooleanLiteral
(BooleanLiteral)
pkg/parser/node.go:25
↓ 1 callersMethodVisitCallExpression
(CallExpression)
pkg/parser/node.go:30
↓ 1 callersMethodVisitDeclarationStatement
(DeclarationStatement)
pkg/parser/node.go:35
↓ 1 callersMethodVisitForStatement
(ForStatement)
pkg/parser/node.go:40
↓ 1 callersMethodVisitFunctionStatement
(FunctionStatement)
pkg/parser/node.go:39
↓ 1 callersMethodVisitFunctionStatement
(statement parser2.FunctionStatement)
pkg/debug/printer.go:169
↓ 1 callersMethodVisitIdentifierExpression
(IdentifierExpression)
pkg/parser/node.go:29
↓ 1 callersMethodVisitIfStatement
(IfStatement)
pkg/parser/node.go:38
↓ 1 callersMethodVisitNewCall
(NewCallExpr)
pkg/parser/node.go:33
↓ 1 callersMethodVisitNumberLiteral
(NumberLiteral)
pkg/parser/node.go:24
↓ 1 callersMethodVisitParenthesisedExpression
(ParenthesisedExpression)
pkg/parser/node.go:28
↓ 1 callersMethodVisitPrefixExpression
(PrefixExpression)
pkg/parser/node.go:23
↓ 1 callersMethodVisitReturnStatement
(ReturnStatement)
pkg/parser/node.go:36
↓ 1 callersMethodVisitRootNode
(RootNode)
pkg/parser/node.go:21
↓ 1 callersMethodVisitRootNode
(node parser2.RootNode)
pkg/debug/printer.go:98
↓ 1 callersMethodVisitStringLiteral
(StringLiteral)
pkg/parser/node.go:26
↓ 1 callersMethodVisitStructDeclaration
(StructDeclarationStatement)
pkg/parser/node.go:41
↓ 1 callersFunctionapplyBoolOp
(op lexer2.TokenType, left std2.CometObject, right std2.CometObject)
pkg/eval/evaluator.go:592
↓ 1 callersFunctionapplyOp
(op lexer2.TokenType, left std2.CometObject, right std2.CometObject)
pkg/eval/evaluator.go:546
↓ 1 callersMethodassertBinaryExpression
(expression BinaryExpression)
pkg/parser/parser_test.go:93
↓ 1 callersFunctionassertNotFoundType
(t *testing.T, ev *Evaluator, name string)
pkg/eval/evaluator_test.go:1016
↓ 1 callersMethodassertNumberLiteralNode
(expression NumberLiteral)
pkg/parser/parser_test.go:101
↓ 1 callersFunctionconsumeLexer
(l *Lexer)
pkg/lexer/lexer_test.go:179
↓ 1 callersMethodevalArrayAccess
(arr *parser2.IndexAccess)
pkg/eval/evaluator.go:519
↓ 1 callersMethodevalArrayElements
(arr *parser2.ArrayLiteral)
pkg/eval/evaluator.go:505
↓ 1 callersMethodevalBinaryExpression
(n *parser2.BinaryExpression)
pkg/eval/evaluator.go:297
↓ 1 callersMethodevalCallExpression
(n *parser2.CallExpression)
pkg/eval/evaluator.go:440
↓ 1 callersMethodevalConditional
(n *parser2.IfStatement)
pkg/eval/evaluator.go:398
↓ 1 callersMethodevalDeclareStatement
(n *parser2.DeclarationStatement)
pkg/eval/evaluator.go:411
↓ 1 callersMethodevalForStatement
(n *parser2.ForStatement)
pkg/eval/evaluator.go:483
↓ 1 callersMethodevalIdentifier
(n *parser2.IdentifierExpression)
pkg/eval/evaluator.go:422
↓ 1 callersMethodevalNewCall
(expr *parser2.NewCallExpr)
pkg/eval/evaluator.go:161
↓ 1 callersMethodevalPrefixExpression
(n *parser2.PrefixExpression)
pkg/eval/evaluator.go:264
↓ 1 callersMethodevalRootNode
(statements []parser2.Statement)
pkg/eval/evaluator.go:212
↓ 1 callersMethodevalStatements
(statements []parser2.Statement)
pkg/eval/evaluator.go:250
↓ 1 callersMethodevalStructDecl
(decl *parser2.StructDeclarationStatement)
pkg/eval/evaluator.go:226
↓ 1 callersFunctionidentifierCharacter
(c byte)
pkg/lexer/lexer.go:177
next →1–100 of 305, ranked by callers