TXL解释执行

TXL编译器/解释器

TXL是一种专门用于支持转换编程的编程语言。
TXL编译器/解释器是TXL语言程序的解释器和编译器。

1 TXL命令概述

TXL转换系统提供了四个命令,用于编译、执行和调试TXL程序,所有TXL命令都实现了几个标准选项,包括-help。 -help选项打印命令用法,选项和暂停的简短说明。

命令功能
txl调用TXL解释器在输入文件上编译,加载和执行TXL程序。
txldb调用TXL规则调试器,以允许在交互式命令行调试环境中逐步执行TXL程序。
txlp调用TXL解释器来编译、加载和运行带有语法和规则集分析的TXL程序,为给定输入程序的语法分析和规则集执行进行详细的时间和空间分析。
txlc调用TXL编译器将TXL程序直接转换为可独立于TXL运行的独立可执行应用程序。

txltxldb 命令通常只接受一个文件参数,即要转换的输入文件的名称。命令格式为

txl inputfile.dialect

txl inputfile.c dialect.txl

其中 dialect 是要在文件上运行的TXL转换的名称,也即相应的TXL程序在文件 dialect.txl 中。

举例

txl Expression.Calculator

上述命令表示,TXL处理器将要运行的TXL程序是Calculator.txl。

txl count.c c2p.Txl

上述命令表示,TXL处理器将对文件count.c运行 c2p TXL程序。

要运行的TXL程序可以再当前目录、用户的TXL库目录或系统的TXL库目录中。TXL程序中include语句引用的文件以类似的方式解析。

TXL程序目录路径解析优先级
当前目录.
用户的TXL目录~/lib/txl
系统的TXL目录/usr/local/lib/txl

2 TXL命令详解

txl [ options ] [ -o outputfile ] inputfile [ txlfile ] [ - useroptions ]
参数说明
inputfile指定要由TXL程序转换的输入文件
txlfileTXL程序本身,必须以“.Txl”结尾命名。
如果省略txlfile,则从给定输入文件的文件名后缀推断出它。
-o outputfile转换后的输出

options 说明:

选项说明
-q[uiet]禁止消息,仅打印错误消息
-v[erbose]打印更详细的进度消息,提供各处理阶段的空间和文件信息
-c[ompile]仅将TXL程序编译为TXL虚拟机字节码,不执行,生成.CTxl文件
-l[oad]使用先前编译的TXL程序(.CTxl文件)加载和转换输入。
-d SYMBOL定义TXL预处理器符号SYMBOL
-commont将输入文件中的注释视为输入项
-char将所有输入字符(包括换行符和空格)视为重要字符
-newline仅将换行符(不是制表符和空格)视为重要字符
-multiline允许 token 跨行(默认)
-token仅将换行符和空格视为分隔符(默认)
-attr在转换后的输出中打印属性
-raw输出时,关闭由TXL内置的间距规则
-id[chars] ‘CCC’将字符“CCC”视为[id]标记中的有效字符。
-sp[chars] ‘CCC’将字符“CCC”视为等效于空格字符并被视为分隔符的字符集
-esc[char] ‘C’使用’C’作为字符串和字符文字中的转义字符
-upper在输入时,将除[stringlit]和[charlit]之外的所有输入标记转换为大写
-lower在输入时,将[stringlit]和[charlit]之外的所有输入标记转换为输入的小写
-case在输入时,忽略大小写
-w[idth] NNN设置每行最多输出字符,范围在20到32767之间
-in[dent] NN将缩进量设置为NN个字符,默认为4
-tabnl如果需要,允许[TAB_NN]指令在输出中强制换行以对齐
-xml将转换结果输出为XML分析树
-i[nclude] DIR将DIR添加到TXL包含文件搜索路径
-s[ize] MM将分配给TXL编译器和变换器数据结构的虚拟内存设置为指定的大小
-u[sage]运行结束时报告TXL资源使用情况统计信息
-noOPTION关闭命令行选项OPTION
- USERARGS将剩余的命令参数传递给预定义全局变量TXLargs
对应命令 txl eg.in in.Txl -s 100 - -myopt foo -otheropt
TXLargs 将成为 [repeat stringlit] 的变量,值为"-myopt" “foo” “-otheropt”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值