i-go

所属分类:编程语言基础
开发工具:GO
文件大小:0KB
下载次数:0
上传日期:2023-10-21 23:31:27
上 传 者sh-1993
说明:  i-go编程语言解释器,
(i-go Programming Language Interpreter,)

文件列表:
LICENSE.txt (1066, 2023-12-10)
Makefile (93, 2023-12-10)
cmd/ (0, 2023-12-10)
cmd/main.go (121, 2023-12-10)
cmd/repl/ (0, 2023-12-10)
cmd/repl/repl.go (1408, 2023-12-10)
go.mod (43, 2023-12-10)
go.sum (179, 2023-12-10)
src/ (0, 2023-12-10)
src/ast/ (0, 2023-12-10)
src/ast/ast.go (7678, 2023-12-10)
src/ast/ast_test.go (614, 2023-12-10)
src/evaluator/ (0, 2023-12-10)
src/evaluator/built_in_funcs.go (780, 2023-12-10)
src/evaluator/error.go (652, 2023-12-10)
src/evaluator/evaluator.go (10910, 2023-12-10)
src/evaluator/evaluator_test.go (11243, 2023-12-10)
src/lexer/ (0, 2023-12-10)
src/lexer/lexer.go (4449, 2023-12-10)
src/lexer/lexer_test.go (2871, 2023-12-10)
src/object/ (0, 2023-12-10)
src/object/object.go (4247, 2023-12-10)
src/object/object_test.go (1355, 2023-12-10)
src/parser/ (0, 2023-12-10)
src/parser/parser.go (10879, 2023-12-10)
src/parser/parser_test.go (23364, 2023-12-10)
src/token/ (0, 2023-12-10)
src/token/token.go (1132, 2023-12-10)
src/utils/ (0, 2023-12-10)
src/utils/utils.go (248, 2023-12-10)

## Quasark Interpreter Parser implements [**Pratt parsing algorithm**](https://journal.stuffwithstuff.com/2011/03/19/pratt-parsers-expression-parsing-made-easy/) ### Code snippets ```rs let fibanacci = fn(n) { if n < 2 { return n; } return fibanacci(n-2) + fibanacci(n-1) } fibanacci(42) ``` ```rs let isAnswerOnTheLifeQuestion = fn(answer) { let expectedAnswer = 42; return answer == expectedAnswer; }; isAnswerOnTheLifeQuestion(69); ``` ```rs let person = { "age": 10, "live": fn() { print("living..."); }, }; person["live"]() ``` ### How to run locally - have **go** installed locally - install dependecies ```bash go mod download ``` - launch REPL ```bash make run ``` ![image](https://github.com/vdchnsk/quasark/assets/64404596/5c51f070-0884-473f-b38a-299f0fbbfa4e)

近期下载者

相关文件


收藏者