跳转到主要内容

Mathics和Wolfram语言的字符表和词法分析器。

项目描述

Workflows Pypi Installs Latest Version Supported Python Versions

Packaging status

Mathics字符表和扫描器

此存储库实际上包含了两件事

  • 描述WL符号和运算符及其属性的详尽表格

  • Wolfram语言的词法分析器或扫描器部分。

关于第一项,有一个注释YAML,其中包含Wolfram语言命名字符的完整翻译集

  • Wolfram语言命名字符,

  • Unicode/ASCII等效字符和Unicode/WL代码点,

  • AMSLaTeX等效名称,

  • 运算符名称(如果符号是运算符),

  • 运算符优先级(如果是运算符),

  • 符号的键盘转义序列

用途

扫描器和字符表用于Mathics内部。但是,该信息也可以供其他程序用于对Wolfram语言代码进行标记和格式化。

例如,在mathics-pygments中使用了表格,这是一个基于Pygments的Mathematica/Wolfram语言源代码的词法分析和高亮显示器。

如果您需要处理Wolfram语言命名字符并将其转换为各种格式,这个库可能很有用。

用法

  • 要标记和扫描Wolfram语言代码,请使用mathics_scanner.tokenizer.Tokenizer类。

  • 要转换Wolfram语言命名字符与Unicode/ASCII之间的格式,请使用mathics_scanner.characters.replace_wl_with_plain_textmathics_scanner.characters.replace_unicode_with_wl函数。

  • 要转换命名字符的合格名称(如FormalA\[FormalA])与Wolfram的内部表示形式,请使用m̀athics_scanner.characters.named_characters字典。

要重新生成JSON格式的表格,请运行

$ mathics-generate-json-table

在不带选项的情况下,mathics-generate-json-table产生最大的对应集。

尽管如此,在大多数应用中,您可能只需要其中的一部分。可以使用--field选项来缩小输出到JSON的条目列表。运行mathics-generate-json-table --help以获取所有字段的完整列表。

实现

有关包实现的说明或转换方案的详细信息,请参阅实现

贡献

请鼓励您为此包或Mathics做出贡献!创建自己的分支,进行所需更改,提交,并提交拉取请求。

许可证

Mathics遵循GNU通用公共许可证第3版(GPL3)。

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面