腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Haskell
Ast
->
IO
()
parsing
、
haskell
、
abstract-syntax-tree
、
pretty-print
我一直在做一个关于在
Haskell
中解析的任务。我已经实现了将字符串解析为抽象语法树的函数,该函数正常工作。tokenize xs'parseExpr [] = error "Error!&q
浏览 16
提问于2019-10-06
得票数 0
回答已采纳
1
回答
很漂亮的打印.一般-纯的ASTs作为llvm ir?
haskell
、
llvm-ir
我使用为中的程序构建抽象语法树。A.Module { A.moduleDataLayout = Nothing, A.moduleDefinitions = [ A.GlobalDefinition A.G.Function { A.G.visibility = A.V.Default, A.G.calling
浏览 4
提问于2015-01-09
得票数 6
回答已采纳
1
回答
IO
是免费的Monad吗?
haskell
、
io
、
monads
、
free-monad
我的基本理解是,一个免费的monad允许您构建一个程序(一个抽象语法树-
AST
)的纯函数,然后翻译成一系列不纯的过程调用。因此,此解释器将
AST
的纯操作转换为一元
IO
操作序列。我想知道这是否重复了
Haskell
运行时已经在使用
IO
monad所做的工作。如果我认为
IO
不是什么特别的东西,而是一个普通的Monad,它的绑定函数>>=通过
IO
中的所有一元操作来序列“真实世界”的状态,那么这个排序本身并不提供任何计算(正如出色的答案中对免费Monad的解释)然后
浏览 8
提问于2020-05-15
得票数 10
回答已采纳
2
回答
自动生成C结构构造函数?
c
、
compiler-construction
、
constructor
、
code-generation
、
abstract-syntax-tree
问题是,编写整个
AST
代码非常耗时。有没有工具可以自动生成结构的构造函数?
浏览 0
提问于2012-02-16
得票数 0
回答已采纳
1
回答
Haskell
LLVM中的分段错误--通用代码生成
haskell
、
llvm
as
AST
main ::
IO
()outputFile = File "output.ll" wr
浏览 9
提问于2014-06-21
得票数 5
回答已采纳
1
回答
Haskell
:漂亮的打印头和前缀
haskell
、
types
、
abstract-syntax-tree
、
pretty-print
我有一个类型来表示
haskell
类型: = TApp Type Type | TLit NameaToB = TLit "Fun" `TApp` TVar "a" `TApp` TVar "b" maybeIOInt = TLit "Maybe" `TApp` (TLit "
IO
"
浏览 2
提问于2017-09-11
得票数 2
回答已采纳
2
回答
打印精美的带注释的
haskell
源代码
haskell
、
pretty-print
我正在尝试重新格式化/重新打印
haskell
源代码(删除/添加空格、换行符、更改缩进样式...)。我找到了包,它可以解析和打印
haskell
源代码。使用函数parseFileWithComments :: ParseMode -> FilePath ->
IO
(ParseResult (Module, [Comment])),我还可以获得源代码中包含的注释现在,我想打印Module/
AST
,并在原始位置添加注释,但我找不到一个函数可以做到这一点。我只能漂亮地打印
AST</
浏览 1
提问于2012-02-22
得票数 9
1
回答
用O(1)元素访问在
Haskell
中实现高效的拉链数据结构
c++
、
performance
、
algorithm
、
haskell
、
zipper
是否有可能在
Haskell
中创建一个结构和函数,其执行速度与简单的C++实现一样快?我在用
Haskell
写一个编译器。Prelude hiding (id) data
AST
= A { id :: Int, x ::
AST
, y ::
AST
, z ::
AST
}
浏览 3
提问于2013-11-25
得票数 5
1
回答
EncodeException“序列化GlobalReference有类型PointerType”
haskell
、
llvm
我选择了
Haskell
,尽管我对
Haskell
非常陌生,而且我也不了解源代码示例中的所有内容,这就是为什么我的代码看起来不太好的原因。在真正开始我的项目之前,我想玩一下LLVM的
Haskell
绑定,并创建一个函数来调用另一个函数,该函数返回作为参数传递的两个整数之间的差异。import LLVM.
AST
import LLVM.
AST
.Global import LLVM.
AST
.Cal
浏览 0
提问于2018-02-17
得票数 3
回答已采纳
1
回答
GHC管道:核心,STG还是文本?
haskell
、
compiler-construction
、
compilation
、
ghc
、
abstract-syntax-tree
在GHC的开发过程中,有一个阶段将
Haskell
源代码转换为Core,然后(不一定是下一步)将Core转换为STG。然而,有一个问题使我无法理解--我们什么时候有一个“正常”代码(即纯文本),以及什么时候有一些实际存在于内存中的东西,比如抽象语法树(
AST
)?为了使我的问题更加准确,我将把它分成几个部分: ( 1)在
Haskell
源文件解析阶段,我们是否立即构建核心语言的
AST
?如果不是,那么在我看来,我们必须构建完整
Haskell
的
AST
(这似乎很奇怪),然后将它们转换为Core的<e
浏览 1
提问于2014-12-07
得票数 6
回答已采纳
1
回答
转换成混凝土
Haskell
是什么意思?
haskell
我正在尝试理解页面中的模板
haskell
。.+) (Just (LitE (IntegerL 2))) 3Ta da, you converted concre
浏览 1
提问于2019-03-04
得票数 0
回答已采纳
3
回答
从
Haskell
对象中提取信息
haskell
我是
Haskell
的新手,我对如何从函数结果中获取值感到困惑。在我的特殊情况下,我尝试解析
Haskell
文件,并查看哪些
AST
节点出现在哪些行上。这是我到目前为止所拥有的代码:import Language.
Haskell
.Syntax
浏览 1
提问于2016-07-15
得票数 2
回答已采纳
1
回答
在NixOS中从
Haskell
运行shell命令
haskell
、
nixos
我对NixOS相当陌生,正在尝试使用以下函数从
Haskell
程序中调用emacs:ediff testNamebin/sh: emacs: command not found Exception: callCommand: emacs --eval '(ediff-files "/run/user/1000/
ast
1780695788709393584.expec
浏览 3
提问于2018-01-10
得票数 5
回答已采纳
3
回答
无法推断(b ~ a)
haskell
,我觉得在GADT中表示严格类型的
AST
将是一种负担,尽管我确实看到了它们在
Haskell
中的DSLs可能有用的地方。我不想在Eithers和Maybes之间开始杂耍,这就是我上次所做的&那是一片混乱,我放弃了在
Haskell
尝试这样的尝试。但我也不是最有经验的
Haskell
程序员,所以我可能用错误的方式看待这个问题,也许我可以用更严格的方式实现
AST
,所以我会看一看我是否能想出GADT,但我有我的怀疑&我有一种感觉,它可能会像上次那样结束最终,我只是想通过一个有趣的可完成的项目来学习<e
浏览 1
提问于2014-06-13
得票数 1
回答已采纳
1
回答
是否可以使用模板
Haskell
发出原始源代码?
haskell
、
template-haskell
假设我有一个包含有效
Haskell
代码的String (或Text或其他什么)。有没有一种方法可以将其转换为带有模板
Haskell
的[Dec]?我很肯定
AST
不会直接到GHC,所以会有一个打印,然后是一个解析阶段。 这将是很好的,因为它将允许不同的“后端”。例如,您可以使用来自
haskell
-src-exts的
AST
,它比TH支持更多的
Haskell
语法。
浏览 0
提问于2017-01-03
得票数 1
回答已采纳
1
回答
用JavaScript(Esprima.JS)开发一个解析器,可以解析Mozilla
AST
格式的
Haskell
语言
javascript
、
parsing
、
haskell
、
esprima
目前,我正致力于用JavaScript开发一个解析
Haskell
语言的解析器。我正在研究Esprima.JS,并希望在它的基础上构建一个解析
Haskell
Language.As的解析器。根据我的理解,我需要从基本部分开始,比如数字(它们在
Haskell
语言中的使用方式)运算符,然后是高级选项。我对它非常陌生,任何资源方面的帮助都会对我有用Token={ PosToken:10 //Shoul
浏览 7
提问于2014-03-09
得票数 2
3
回答
用于解析LLVM IR的
Haskell
包?
haskell
、
package
、
llvm
、
llvm-ir
我正在寻找一种将LLVM代码(最好是以组装形式)解析为一些内部
Haskell
数据类型的方法,我可以用于以后的处理。我想是有一些
Haskell
包做这件事,但我似乎找不到一个。 有什么建议吗?
浏览 1
提问于2013-10-30
得票数 2
回答已采纳
2
回答
如何在GADT中恢复共享?
haskell
、
dsl
、
gadt
在中,Andy Gill展示了如何在DSL中恢复存在于
Haskell
级别的共享。他的解决方案在中实现。这种方法可以修改为与GADT一起使用吗?例如,给定以下GADT: IntLit :: Int ->
Ast
Int BoolLit:: Bool ->
Ast
Bool IfThenElse ::
Ast
浏览 2
提问于2012-09-02
得票数 20
回答已采纳
1
回答
Haskell
抽象语法表达式的动态加载
haskell
、
dynamic-loading
、
ghc-api
我们能不能使用GHC或其他东西来加载类似于的
AST
表达式,而不是文本源模块?这样我们就可以节省代码生成和解析的时间。
浏览 1
提问于2012-01-16
得票数 5
回答已采纳
1
回答
在
haskell
中在do表示法中使用tuple时输入错误
haskell
这是我的
haskell
代码:myFold fn [] = [] (
ast
, newLst) <- (fn lst)我想每个认识
haskell
的人都会得到我想做的。编译器抱怨(
ast
, newLst) <- (fn lst)行中的类型不匹配,我看不出出了什么问题。有人能告诉我语法是怎么回
浏览 0
提问于2018-10-21
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Zipper_Haskell笔记13
Haskell Monad(上)
类型_Haskell笔记3
Coinbase将上线XCN、METIS、MONA、AST和MEDIA
Binance新增AST/USDT、SNT/USDT交易对
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券