文件名称:lithium-lang:尝试开发自己的编程语言
文件大小:23KB
文件格式:ZIP
更新时间:2024-05-17 07:41:37
Haskell
锂 一种高度React性的编程语言和运行时 这不是真的,只是我正在尝试查看是否可以创建编程语言的基本构建块,编写基本的词法分析器和解析器并发出LLVM字节码。 如果确实演变成一种完整的语言,那么目标可能是这样的: 响应式编程是一流的概念,并已嵌入到语言中 默认情况下,使用对象之间的消息传递来实现安全并发 功能强大 严格的依赖注入作为语言的一部分 编译而不是解释,并且没有VM,因此它可以在iOS上运行,这不允许进行JITing之类的操作。 当我研究现有语言的灵感和想法时,我将在添加注释。 例子 到目前为止,仅实现了基本的语言构造,但是到目前为止,该示例已成功编译。 def fib(x:Double): when: ( x < 3: 1 else: fib(x - 1) + fib(x - 2) ); def main(): fib(9); 致谢 我是
【文件预览】:
lithium-lang-master
----.gitignore(1KB)
----stack.yaml(257B)
----README.md(4KB)
----lithium-lang.cabal(2KB)
----Setup.hs(46B)
----LICENSE(1KB)
----setup.sh(179B)
----src()
--------Utils.hs(456B)
--------Parser.hs(3KB)
--------Codegen.hs(8KB)
--------Syntax.hs(410B)
--------JIT.hs(2KB)
--------Emit.hs(5KB)
--------Main.hs(1KB)
--------Lexer.hs(1KB)
----.idea()
--------encodings.xml(159B)
--------misc.xml(1KB)
--------modules.xml(264B)
--------.name(12B)
--------copyright()
--------compiler.xml(920B)
----lithium-lang.iml(660B)
----doc()
--------insperation.md(10KB)
----.travis.yml(764B)
----samples()
--------01_fib.lithium(147B)
--------02_fib_full.lithium(209B)