红孩儿编输器的模块设计14

红孩儿编辑器的模块设计14
代码自动格式化
格式化的规则需要事先定义,采用配置的方式进行设置。例如把制表符替换成4个空格符号。同一级的分界符对齐。代码块父子层级之间的加4个空格符缩进,超长代码行的自动换行。对象的方法之间加一个空行。
代码的格式化的目的是使程序的代码逻辑关系更清晰,提高了代码的可读性。代码主要是给人阅读的,顺便它也能在机器上执行。
但有时候,格式化可能画蛇添足,甚至执行错误,这需要针对格式化的操作,有一键恢复的操作。
实现过程:替换字符没有问题。分界符对齐,需要词法分析,让系统随时知道哪些分界符是成对的。父子层级的缩进问题需要进行语法分析,得到抽象语法树这个数据结构。让系统随时知道,代码块间的树状层级关系。
词法分析和语法分析都属于编译器技术的一部分。将在解释器的开发中详细描述。也可以参考我的计算机编程的结构与解释的第四章的翻译文章。
超长行的自动换行需要编程语言本身的支持,要加特定的换行符,告诉编译器这两行得合并。加空行仍需要代码的分析。就不详细描述了。这代码分析的程序有很大的附加价值,稍加修改就可用于方法的行数统计等静态代码分析功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王伟1982

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值