Valentine:解释型函数式语言

时间:2021-06-13 14:24:56
【文件属性】:
文件名称:Valentine:解释型函数式语言
文件大小:40KB
文件格式:ZIP
更新时间:2021-06-13 14:24:56
Java 情人节 使用 ANTLR4 生成解析器/词法分析器/AST 的解释型玩具语言 目前支持: 动态打字 算术、关系和布尔运算 打印声明 列表、整数、布尔值 一等函数(带闭包):函数可以被赋值给变量,被其他函数返回并用作参数。最后一个表达式的值作为函数的值返回(如在 Lisps 中) 匿名函数:匿名函数调用和定义可用作函数参数和/或绑定到变量 使用延迟 thunk 进行延迟评估:可以通过这种方式创建潜在的无限列表(尽管这受到 JVM 的最大递归深度/堆栈大小的限制) 检查 *.vlnt 文件以获取示例程序 语法/功能的快速教程: 变量赋值: # Identifiers may be formed from any combination of lower case characters (a-z) # except for the language's keywords: i
【文件预览】:
Valentine-master
----listLib.vlnt(805B)
----bin()
--------MyG.tokens(781B)
--------MyGLexer.tokens(781B)
--------MyG.g4(3KB)
----fibonacci.vlnt(147B)
----perceptron.vlnt(2KB)
----neuroevolve.vlnt(4KB)
----infiniList.vlnt(326B)
----lazyEval.vlnt(175B)
----src()
--------LibVisitor.java(11KB)
--------Function.java(3KB)
--------MyMap.java(436B)
--------Enviroment.java(542B)
--------MyVisitor.java(22KB)
--------Driver.java(2KB)
--------Value.java(3KB)
--------MyG.g4(3KB)
--------List.java(785B)
----testLib.vlnt(672B)
----generated()
--------MyGVisitor.java(10KB)
--------MyG.tokens(636B)
--------MyGLexer.tokens(636B)
--------MyGLexer.java(12KB)
--------MyGBaseVisitor.java(11KB)
--------MyGParser.java(67KB)
----.gitignore(803B)
----lambdaIf.vlnt(369B)
----README.md(2KB)
----.gitattributes(378B)
----test.vlnt(2KB)

网友评论