gpt4 book ai didi

创建一种标记语言,如 markdown

转载 作者:行者123 更新时间:2023-12-03 21:29:52 24 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

5年前关闭。




Improve this question




我一直在研究创建类似于 Markdown 的标记语言。我想知道从哪里开始这样的事情。我对创建语言进行了一些研究,最后我得到了关于词法分析器和 AST 的教程——最后,这些语言被传递给了 LLVM 之类的东西。

据我了解,像 C 这样的语言是命令式语言,而像 Markdown 这样的语言是声明式语言。对于可能不会触及 LLVM 之类的东西的工具链究竟是什么样子的?

我在 Python 中看到了其他答案,例如如何标记语言.但是,我如何在 C 中做到这一点?我想要一些可以在任何地方使用的东西(例如,集成到 Ruby native 扩展或 C# 项目中)。

我似乎无法找到一个好的方向。有没有人有关于从哪里开始的经验/提示?我将在何时何地构建“二进制文件”(从源代码创建 HTML?)

Markdown 甚至使用词法分析器吗?从语法上看,它看起来很可能只使用正则表达式。

抱歉,如果这太宽泛,但我找不到关于该主题的太多信息(也许我只是在错误的地方寻找!)

最佳答案

你是对的,像 Markdown 这样的简单标记语言是声明性的。
存在不涉及任何词法分析器和 AST 的非常简单的实现。

例如,最初的 Markdown 实现是一个使用正则表达式的简单 Perl 脚本。它由 John Gruber(Markdown 的创建者)编写,可在此处获得:
http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip

您还可以查看一个 C 实现,称为 Discount,可在此处获得:
http://www.pell.portland.or.us/~orc/Code/discount/

这两个工具都是完全开源的,并向您展示 正好什么是处理标记语言所必需的。它们包括整个工具链,包括解析器。

关于创建一种标记语言,如 markdown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39156718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com