Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript lexer/tokenizer(在Python中?)_Javascript_Python_Yacc_Lex_Tokenize - Fatal编程技术网

Javascript lexer/tokenizer(在Python中?)

Javascript lexer/tokenizer(在Python中?),javascript,python,yacc,lex,tokenize,Javascript,Python,Yacc,Lex,Tokenize,有人知道Javascript词法分析器或标记器(最好是Python中的)吗 基本上,给定一个任意Javascript文件,我想获取令牌 e、 g foo=1 变得像: 变量名:“foo” 空白 接线员:等于 空白 整数:1 有一个 我还制作了一个分号,但它不支持自动插入分号,因此对于您无法控制的javascript(因为几乎所有现实生活中的javascript程序都至少缺少一个分号)来说,这是我的: 语法在jsgrammar.txt中,由PyPy解析库解析(您必须从PyPy源代码下载并提取该库

有人知道Javascript词法分析器或标记器(最好是Python中的)吗

基本上,给定一个任意Javascript文件,我想获取令牌

e、 g

foo=1

变得像:

  • 变量名:“foo”
  • 空白
  • 接线员:等于
  • 空白
  • 整数:1
  • 有一个

    我还制作了一个分号,但它不支持自动插入分号,因此对于您无法控制的javascript(因为几乎所有现实生活中的javascript程序都至少缺少一个分号)来说,这是我的:

    语法在jsgrammar.txt中,由PyPy解析库解析(您必须从PyPy源代码下载并提取该库),它构建了一个解析树,我在astbuilder.py上看到了它

    但如果你没有执照问题,我会选择Pynacissus。下面是查看代码的直接链接(从narcissus移植):


    像这样吗?或者别的什么?看起来它只是描述语言的规则,我在寻找一个可以提供任意代码的应用程序,它会像上面那样标记它们