构建IDE /编译器所需的概念

编程入门 行业动态 更新时间:2024-10-27 01:34:08
本文介绍了构建IDE /编译器所需的概念的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

当涉及到IDE(例如SharpDevelop)或编译器/语言解析器时,我需要知道什么计算机科学的主题?我不希望有一个完整的深入的教程列表,但只是一个列表的主题,这将有利于我的改进。

When it comes to making an IDE (e.g. SharpDevelop) or a compiler/language parser, what topics of computer science do I need to know? I don't expect a full list of in depth tutorials but just a list of topics which would benefit me in improving.

我是正确的认为解析器有一些规则关于语言的语法/语义,并验证基于这些规则的代码?这看起来像一个简单的方法?

Am I right in thinking a parser has some rules about the syntax/semantics of a language, and validates the code based on these rules? That seems like a simple approach?

感谢

推荐答案

,编译器和调试器是三个不同的野兽。

An IDE, a compiler and a debugger are three different beasts.

这里是一个快速和稍微随机选择一些链接,我发现有趣或鼓舞人心的时候,对于模拟语言,这是尽可能接近IDE:

Here's a quick and slightly random selection of some links that I've found interesting or inspiring when thinking about building modeling tools for simulation languages, which is as close as I get to IDE:

  • 高性能GUI
  • Magic Ink - 可编程信息而不是互动
  • 动态语言的动态IDE (Bracha还设计了Java的调试镜像接口,另一个IDE需要的东西)
  • 信息设计模式 - GUI的一般示例
  • 问题带有选项卡式界面(虽然当代码的每一页看起来都相同时,图标并没有太多用处;也许生成的图标就像这里的工作)
  • 开发多模式用户界面的常见建议 - 如果表达你的代码的最好方法是挥动你的手,或给一个错误一个严厉的对话。
  • Pinocchio问题 - 类似的是Bracha的帖子,关于修补正在运行的框架
  • The High Performance GUI
  • Magic Ink - programmable information rather than interaction
  • Edward Tufte - imagine if your working life was spent looking at information made this beautiful.
  • Dynamic IDEs for Dynamic Languages (Bracha also designed Java's debugging mirror interface, another thing an IDE needs)
  • Information Design Patterns - general examples of GUIs
  • Problems with tabbed interfaces (though icons aren't much use either when each page of code looks the same; maybe generated icons like the ones here would work)
  • Common Sense Suggestions for Developing Multimodal User Interfaces - what if the best way to express your code is to wave your hands around, or give a bug a stern talking to.
  • The Pinocchio Problem - similar are to Bracha's post, about patching a running framework

这些链接有一些偏向于模式,以帮助阅读和浏览,以及用户在使用它们而不是作为单独的循环时扩展的系统;如果你想要一个面向任务的界面或静态插件,现有的IDE,如Eclipse的项目是可以看的。

There's somewhat of a bias in those links towards patterns to help reading and browsing rather than writing code, and towards systems the user extends while using them rather than as a separate cycle; if you want a task-oriented interface or static plugins, projects for existing IDEs such as Eclipse are the place to look.

更多推荐

构建IDE /编译器所需的概念

本文发布于:2023-07-27 14:18:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1222818.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:所需   编译器   概念   IDE

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!