Python编译器怎么样处理tab和空格缩进问题,pythontab,设计类Python编译器
Python编译器怎么样处理tab和空格缩进问题,pythontab,设计类Python编译器
设计类Python编译器时,如何处理tab和空格的缩进问题?
func fab(number): if(number == 1): return 1 if(number == 2): return 2 return fab(number-1) + fab(number-2)
所设计语言原型如上图。
执行以下C++代码
string text = readline(2)for(i = 0;i < text.length();i++){ cout<<i<<" ["<<text.at(i)<<"]"<<endl;}
得到该结果,tab应该如何识别?
1) 应该说是python解释器更严谨些
2) tab和空格对应的是不同的16进制,所以你应该根据16进制来判断是空格还是tab. 见这里
http://baike.baidu.com/link?url=m0NR0QSmKipvW5XkG8EW_0RaReLXgK4smzBDkQyTK0yc0MyrxvG9_eTyIrOADEcjaVc28E32wPMrgPF5c1DmCK
lex的时候应该可以把行首空白作为一种特殊的token,然后保留每一层的行首空白数量,变大=>block开始,变小=>搜索之前的空白数量,生成对应数量的block结束
只是大概思路,具体实现可以去看看coffeescript的实现
编橙之家文章,
相关内容
- Python项目引入第三方库好还是自己造轮子好?,python轮子
- Flask开源cms有哪些值得学习参考,flask开源cms值得,考虑
- Django显示文章摘要需要如何写,Django显示文章摘要,需要
- Python解密问题,js RSA加密后再PY里解密行得通吗?,rsapy
- opencv python适合做面部识别吗?代码如何写,opencvpython,哪
- flask中sqlite查询、新增、修改如何实现,flasksqlite,对数
- 求jQuery对服务器申请运行python脚本方法,jquerypython,$(
- 模板怎么用slice截取带有中文的python字符串,,字符串为
- 请教关于python Flask多静态文件目录切换方法,pythonfla
- Python服务器安全停止几个小问题待解答,python服务器
评论关闭