在哪里可以找到 Perl 编程语言的形式语法?

2024-02-18

我知道 Perl 语法是不明确的,并且它的消歧是不平凡的(有时涉及在编译阶段执行代码 http://www.modernperlbooks.com/mt/2009/08/on-parsing-perl-5.html)。无论如何,Perl 是否有正式的语法(尽管不明确和/或上下文相关)?


From perlfaq7 http://perldoc.perl.org/perlfaq7.html

我可以获得 Perl 语言的 BNF/yacc/RE 吗?

没有 BNF,但你可以用爪子 通过 yacc 语法的方式 源代码发行版中的 perly.y 如果 你特别勇敢。语法 依赖于非常智能的标记化代码, 所以准备好冒险进入 toke.c 以及。

用 Chaim Frenkel 的话说:“Perl 的 语法不能简化为 BNF。这 解析 perl 的工作是分布式的 yacc、词法分析器、smoke 和 镜子。”

要查看一组精彩的示例,说明为什么由于上下文影响几乎不可能解析 Perl,请查看Randal Schwartz 的帖子:解析 Perl http://www.perlmonks.org/?node_id=44722

另外,请参阅“Perl 5 内部原理(第 5 章:词法分析器和解析器) http://www.faqs.org/docs/perl5int/lexparse.html”西蒙·科曾斯著。


请注意,Perl6 的答案是不同的: http://perl6advent.wordpress.com/2009/12/24/day-24-the-perl-6-standard-grammar/

  • 那里存在Perl6 的语法 https://github.com/perl6/std/blob/master/STD.pm6

  • Rakudo Perl 有它自己的语法版本 https://github.com/rakudo/rakudo/blob/master/src/Perl6/Grammar.pm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在哪里可以找到 Perl 编程语言的形式语法? 的相关文章

  • 如何为自定义 Perl 模块选择一个不与内置或 CPAN 包名称冲突的包名称?

    我已阅读模块上的 perldoc http perldoc perl org perlmod html 但我没有看到关于命名包的建议 这样它就不会与内置或 CPAN 模块 包名称冲突 过去 为了开发本地Session pm模块 我使用我公司
  • 使用 Javascript 解析文本

    我正在尝试使用 Javascript 来解析在文本框中输入的文本 这将结合各种用户生成的变量来创建随机活动 看看这个例子可能更有意义 一些示例输入可能是 Activity Home Out Home Read book for time C
  • 如何在 Perl 脚本中包含另一个文件中的函数?

    这似乎是一个非常简单的问题 但不知何故 我的 Google Fu 失败了 在 Perl 中包含其他文件中的函数的语法是什么 我正在寻找类似C的东西 include blah h 我看到了使用 Perl 模块的选项 但这似乎需要对我当前的代码
  • 如何使用 Perl 正则表达式匹配字符串末尾/开头处的空格或单词?

    我想找到与我的正则表达式匹配的序列 它们应该位于由空格包围的字符串中间 末尾或开头或者是字符串中唯一的东西 Example 我们假设序列 qwe45rty 就是我们正在寻找的 我希望能够对所有这些因素都抱有积极的态度 qwe45rty qw
  • 正则表达式从字符串中提取 IP 和端口

    我正在使用 Perl 尝试从字符串中提取 IP 地址和端口 我尝试使用的正则表达式是 s sip 字符串是 sip 255 255 255 255 8080 transport TCP sip 255 255 255 255 8080 显然
  • iOS 解析如何通过 URL 下载文件

    我正在将 parse 用于我的聊天应用程序 当我上传文件时 我保留该 url 并将该 url 发送给其他用户 然后其他用户可以通过该 URL 下载文件 这是我上传文件的代码 void uploadBlob NSData blob fileN
  • python 3 argparse 调用函数

    我想在 python3 中创建一个类似命令行 类似 shell 的界面 Argparse 似乎负责解析和显示帮助 错误消息 根据argparse 的 python3 文档 https docs python org 3 5 library
  • 如何将 Perl 转换为 C?

    有没有可用的工具可以将 Perl 源代码转换为 C 源代码 什么平台都可以 对此的规范答案是MJD 的 为什么不将 Perl 翻译成 C http www perl com pub a 2001 06 27 ctoperl html
  • 你能挽救我的负面回顾示例来传达数字吗?

    在 高级正则表达式 一章中掌握 Perl http oreilly com catalog 9780596527242 我有一个损坏的示例 我无法找到一个很好的修复方法 这个例子可能为了自己的利益而试图变得太聪明 但也许有人可以帮我解决它
  • 如何在 Azure 逻辑应用中解析 Excel 电子表格

    我需要使用 Azure 逻辑应用从 Excel 电子表格中解析和提取列信息 我已经为我的逻辑应用程序设置了从 Outlook 检索最新未读电子邮件的功能 此外 我的逻辑应用程序执行 FOR EACH 来读取所有附件 来自未读电子邮件 并确保
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • 在 qx 运算符中将 perl 数组拆分为单独的参数

    我试图将一组参数传递给qx操作员 考虑 my files qw A txt B txt print qx ls files 这给出了错误 ls cannot access A txt B txt No such file or direct
  • 使用 -T 开关运行时 $ENV{ENV} 不安全

    当我尝试最后一个例子时perlfaq5 如何计算文件中的行数 http perldoc perl org perlfaq5 html How do I count the number of lines in a file 我收到一条错误消
  • Swift 3 中的 JSON 解析

    有没有人能够找到一种在 Swift 3 中解析 JSON 文件的方法 我已经能够返回数据 但在将数据分解为特定字段时我没有成功 我会发布示例代码 但我已经尝试了很多不同的方法但没有成功 并且没有保存任何代码 我想要解析的基本格式是这样的 提
  • 如何在附加的 sqlite 数据库中创建外键?

    我正在尝试创建一个 sqlite3 数据库作为模拟生产环境的测试环境 由于生产的设置方式 表处于多个模式中 我已经在 DBIx Class 中设置了类 使用 schema gt storage gt dbh do将数据库与架构附加在一起 并
  • 获取 Parse Analytics 自定义仪表板

    是否可以使用 Javascript 或 REST API 从 Parse 获取应用程序分析 我想在我自己的仪表板中显示下载数量和自定义事件 不可以 您只能通过 REST API 推送 https parse com docs rest ht
  • 在 Windows 7 中使用 ActivePerl @ARGV 为空

    我有以下 Perl 脚本 我正在尝试使用 ActivePerl 在 Windows 7 中运行它 c Perl64 bin perl exe w use strict my mp3splt exe c Program Files x86 m
  • 检查一个数字是 int 还是 float

    在perl中 我想检查给定变量是否包含浮点数 为了检查我正在使用的 my Var 0 02 Floating point number if int Var Var floating point number 但上面的代码对于 0 0 不起
  • 正则表达式,如果模式在引号中则忽略模式

    编写一个非常简单的脚本解析器作为学校项目的一部分 虽然这不是必需的 但我很好奇是否可以仅使用正则表达式来完成 语法类似于 ASP 其中脚本以 结尾 它只支持一个命令 pr 与echo或Response Write相同 现在我正在使用这个正则
  • 从 php 执行 bash 脚本并立即输出回网页

    我有一组 bash 和 Perl 脚本 开发在 Linux Box 上部署所需的目录结构 可选 从svn导出代码 从这个源构建一个包 这在终端上运行良好 现在 我的客户请求此流程的 Web 界面 例如 某些页面上的 创建新包 按钮将一一调用

随机推荐

  • 良好的加密哈希函数[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 密码的安全哈希和盐 https stackoverflow com questions 401656 secure hash and salt for php passwords 我正在制作一
  • 从 JSON 属性中选择随机值

    我有一个在标题中描述的任务 我不能在代码中的某个地方使用数组 循环和 Object keys 我只能使用Math random JSON 文件 key item 1 item 2 item 3 key2 abc key3 123 我什至无法
  • 在 NSUserDefaults 中保存日期(作为 NSString)不起作用

    我正在尝试将此日期保存在 NSUSerDefaults 中 2011 04 14T13 18 25 0000 但我不想要最后一位 0000 所以我用这个方法把它砍掉了 NSString since last objectForKey upd
  • 如何在邮件链接中附加画布图像?

    我在 html 页面中创建了一个画布图像 我想创建一个 mailto 链接 单击该链接将打开默认的电子邮件应用程序 例如 Outlook 并附加画布图像 这可以做到吗 Thanks 不 不可能用 邮寄地址 链接 我想这就是你所要求的 因为m
  • persistence.xml 中的序列生成器

    在JPA中 通常我们在实体bean中指定序列生成器 我们可以在 persistence xml 中指定这一点吗 如果是 请分享所需的步骤 您必须在 orm xml 中指定它 在 persistence xml 中使用此元素
  • JavaScript - 替换字符串中的方括号

    我有一个简单的字符串并尝试转换 样本 to sample 例如 var string Completely engineer client based strategic theme areas before cross media tec
  • 任何人都有一些用于 ASP.NET MVC 的下拉日期选择器

    有人知道我在哪里可以找到 html 帮助器或将生成由 3 个下拉列表组成的日期选择器的东西吗 这是我的小帮手 我相信 这本身就是解释性的 可以调整以安排下拉列表的顺序 月 日 年或日 月 年 如果您使用的是 NET 4 则可以为名称添加默认
  • 如何将 jQuery 元素选择应用于字符串变量

    我将一些 html 提取到字符串 var 然后想在该字符串上使用 jQuery 元素选择 这可能吗 例如 HTML div class message This is a message Click a class link href ex
  • 将行计数传递给 Oracle 中的列[重复]

    这个问题在这里已经有答案了 我有一张没有 ID 的桌子 所以我想添加一个新列 其总行数为 1 我在表中打开了一个新列 但我不知道如何用行数填充它 我在互联网上搜索 但找不到解决我的问题的解决方案 你能告诉我该怎么做吗 提前致谢 您可以执行此
  • 仅在行尾显示为菱形问号的字符(Python>文本)

    我正在开发一个 Python 文件 该文件输入一个包含日语字符 UTF 8 的文本文件 获取一些文本 并将其写入一个新的 UTF 8 文本文件 我遇到的问题是 由于某种原因 每当日语字符 出现在原始输入文件中的行尾时 它就会在输出文件中显示
  • jQuery UI 滑块与光滑轮播的干扰

    拖动手势干扰了 jQuery UI 中的滑块和光滑的轮播插件 http kenwheeler github io slick 也是 jQuery 看我的例子here http jsfiddle net 65wtmyrb 1 HTML div
  • 当页面滚动并有某个位置时执行某些操作

    我在页面滚动方面遇到了一些问题 当我向下滚动页面并且窗口距顶部位置 100px 时 我想更改一些 css 这是我的代码 非常感谢您的帮助 document ready function window scroll function if w
  • 使用 XAML 和 C# 为 Windows Phone 8 应用程序设置计时器

    我正在开发 Windows Phone 8 游戏应用程序 我需要将倒计时功能添加到我的应用程序中 就像应用程序启动时一样 定时器值显示 60 59 58 0 当 0 到达时显示消息 超时 我在谷歌搜索但我不知道 可能是我没有以正确的方式搜索
  • Kibana - 如何导出搜索结果

    我们最近将集中式日志记录从 Splunk 转移到 ELK 解决方案 并且我们需要导出搜索结果 有没有办法在 Kibana 4 1 中做到这一点 如果有的话 也不是很明显 Thanks 这是一个旧帖子 但我认为仍然有人仍在寻找一个好的答案 您
  • python2 与 python3 中的地图[重复]

    这个问题在这里已经有答案了 我是一个初学者 python 用户 我在 python2 7 和 python3 4 3 上运行了以下代码 import matplotlib pyplot as plt import numpy as np i
  • WPF 文本块,文本属性中的换行符

    有没有办法拥有 n在 a 中换行TextBlock
  • 如何创建文件并从 html 页面附加数据?

    我的桌面上有一个 html 文件 需要一些输入 我将如何将该输入写入计算机上的文件中 我是否必须使用另一种语言来执行此操作 即 python 或 javascript 以及我将如何执行此操作 相关说明 有什么方法可以让 javascript
  • wordpress is_home() || is_index() 可能吗?

    我在 header php 中有一个测试 看看我们是否在家显示英雄 div class inner clearfix div 但是当用户登陆index php时 英雄并没有被显示 显然没有 is index 条件 有谁知道我如何测试它的主页
  • 如何使用 Json.Net (newtonsoft) 连接两个 Json 对象[重复]

    这个问题在这里已经有答案了 我想将一些 JSON 对象连接成一个 JSON 对象 如何使用 NewtonSoft 的 JSON 包来做到这一点 Use JContainer Merge 将 JSON 对象组合在一起的逻辑相当简单 名称 值被
  • 在哪里可以找到 Perl 编程语言的形式语法?

    我知道 Perl 语法是不明确的 并且它的消歧是不平凡的 有时涉及在编译阶段执行代码 http www modernperlbooks com mt 2009 08 on parsing perl 5 html 无论如何 Perl 是否有正