jordanlanguage

所属分类:编程语言基础
开发工具:Others
文件大小:0KB
下载次数:0
上传日期:2023-08-27 05:29:03
上 传 者sh-1993
说明:  Jordan编程语言。,
(Jordan programming language.,)

文件列表:
pkg/ (0, 2023-08-26)
pkg/ast/ (0, 2023-08-26)
pkg/ast/tree/ (0, 2023-08-26)
pkg/ast/tree/Expression.go (44, 2023-08-26)
pkg/ast/tree/Literal.go (41, 2023-08-26)
pkg/ast/tree/LiteralBoolean.go (57, 2023-08-26)
pkg/ast/tree/LiteralNumber.go (59, 2023-08-26)
pkg/ast/tree/LiteralString.go (58, 2023-08-26)
pkg/ast/tree/Statement.go (43, 2023-08-26)
pkg/ast/tree/StatementAssign.go (80, 2023-08-26)
pkg/ast/tree/StatementConditional.go (96, 2023-08-26)
pkg/ast/tree/StatementIf.go (110, 2023-08-26)
pkg/ast/tree/StatementKeyword.go (63, 2023-08-26)
pkg/ast/tree/Variable.go (52, 2023-08-26)
pkg/lex/ (0, 2023-08-26)
pkg/lex/Lexer.go (5264, 2023-08-26)
pkg/lex/Lexer_test.go (361, 2023-08-26)
pkg/lex/Token.go (644, 2023-08-26)
pkg/parse/ (0, 2023-08-26)
pkg/parse/Node.go (97, 2023-08-26)
pkg/parse/NodeArray.go (1374, 2023-08-26)
pkg/parse/NodeBlock.go (1155, 2023-08-26)
pkg/parse/NodeBoolean.go (759, 2023-08-26)
pkg/parse/NodeCollection.go (84, 2023-08-26)
pkg/parse/NodeIdentifier.go (739, 2023-08-26)
pkg/parse/NodeKeyword.go (424, 2023-08-26)
pkg/parse/NodeLineEnd.go (306, 2023-08-26)
pkg/parse/NodeNull.go (516, 2023-08-26)
pkg/parse/NodeNumber.go (727, 2023-08-26)
pkg/parse/NodeOperator.go (440, 2023-08-26)
pkg/parse/NodeParentheses.go (474, 2023-08-26)
pkg/parse/NodeString.go (781, 2023-08-26)
pkg/parse/NodeUndefined.go (581, 2023-08-26)
pkg/parse/NodeValue.go (147, 2023-08-26)
pkg/parse/ParseError.go (215, 2023-08-26)
pkg/parse/ParseResult.go (668, 2023-08-26)
pkg/parse/Parse_test.go (380, 2023-08-26)
pkg/parse/Parser.go (5098, 2023-08-26)

# Jordan programming language ## Introductio Jordan is a programming language that emphasises DSL, type autodetection, code readability, and other features that are not common in most of other languages. Jordan is written in Go lang. ## Contribution I warm welcome everyone that wants to contribute in this project. ## Features examples ### Function definition ``` fun helloworld { print "Hello, world!" } fun hello name { print "Hello $name" } helloworld hello "Filip" ``` ### Types aliases and autodetection ``` class Account { created at name } -- Equavilent to class Account { created at: Date name: string } ``` ### Built in DSL functions ``` print name of accounts where active is true ``` * `name` is a property of accounts * `active` is a property of accounts * `accounts` is equavilent to loop over the `account`, english plurals are autodetected. * `where` is a filtering functions * `is` is a comparision operator, equavilent to `==` * `of` is a keyword to specify the object to be used in a functions ### Other features examples * last line of the function is returning value * pattern matching * type inference * no semilicons needed * objective and functional programming paradigms are supported ## Roadmap Currently a proof of concept code was in the implementation. The next step is to either modify it or rewrite from scratch, basing on similar concept. * [ ] Lexer * [ ] Parser * [ ] AST * [ ] Runtime * [ ] Webassembly compiler * [ ] Webassembly runtime * [ ] CLI * [ ] VSCode extension * [ ] Neovim extension

近期下载者

相关文件


收藏者