Logo
☆☆☆☆☆
0.0
Intermediate
3h

领域特定语言:设计与实现

领域特定语言(DSLs)是用于表达特定问题领域中程序独特特性的编程语言,与通用编程语言(GPLs)相对。通常,它们规模较小,采用声明式而非命令式风格,也可以是图形化或文本形式。例如,SQL、TEX 和 Unix shell 都是 DSL 的实例。使用 DSL 可以更快、更安全地开发软件应用。DSL 的构造抽象了领域中的核心概念,使不具备高级编程技能的开发者也能编写更加简洁、高层次的程序。 在本课程中,程序员将学习如何定义 DSL 的正式语法和操作语义。此外,还将学习语言实现的不同方法,如基于编译器和基于解释器的实现方式。

9 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
领域特定语言:设计与实现
领域特定语言(DSLs)是用于表达特定问题领域中程序独特特性的编程语言,与通用编程语言(GPLs)相对。通常,它们规模较小,采用声明式而非命令式风格,也可以是图形化或文本形式。例如,SQL、TEX 和 Unix shell 都是 DSL 的实例。使用 DSL 可以更快、更安全地开发软件应用。DSL ...

WHAT YOU'LL LEARN

设计一种新编程语言的能力

Content

9 Lessons • 0 Quizzes • 0 Challenges

开始之前
  1. 1

    预期内容

简介
  1. 1

    编程语言

  2. 2

    通用编程语言与领域特定编程语言

  3. 3

    编程语言实现过程

  4. 4

    自测练习:测试基础知识

语言设计
  1. 1

    语言语法

  2. 2

    操作语义

  3. 3

    类型系统

  4. 4

    自测题:语言设计

语言实现
  1. 1

    词法分析

  2. 2

    语法分析

  3. 3

    语义分析

  4. 4

    代码生成

  5. 5

    自我测验:语言实现

ANTLR v4
  1. 1

    另一种语言识别工具(ANTLR)

  2. 2

    ANTLR v4 语法

  3. 3

    ANTLR 语法分析树

  4. 4

    解析器实现

  5. 5

    解析器与Java程序的集成

  6. 6

    ANTLR 监听器

  7. 7

    ANTLR 访问者

  8. 8

    使用语言翻译实现语言开发

  9. 9

    测验:ANTLR v4

JastAdd
  1. 1

    JastAdd 简介

  2. 2

    面向切面编程

  3. 3

    属性语法

  4. 4

    使用 JastAdd 扩展 Java 编译器

  5. 5

    使用 JastAddGradle 构建项目

  6. 6

    自我测验:JastAdd

使用 ANTLR v4 和 JastAdd 的语言实现
  1. 1

    JastAdd 和 ANTLR

  2. 2

    一些实际的语法

  3. 3

    案例研究1:实现数据查询语言

  4. 4

    案例研究2:扩展数据查询语言

结论
  1. 1

    最后的思考

附录
  1. 1

    ANTLR 安装教程

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)