{-#语言CPP#-}
模块 GF.主要 哪里
进口 GF编译器
进口 有资格的 GF.互动 作为 GFI1型#如果定义C_RUNTIME进口 有资格的 GF.交互2 作为 GFI2型#结尾进口 GF.数据。错误消息
进口 GF.参考。选项
进口 GF.参考。UseIO(使用IO)
进口 GF.参考。BuildInfo(构建信息) (构建信息)
进口 路径_gf
进口 数据。版本
进口 系统。号码簿
进口 系统。环境 (获取参数)
进口 系统。出口
主要的 :: IO(输入输出) ()
主::IO()主要的 = 做
(选项->[文件路径]->IO())->(选项,[文件路径])->IO(对于所有a到b到c(a到>b到>c)->(a,b)->c未修剪的 选项->[文件路径]->IO()main选项 ((选项,[文件路径])->IO())->IO(选项,[FilePath])->IO()对于所有(m::*->*)a b.Monad m=>(a->mb)->ma->mb=<< IO(选项,[FilePath])获取选项
获取选项 时间: IO(输入输出) (选项, [文件路径])
getOptions::IO(选项,[FilePath])获取选项 = 做
[文件路径]参数 <- IO[文件路径]获取参数
案例 [FilePath]->错误(选项,[FilePath])(错误::*->*)。错误Monad err=>[FilePath]->错误(选项,[FilePath])parseOptions(解析选项) [文件路径]参数 属于
好 啊 (选项opts选项,[文件路径]文件夹) -> 做 文件路径当前目录(_D) <- IO文件路径获取当前目录
[文件路径]库目录(_D) <- 选项->IO[FilePath]所有(io::*->*)。MonadIO io=>选项->io[FilePath]获取库目录 选项opts选项
(选项,[FilePath])->IO(选项,[文件路径])对于所有(m::*->*)a.Monad m=>a->ma返回 (文件路径->[文件路径]->选项->选项修复相对库路径 文件路径当前目录(_D) [文件路径]库目录(_D) 选项opts选项, [文件路径]文件夹)
坏 文件路径错误 -> 做 文件路径->IO()所有(m::*->*)。输出m=>文件路径->m()电子输出导线 文件路径错误
文件路径->IO()所有(m::*->*)。输出m=>文件路径->m()电子输出StrLn 文件路径“你可能想试试——帮忙。”
IO(选项,[FilePath])对于所有a.IO a退出失败
主要选项 :: 选项 -> [文件路径] -> IO(输入输出) ()
mainOpts::选项->[文件路径]->IO()main选项 选项opts选项 [文件路径]文件夹 =
案例 (标志->模式)->选项->模式对于所有a.(标志->a)->选项->a旗帜 标志->模式optMode(操作模式) 选项opts选项 属于
模式模式版本 -> 文件路径->IO()输入StrLn (文件路径->IO())->文件路径->I/O()对于所有a b(a->b)->a->b$ 文件路径“语法框架(GF)版本” FilePath->FilePath->文件路径对于所有a.[a]->[a]->[a]++ 版本->文件路径showVersion(显示版本) 版本版本 FilePath->FilePath->文件路径对于所有a.[a]->[a]->[a]++ 文件路径“\n” FilePath->FilePath->文件路径对于所有a.[a]->[a]->[a]++ 文件路径构建信息
模式模式帮助 -> 文件路径->IO()输入StrLn 文件路径帮助消息
模式服务器 国际港口 -> 选项->Int->[FilePath]->IO()GFI1.main服务器 选项opts选项 国际港口 [文件路径]文件夹
模式模式编译器 -> 选项->[FilePath]->IO()主GFC 选项opts选项 [文件路径]文件夹
模式模式交互 -> 选项->[文件路径]->IO()GFI1.mainGFI 选项opts选项 [文件路径]文件夹
模式模式运行 -> 选项->[文件路径]->IO()GFI1.main运行GFI 选项opts选项 [文件路径]文件夹#如果定义C_RUNTIME 模式交互2 -> GFI2.mainGFI opts选项 文件夹
模式运行2 -> GFI2.main运行GFI opts选项 文件夹#其他 模式模式交互2 -> IO()对于所有a.IO a无Cruntime
模式模式运行2 -> IO()对于所有a.IO a无Cruntime
哪里
noCruntime::IO b无Cruntime = 做 文件路径->IO()所有(m::*->*)。输出m=>文件路径->m()电子输出导线 文件路径“GF配置没有C运行时支持”
IO b接口对于所有a.IO a退出失败#结尾