解析LOGO海龟代码的设计模式

发布于 2024-12-12 03:04:54 字数 163 浏览 2 评论 0原文

在维基百科中,Logo 编程是一种用于教育的多范式计算机编程语言。我想使用 C# 制作一个像 TurtleGraphicEditor (使用徽标编程)这样的应用程序。我希望每个徽标命令都充当方法,例如命令“forward val”充当“forward(float val)”等。适合解析徽标代码的设计模式是什么?

In wikipedia, Logo Programming is a multi-paradigm computer programming language used in education. I want to make an application like TurtleGraphicEditor (which using logo programing) using C#. I want each logo command act as method, example command "forward val" act as "forward(float val)", etc. What is design pattern that suitable for parsing the Logo code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

痴梦一场 2024-12-19 03:04:54

这是一个非常普遍的问题。以下是您可能需要阅读的一些主题:

  • 词法
  • 分析器 解析器(如您所提到的)
  • 抽象语法树
  • 编译器
  • 特定于领域的语言
  • 解释器

此类应用程序的一般设计可能有两个主要组件:

  1. 读取文本、词法并解析为抽象语法树
  2. 遍历语法树,要么对其进行评估,要么将其转换(编译)为不同语言的源代码,

但请注意!这可不是小事!

This is a very general question. Here are some topics that you might want to read up on:

  • lexers
  • parsers (as you mentioned)
  • abstract syntax trees
  • compilers
  • domain-specific languages
  • interpreters

A general design for such an application might have two main components:

  1. read text, lex and parse into abstract syntax tree
  2. walk the syntax tree, either evaluating it or transforming it (compiling) into source code in a different language

But be warned! This is not trivial!

倾城°AllureLove 2024-12-19 03:04:54

Interpreter 是理想的解决方案

Interpreter is ideal solution

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文