programming-languages - 如何开发像 Coffee Script 这样的编程语言?

标签 programming-languages

开发像 CoffeeScript 这样的编程语言,基本上有自己的语法,但在编译成另一种语言后,我需要知道什么初始要求。我对此进行了谷歌搜索,但找不到正确的答案。

最佳答案

  • 使用基本 formal grammar 指定您的语言类似 EBNF .
    statement        = if-statement
                     | return-statement
                     | expression
                     | ...
    
    if-statement     = "if" "(" expression ")" "{" statements "}"
    
    return-statement = "return" expression ";"
    
    ...
    
  • 了解简单parsingrecursive descentoperator precedence .
  • 编写一个解析器来创建 abstract syntax tree从源文件。
  • 写一个code generator将这个 AST 转换成你的目标语言;或
  • 写一个 interpreter仅评估AST。
  • 关于programming-languages - 如何开发像 Coffee Script 这样的编程语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10300065/

    相关文章:

    c++ - 我们是继承接口(interface)还是实现接口(interface)?

    compiler-construction - 有没有办法创建在硬件中实现的高级语言解释器?

    c# - 为控件和数据类型分配标准名称

    programming-languages - 究竟什么是意向编程

    compiler-construction - 编译为机器代码的编译器是否需要用汇编编写?

    java - 哪种语言介于 C++ 和 Java 之间?

    .net - 有没有多平台语言?

    programming-languages - 平台无关语言

    language-agnostic - 游戏公司如何处理多平台编程?

    c++ - 为什么 Python 程序通常比用 C 或 C++ 编写的等效程序慢?