语法歧义现象(一):牛津逗号(Oxford Comma)
牛津逗号(Oxford Comma)是英语中逗号的一类特殊用法,通常情况下它是指在枚举事物时,出现在and或or等并列连词之前的逗号,如:
The group consists of two engineers, Jack, and John.
这个小组由两位工程师、杰克和约翰组成。
在上句中,and前的逗号即是牛津逗号,因牛津大学对其用法和必要性的规范化而得名,由于哈佛大学也曾对其有过类似的规定,故也可称其为“哈佛逗号”,当然这两个名称都并不是它真正的名字,它的正式名称是“序列逗号(Serial Comma)”。任何事物都有其存在的理由,牛津逗号的存在也是合理的,下面就来介绍关它的一些用法。
1 合理使用消除歧义
直接用文章开头举的例子进行分析吧:
无牛津逗号:
The group consists of two engineers, Jack and John.
这个小组由两位工程师:杰克和约翰组成。
有牛津逗号:
The group consists of two engineers, Jack, and John.
这个小组由两位工程师、杰克和约翰组成。
两个句子几乎一模一样,仔细一看才发现是Jack和and John之间相差了一个“牛津逗号”,但两个句子的内容却截然不同,在没有添加牛津逗号的第一个句子中,由于并列连词and的优先级高于逗号,因此"Jack and John"就中二者的并列关系就应该在考虑逗号之前被优先考虑,这样"Jack and John"就成了"two engineers"的同位语,二者是修饰与被修饰的从属关系;而在添加牛津逗号的第一个句子中,由于"Jack"和并列连词and之间被牛津逗号隔开了,因此并不存在需要优先考虑的并列关系,这样句子就顺次枚举了"two engineers""Jack""John",三者是彼此独立而以并列关系存在的。前句无牛津逗号,连词and前后的事物是应被作为一个整体考虑的;后句有牛津逗号,牛津逗号和连词and前后的事物是并列关系而彼此独立的。由此可以看到,添加或删去句子中的牛津逗号,是可以起到改变句意的作用的,这样也就达到了合理使用牛津逗号消除歧义的目的。
2 合理使用与不合理使用
下面我们分析另外两句话:
To my parents, Mary and John.
To my parents, Mary, and John.
事实上,第一句话有两种理解:
(1)献给我的父母、玛丽以及约翰。(共四人,玛丽和约翰不是我的父母)
(2)献给我的父母:玛丽和约翰。 (共二人,玛丽和约翰是我的父母)
而第二句话就只有(2)一种理解。
To my mother, Mary and John.
To my mother, Mary, and John.
此时,第二句话就有两种理解:
(1)献给我的母亲、玛丽以及约翰。(共三人,玛丽不是我的母亲)
(2)献给我的母亲(玛丽)以及约翰。(共二人,玛丽是我的母亲)
而第一句话,就只有(1)一种理解,因为并列连词and优先将其前后的事物结合为一个整体,而如果将这个整体(两个人)作为mother之后的插入语,就矛盾了一个人只有一个母亲的事实。在第一组句子中,前句因为缺少牛津逗号而导致歧义,后句中添加的牛津逗号则消除了歧义;而在第二组句子中则恰恰相反,多出的牛津逗号反而导致了歧义。
3 问题的出现与分析
上面举例说明了英语中牛津逗号的作用及在其使用过程中可能出现的问题,那么我们不禁要思考,为什么会出现这样的问题?在这里就不得不谈及英文中逗号的主要用途了:
各分句间表停顿、主句与从句间表停顿、两个或两个以上结构间表并列、句子独立成分(前)(后)表停顿。
总而言之,英语中逗号的两个用途就是表示停顿和并列。而在中文,我们未曾听闻类似于英文中牛津逗号的尴尬用法。我们来看看,在正规中文中,表示并列这一用途被顿号和分号取而代之了,顿号表示句子内部两个词语的并列,分号表示复句内部两个分句的并列。因此,牛津逗号的尴尬处境,根本上来自于英语中逗号功能的多样性和混杂性,也正因如此,几乎逗号的任何用法都处于一种“低不成,高不就”的定位:逗号可以表示并列,但意味并不如专用的并列连词强烈;它可以连接插入语,但使用不当又会造成插入语和被修饰部分的概念不匹配。
4 趣闻
值得一提的是,Oxford Comma一词在美国俚语中常被用来比喻鸡毛蒜皮或不值一提的小事,但历史上也确有因一个牛津逗号而引发的“大事”先来看看下面这篇短文:
The canning, processing, preserving, freezing, drying, marketing, storing, packing for shipment or distribution of:
(1)Agricultural produce;
(2)Meat and fish products; and
(3) Perishable foods.
这篇短文事实上是是美国缅因州某奶制品公司关于司机加班费的规定,也是一起劳务纠纷案件的争端,它规定以上工作内容都是司机在职责范围内的本职工作,不能获得加班费。乍一看还没有发现什么问题,但我们看到第一句话中用加粗字体强调的部分文字,这起争端事件的起因就是细心的司机们发现"packing for shipment"(打包)与"distribution"(分拣)间缺少了一枚牛津逗号,导致两项工作内容由公司认定的并列关系变为选择关系,也就是说,司机们如果把打包和分拣两项工作都完成了,他们就应该获得加班费,为此,公司保留解释,而司机们则把公司告上了法庭,基于劳动法中保护劳动者的原则,在公司规定语焉不详的情况下,法官作出了有利于劳动者的判决,这起官司最终以司机胜诉告终。
在英文正式文献中,类似的乌龙事件还有很多,上文所举的例子和种种事件都揭示了,牛津逗号在为书面英语使用者带来方便的同时,也会在不经意间带来许多麻烦,因此,对于是否需要添加牛津逗号,还需仔细分析and连接的内容是否可以作为插入语或与前面的内容是以何种关系存在。对此,结合上文第三版块的分析,给出一般性的分析方法:
1、若并列连词and连接的部分作为插入语出现,那么在and前面要添加牛津逗号;
2、若并列连词and连接的部分作为同位语修饰整个结构前的其他部分,那么在and前面不要添加牛津逗号
以上是对并列连词and前是否添加牛津逗号的简单分析方法,其他并列连词前的牛津逗号也可以类似进行分析,即作为插入语还是作为同位语。
分享:
语法歧义现象(一):牛津逗号(Oxford Comma)相关推荐
- python中ht_python – 解析HTSQL时处理语法歧义
我正在编写一个语法来解析HTSQL语法,并坚持如何处理段和除法运算符的/字符重用. described grammar并不是非常正式,所以我一直在关注Python实现的确切输出,从粗略的一瞥似乎是一个 ...
- vue语法检查工具eslint报错小记(error Unexpected trailing comma、Extra semicolon、error ‘loadingInstance‘ is nev)
vue语法检查工具eslint报错小记 vue项目开发中开启语法检查工具eslint,尤其是接手别人的代码继续开发时,如果不注意语法习惯,项目运行时会出现一堆warning.error,乍一看就头大, ...
- 【计算理论】上下文无关语法 CFG ( CFG 设计示例 | CFG 歧义性 | Chomsky 范式 | 上下文无关语法 转为 Chomsky 范式 )
文章目录 一.上下文无关语法 设计 示例 二.上下文无关语法 的歧义性 三.Chomsky 范式 四.上下文无关语法 转为 Chomsky 范式 五.上下文无关语法 转为 Chomsky 范式 示例 ...
- 大象在飞吗?如何解决AI作画中的歧义问题 文本生成图像的消歧方法 Resolving Ambiguities in Text-to-Image Generative Models
自然语言天生包含固有的歧义.不同类型的歧义可归因于语法.词义.结构等等,这对文本生成图像的过程也会带来较大的歧义. 最近看到一篇文章研究如何解决文本到图像生成模型中的歧义问题,名为<Is the ...
- 1.4 Python程序语法元素分析 | Python语言程序设计(嵩天)
文章目录 课程简介 第一章 Python基本语法 1.4 Python程序语法元素分析 程序的格式框架 代码高亮 缩进 注释 命名与保留字 变量 命名 保留字 数据类型 字符串类型 数字类型 列表类型 ...
- 切分歧义字段的综合性分级处理方法
转自:http://www.ooreport.com/bbs/topicView.aspx?Id=91400 切分歧义字段的综合性分级处理方法 --北京大学计算语言学研究所讨论班, 99.4.13 孙 ...
- Python语言程序设计(嵩天)-第1周-Python基本语法元素
第1章 Python基本语法元素 实例:温度转换 缩进.注释.命名.变量.保留字 数据类型.字符串.整数.浮点数.列表 赋值语句.分支语句.函数 input().print().eval().prin ...
- 温度转换程序中包含的python语法元素_1.4温度转换实例,python语法元素分析
温度转换案例 华氏度/摄氏度互相转换 设计算法 根据华氏和摄氏温度定义,利用转换公式如下: C = (F - 32 ) / 1.8 F = C * 1.8 + 32 其中,C表示摄氏度,F表示华氏温度 ...
- C语言中的逗号的作用,C语言逗号运算符和逗号表达式基础总结
逗号运算符的作用: 1,起分隔符的作用: 定义变量用于分隔变量:int a,b 输入或输出时用于分隔输出表列 printf("%d%d",a,b) 2,用于逗号表达式的顺序运算符 ...
- c语言等号 逗号,C语言逗号运算符和逗号表达式
在C语言中逗号","也是一种运算符,称为逗号运算符. 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式.其一般形式为:表达式1,表达式2 其求值过程是分别求两个表达式的 ...
最新文章
- 安装mysql5.7出现问题_转载---安装mysql5.7,遇到的问题
- The EF Core tools version '2.1.1-rtm-30846' is older than that of the runtime '2.1.3-rtm-32065'. ...
- 【DIY】废物利用,最简单粗暴便宜的DIY定时器方法,没有之一
- 最佳实践:HTAP数据库TBase助力某省级单位核心系统IT架构升级
- 手游产品经理初探(三)产品中的玩家行为
- NFS 故障排错指南
- android 时间计划软件,时间规划局专业版
- ubuntu 投影仪设置
- 计算机二级试题java_计算机二级java精选试题及答案
- 免费织梦CMS文章采集器之采集聚合
- Java 常量池详解(一)字符串常量池
- 【UE·蓝图】UE4蓝图MediaPlayer注意事项
- 2021年全球人工智能行业调研及趋势分析报告
- FFmpeg编解码ADPCM_*格式音频
- 日期转换 EEE MMM dd HH:mm:ss zzz yyyy
- 使用JS判定PC浏览器和IE浏览器
- 日记20050930
- js计算金额精度问题--currency.js(2022.11.10 阴)
- javax.el.PropertyNotFoundException:类型[com.ex.spring.entity.Dept]上找不到属性[dNo]
- 《人工智能及其应用》课程笔记(四)第4章 非经典推理