为什么很多网站和计算机系统不支持数字开头的用户名?

  • 2019-10-09 13:51:43
  • 浏览:4
  • 我来回答

这个规定是为了简化编译程序、同时增加代码可读性,方便程序读数据,如邮件订阅推送消息的时候,直接抓用户名。如果允许数字变量,那么在shell、perl等语言中,变量可以是纯数字甚至符号,因为它们要求变量前面一律添加$符号标记, 如果一个变量以数字开头,那么分析器就必须在遇到第一个或第二个英文字符的时候回溯来确定是否是数字、变量名还是词法错误,这时候变成了二型文法。二型文法分析器的好处是支持回溯和递归语法,但是缺点是状态机相比正则文法状态大大增加,而且代码写起来更困难。

简化编译程序、同时增加代码可读性等

这个规定是为了简化编译程序、同时增加代码可读性,方便程序读数据,如邮件订阅推送消息的时候,直接抓用户名。如果允许数字变量,那么在shell、perl等语言中,变量可以是纯数字甚至符号,因为它们要求变量前面一律添加$符号标记, 如果一个变量以数字开头,那么分析器就必须在遇到第一个或第二个英文字符的时候回溯来确定是否是数字、变量名还是词法错误,这时候变成了二型文法。二型文法分析器的好处是支持回溯和递归语法,但是缺点是状态机相比正则文法状态大大增加,而且代码写起来更困难。

为了简化编译程序、同时增加代码可读性

这个规定是为了简化编译程序、同时增加代码可读性,方便程序读数据,如邮件订阅推送消息的时候,直接抓用户名。如果允许数字变量,那么在shell、perl等语言中,变量可以是纯数字甚至符号,因为它们要求变量前面一律添加$符号标记, 如果一个变量以数字开头,那么分析器就必须在遇到第一个或第二个英文字符的时候回溯来确定是否是数字、变量名还是词法错误,这时候变成了二型文法。二型文法分析器的好处是支持回溯和递归语法,但是缺点是状态机相比正则文法状态大大增加,而且代码写起来更困难。

内容补充
相关推荐