文档库 最新最全的文档下载
当前位置:文档库 › 关于语法化及语法化五个方面的述评

关于语法化及语法化五个方面的述评

关于语法化及语法化五个方面的述评
关于语法化及语法化五个方面的述评

《英语语法化的演变途径》评介

《英语语法化的演变途径》评介 戚国辉杨成虎 (宁波大学外语学院,浙江宁波,315211) A Review of Pathway of Change:Grammaticalization in English Abstract:This article gives an introduction to Pathway of Change:Grammaticalization in English and a brief comment on the book.In the mean while,this article displays the diachronic evolution of some English grammatical forms and addresses some hot issues in the study of grammaticalization like degrammaticalization and the role of iconicity. Key words:Pathway of Change:Grammaticalization in English,book review,grammaticalization 摘要:本文介绍和简评了约翰本杰明公司出版的《英语语法化的演变途径》,向读者展示了部分英语语法结构的历时演化过程,并介绍了脱语法化和象似性的作用等语法化研究中的热点问题. 关键词:《英语语法化的演变途径》、评介、语法化 1.引言 “语法化”(Grammaticalization)通常是指语法范畴和语法成分产生和形成的过程或现象,典型的语法化现象是语言中意义实在的词语或结构式变成无实在意义、仅表语法功能的语法成分,或者一个不太虚的语法成分变成更虚的语法成分(吴福祥2004)。语法化相当于我国汉语界的“实词虚化”,我国早在11世纪宋代的文献资料里就有了“实字”和“虚字”的相关记载。西方语言学家在19世纪才开始谈“实词虚化”的现象。Melliet(1912)最早提出“语法化”这一术语。从上世纪70年代开始,对语法化的研究越来越受到西方语言学家的重视。Heine,Bybee,Elizabeth Traugott和Hopper等从多个角度对语法化现象做过深入的研究。在这期间,学者们对语法化的研究已经不再局限于某一词汇或结构的语法化演化过程,而是更关注语法化现象中深层次的问题,比如语法化是否是一个连续的过程,它是否具有单向性,它和词汇化的关系如何,它在认知方面的动因是什么。对上述问题,不同的学者发表了他们各自的见解。在这种背景下,1997年8月在德国的杜塞尔多夫(Dusseldorf)举行了第13届国际历史语言学会议。会议的中心议题是英语语法化的演变过程。会后,荷兰学者Olga Fischer和德国学者Anette Rosenbach,Dieter Stein从会议递交的论文中收录了14篇汇编成《英语语法化的演变途径》(Pathway of Change:Grammaticalization in English)一书,并于2000年由John Benjamins出版公司出版。 2.评介 该书开头附有每位论文作者的通信方式,每篇论文之后都附有详细的参考书目,全书最后还附有人名索引,所有这些都为读者查阅相关资料和与作者联系提供了方便。此外,该书在编写过程中还得到了语言学家Elizabeth Traugott的审阅。本文接下去将以该书中部分论文为重点,介绍该书对英语语法化演变途径的论述。笔者认为该书所收录的文章大致可以分为两类。第一类文章(共9篇)主要是单纯介绍英语中一些词汇和结构的语法化途径。 该书的第一篇论文《有关前置修饰语语序转换的一个有趣例子》以indeed的演化过程为例介绍了语序变化和语法化的关系。作者根据相关语料,指出在中古英语时期①,in dede是一个介词词组,属于句中状语(clause–internal adverbial),dede仍是一个实词。到了中古英语后期,由于整个介词词组位于句首,它已经包含有说话者的一部分主观感情,in dede可解释为truly。在现代英语早期,indeed已经不再是一个介词词组,而是一个表示说话肯定语气的副词。它已完成了从实词到虚词的演化过程,其意义和语法功能与现代英语中的indeed已经完全相同

实验三 自下而上语法分析及语义分析

实验三自下而上语法分析及语义分析 一、实验目的: 通过本实验掌握LR分析器的构造过程,并根据语法制导翻译,掌握属性文法的自下而上计算的过程。 二、实验学时: 4学时。 三、实验内容 根据给出的简单表达式的语法构成规则(见五),编制LR分析程序,要求能对用给定的语法规则书写的源程序进行语法分析和语义分析。 对于正确的表达式,给出表达式的值。 对于错误的表达式,给出出错位置。 四、实验方法 采用LR分析法。 首先给出S-属性文法的定义(为简便起见,每个文法符号只设置一个综合属性,即该文法符号所代表的表达式的值。属性文法的定义可参照书137页表6.1),并将其改造成用LR分析实现时的语义分析动作(可参照书145页表6.5)。 接下来给出LR分析表。 然后程序的具体实现: ●LR分析表可用二维数组(或其他)实现。 ●添加一个val栈作为语义分析实现的工具。 ●编写总控程序,实现语法分析和语义分析的过程。 注:对于整数的识别可以借助实验1。 五、文法定义 简单的表达式文法如下: E->E+T|E-T|T T->T*F|T/F|F F->(E)|i 上式中,i 为整数。 六、处理程序例 例1: 正确源程序例: 23+(45+4)* 40分析结果应为:正确的表达式。其值为:1983 例2: 错误源程序例: 5+(56+)-24 分析结果应为:错误的表达式:出错位置为)

附录:源程序 #include #include"string.h" #include using namespace std; #define R 30 #define C 20 typedef struct elem { char e[4]; }Elem; //ACTION表与GoTo表中的元素类型 Elem LR[R][C]; //存放ACTION表与GoTo表中的内容 typedef struct out { int order; //序号 int state[10]; //状态栈 char sign[30]; //符号栈 char grasen[20]; //产生式 char input[30]; //输入串 char explen[50]; //解释说明 }OutNode; //输出结果中每一行的类型 OutNode out[20]; //存放输出结果 char Sentence[20]; //存放文法的一个句子 char GramSent[10][20]; //存放文法的一组产生式

“让”类词的语法化及机制研究【文献综述】

毕业论文文献综述 题目:“让”类词的语法化及机制研究 专业班级:汉语言文学 一、前言部分(说明写作的目的,介绍有关概念,扼要说明有关主题争论焦点) 让类词的语法化及其机制研究,主要是探讨“让”这一类从表动作的实词逐步转化为表示一种被动结构的语法标记的过程。从历时的角度研究“让”等使令类词的具体来源、形成和发展途径以及推动其演化的内外机制。这里主要涉及了以下几个概念:1语法化,2使令类词,3历时的研究角度。 什么是“语法化”?关于语法化的概念和起源,沈家煊在《“语法化”研究综观》中是这样解释的:“语法化”(grammaticalization)通常指语言中意义实在的词转化为无实在意义、表语法功能的成分这样一种过程或现象,中国传统语言学称之为“实词虚化”。“语法化”最早是由中国人提出来的,早在13世纪,元朝的周伯琦在《六书正為》中说:“大抵古人制字,皆从事物上起。今之虚字,皆古之实字”(郑奠、麦梅翘编1964,Harbsmeier 1979)。欧洲到18世纪才有法国哲学家Etienne Bonnot de Condillac 最先指出动词的屈折形态。这当然有道理,不过“虚化”主要是针对词义的变化由实而虚,西方已经有了“semantic bleaching”、“semantic weakening”这样的名称。”【1】刘坚等在《论诱发汉语词汇语法化的若干因素》中写到:“通常是某个实词或因句法位置、组合功能的变化而造成词义演变,或因词义的变化而引起句法位置、组合功能的改变,最终使之失去原来的词汇意义,在语句中只具有某种语法意义,变成了虚词。”【2】这两种论述中,我比较倾向于前者,但他们的共同之处,都是强调了“虚化”。 2使令类词 关于使令类动词的定义,刘永耕教授在2000年发表的论文《使令类动词和致使词》中是这样说的:“现代汉语使令类动词最典型的是‘请’、‘派’、‘命令’一类,它们所构成的N,V。N。V。式如‘我们请李教授作报告’是多数人公认的‘兼语式’。这类动词的语义特征吕叔湘先生很早就论述过(《中国文法要略》

英语语法错误经典例子(一)

英语语法错误经典例子(一) 1. 这本小说我已读了三遍。 误:I've read the novel the third time. 正:I've read the novel a third time. 析:要表示数量或序数的增加, 在序数词前用不定冠词。又如:He saw a second plane. 他又看到了第二架飞机。 2. 他在公共汽车后面追,并追上了。 误:He ran after the bus, and could catch it. 正:He ran after the bus, and was able to catch it. 析:表示过去特定情况下的能力,可用was (were) able to 而不能用could,不过这种差异在否定句中便不存在了。如:He ran after the bus but wasn't able to [couldn't] catch it. 3. 我正要上床睡觉,这时电话铃响了。 误:I was about to going to bed when the telephone rang. 正:I was about to go to bed when the telephone rang. 析:be about to do sth 是习语,其意为“正要做某事”,此处的about(有的词典认为是形容词)之后通常应接不定式,不接to doing sth。 4. 他接受过良好的教育。 误:He accepted a good education. 正:He received a good education.

析:虽然在通常情况下,accept=接受,receive=收到,但并不是说汉语中所有的“接受”都可用accept 来对译。 5. 他做这事是偶然的,还是故意的? 误:Did he do it on accident or by purpose? 正:Did he do it by accident or on purpose? 析:by accident 是习语,表示“偶然地”;on purpose 也是习语,表示“故意地”,注意两者介词的搭配不能混淆。 6. 你怎么解释事故的原因? 误:How can you account the accident? 正:How can you account for the accident? 析:account 用作动词时,表示“认为”,是及物动词;表示“解释”“说明”等,是不及物动词,若需后接宾语,通常借助介词for。 7. 不要杞人忧天。 误:Don't across the bridge until you come to it. 正:Don't cross the bridge until you come to it. 正:Don't walk across the bridge until you come to it. 析:across 是介词或副词(不是动词),cross 是动词。 8. 你要想卖掉你的产品,你就得为此登广告。

从实词虚化到语法化的汉语介词研究

从实词虚化到语法化的汉语介词研究 摘要:近年来,有众多学者对汉语介词进行研究并取得了丰硕的成果。本文试图从实词虚化到语法化的汉语介词进行浅析,从四个方面了解汉语介词语法化的研究历程:(一)实词虚化的过程;(二)介词语法化的句法环境;(三)介词语法化的语义条件;(四)介词语法化的宾语扩充。 关键词:介词汉语研究历程 介词在庞大的汉语体系中是一个重要的词类。在中国文化源远流长的历史中,介词的数量不断扩大。介词在汉语语法体系中有着重要的作用,虽不能单独充当句法成分,但可跟名词相结合构成介词短语,充当状语、定语等句法成分。 一、介词的定义 介词是语法中用来表现一个字的文法功能的词汇或词缀,通常用于某一名词或代词前面,也可用于某一具有名词性质的短语之前。介词和这样的词语或短语组成介词结构,主要用来表示时间、状态、方式、目的、原因以及比较对象等。 介词在语法结构中没有词汇意义,只有语法意义。总而言之,介词虽不能单独使用,却在汉语语法体系中不可缺少。 二、介词语法化的研究

(一)实词虚化的过程 实词大多指名词、动词、形容词等具有一定意义的词类,而虚词是指并无实际意义却在句子中有着语法意义的词类。因此,将一个具有词汇意义的词转化为只在句中搭配使用的词就是实词虚化。在实词转化为虚词的过程中并不是所有的实词都可以虚化,只有词汇意义与语法意义有关联的实词才可转化为虚词。如:“以”作介词时有6种用法:1.可以表示工具,译为“拿、用、凭着”;2.表示凭借,译为“凭、靠”; 3.表示所处置的对象,译为“把”; 4.表示时间、处所,译为“于、在、从”; 5.表原因,译为“因为、由于”; 6.表示依据,译为“按照、依照、根据”。“以”作动词时有实际意义:1.认为,以为;2.用,任用。实词虚化的过程要看这个词在不同句中所代表的意义。 (二)介词语法化的句法环境 很多情况下,词汇之所以会语法化,是由实词的句法位置改变造成的。当宾语出现在连谓结构中,动词就具备了语法化的嵌体。句法位置的变化造成句法功能的变化,动词不再成为核心而成为次要动词,随着自身词汇意义的消失,语法属性改变,最终实现语法化。由此可知,介词的产生前提是与句子核心动词位置发生改变密切相关的。这种语法上的变化,使动词的核心意义逐渐减弱,词汇意义虚化,进而产生了语法化,由动词变为了介词。如:“之”的用法,作为

编译器设计难点

现代编译器的设计及其难点 摘要:我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。在现代计算机系统中,编译器的设计始终都是一个重点与难点。此文主要介绍了编译器的设计方法,交叉编译的诞生及其应用。 关键词:代码、编译器、交叉编译。导论:首先谈谈编译器的主要功能及其设计步骤,然后对主机编译器进行研究,具体分析设计步骤,思考什么时候要用到交叉编译。回顾:编译器是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序。编译器将原始程序(Source program)作为输入,翻译产生使用目标语言(Target language)的等价程序。编译程序完成从源程序到目标程序的翻译工作,是一个复杂的整体的过程。一个现代编译器的主要工作流程如下:源程序(source code)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标程序(object code)→连接器(链接器,Linker)→可执行程序(executables)。从概念上来讲,一个编译程序的整个工作过程是划分成阶段进行的,每个阶段将源程序的一种表示形式转换成另一种表示形式,各个阶段进行的操作在逻辑上是紧密连接在一起的。一般一个编译过程划分成词法分析、语法分析、语义分析、中间代码生成,代码优化和目标代码生成六个阶段,这是一种典型的划分方法(如图1)。

图1 但有的目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;或者目标平台上的资源贫乏,无法运行我们所需要编译器,此时就需要用到交叉编译。什么是交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。,例如:编译程序在宿主机A上运行,将应用程序的源程序生成目标机B的代码(如图2)。与主机编译相比,交叉编译受的限制更多,虽然在理论上我们可以做任何形式的交叉编译,但事实上,由于受到专利、版权、技术的限制,并不总是能够进行交叉编译,尤其是在业余条件下!举例来说,至今无法生成惠普公司专有的som格式的可执行文件,因此我们根本无法做目的平台为HPPA-HPUX的交叉编译。

语法分析(自上而下分析)实验报告

实习二语法分析-自上而下分析 一、实验目的 使用预测分析方法对输入的表达式进行分析,掌握其具体的使用并且学会去分析一个文法。 二、实验内容 1.设计表达式的语法分析器算法(使用预测分析) 2.编写一段代码并上机调试查看其运行结果 三、实验要求 使用LL(1)分析算法设计表达式的语法分析器 LL(1)文法是一个自上而下的语法分析方法,它是从文法的开始符号出发,生成句子的最左推导,从左到右扫描源程序,每次向前查看一个字符,确定当前应该选择的产生式。 实现LL(1)分析的另一种有效方法是使用一张分析表和一个栈进行联合控制。 预测分析程序的总控程序在任何时候都是按STACK栈顶符号X和当前a的输入符号行事的。对于任何(X,a),总控程序每次都执行三种可能的动作之一。 1.若X=a=“#”,则宣布分析成功,停止分析过程 2.若X=a≠“#”,则把X从STACK栈顶逐出,让a指向下一 个输入符号。 3.若X是一个非终结符,则查看分析表。 四、运行结果

(本程序只能对由'i','+','*','(',')'构成的以'#'结束的字符串进行分析) 五、源程序实现 /*LL(1)分析法源程序,只能在VC++中运行*/ #include #include #include #include char A[20]; char B[20]; char v1[20]={'i','+','*','(',')','#'};/*终结符*/ char v2[20]={'E','G','T','S','F'};/*非终结符*/ int j=0,b=0,top=0,l;/*L为输入串长度*/

C语言编译器的设计与实现.

C语言编译器的设计与实现 01计算机4班18号任春妍2号陈俊我们设计的编译程序涉及到编译五个阶段中的三个,即词法分析器、语法分析器和中间代码生成器。编译程序的输出结果包括词法分析后的二元式序列、变量名表、状态栈分析过程显示及四元式序列程序,整个编译程序分为三部分: (1) 词法分析部分 (2) 语法分析处理及四元式生成部分 (3) 输出显示部分 一.词法分析器设计 由于我们规定的程序语句中涉及单词较少,故在词法分析阶段忽略了单词输入错误的检查,而将编译程序的重点放在中间代码生成阶段。词法分析器的功能是输入源程序,输出单词符号。我们规定输出的单词符号格式为如下的二元式:(单词种别,单词自身的值) #define ACC -2 #define syl_if 0 #define syl_else 1 #define syl_while 2 #define syl_begin 3 #define syl_end 4 #define a 5 #define semicolon 6 #define e 7 #define jinghao 8 #define s 9 #define L 10 #define tempsy 11 #define EA 12 #define EO 13 #define plus 14 #define times 15 #define becomes 16 #define op_and 17 #define op_or 18 #define op_not 19 #define rop 20 #define lparent 21 #define rparent 22 #define ident 23 #define intconst 24

CMinus词法分析和语法分析设计编译器编译原理课程设计报告书

编译原理课程设计报告 课题名称:C- Minus词法分析和语法分析设计 提交文档学生姓名:X X X 提交文档学生学号:XXXXXXXXXX 同组成员名单:X X X 指导教师姓名:X X 指导教师评阅成绩: 指导教师评阅意见: . . 提交报告时间:2015年6月10日

1.课程设计目标 实验建立C-编译器。只含有扫描程序(scanner)和语法分析(parser)部分。 2.分析与设计 C-编译器设计的整体框架,本实验实现扫描处理和语法分析程序(图中粗黑部分)。 2.1 、扫描程序scanner部分 2.1.1系统设计思想 设计思想:根据DFA图用switch-case结构实现状态转换。 惯用词法:

①语言的关键字:else if int return void while ②专用符号:+ - * / < <= > >= == != = ; , ( ) [ ] { } /* */ ③其他标记是ID和NUM,通过下列正则表达式定义: ID = letter letter* NUM = digit digit* letter = a|..|z|A|..|Z digit = 0|..|9 大写和小写字母是有区别的 ④空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM 关键字。 ⑤注释用通常的C语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置(即注释不能放在标记内)上,且可以超过一行。注释不能嵌套 scanner的DFA

说明:当输入的字符使DFA到达接受状态的时候,则可以确定一个单词了。初始状态设置为START,当需要得到下一个token时,取得次token的第一个字符,并且按照DFA与对此字符的类型分析,转换状态。重复此步骤,直到DONE为止,输出token类型。当字符为“/”时,状态转换为SLAH再判断下一个字符,如果为“*”则继续转到INCOMMENT,最后以“*”时转到ENDCOMMENT状态,表明是注释,如果其他的则是字符停滞于当前字符,并且输出“/”。 2.1.2程序流程图

到的语法化

到的语法化 陶振伟 (安徽师范大学文学院,安徽芜湖241000) 关键词:到的语法化;特定语境;虚化机制 摘要:考察到的三种语法化现象:(1)到由行为动词演变为周全义的形容词,(2)到 由行为动词演变为介词往;(3)到由行为动词演变为结果补语,并尝试探讨其语法化的特定语境 及虚化机制。 中图分类号:H 313文献标识码:A 在现代汉语共时平面上,到的用法包括以下几 种: 1)达于某一点;到达;达到:~期;火车~站了。 2)周到:想得很~;有不~的地方请原谅。 3)往:~郊外去:~群众中去。 4)用作动词的补语,表示动作有结果:看~;想不~ 你来了。 以上四种义项分别记作到1、到2、到3、到 4。其中,到1是行为动词,常在句中作谓语中心语; 到2是形容词,能受很修饰,并且不能带宾语,意 义相当于周到,周全。到3可以看作介词,常用在 到+N+V格式中,到+N作其后动词的状语,意义 大致相当于往;到4常用在V+到(+N)格式 中,用作动词的补语,表示动作产生的结果。 到在共时平面上的不同用法之间往往具有历时上的 演变关系。下面我们来考察与到的用法有关的三种虚 化现象: 1)到1?到2;到由行为动词演变为形容词。 2)到1?到3:到由行为动词演变为介词; 3)到1?到4:到由行为动词演变为动词补语; 下文介绍到的上述用法在历时文献中的使用情况, 再尝试讨论触发这几种语法化(G rammaticalization)现象的 句法环境(context)及其虚化机制(mechanism)。 一历时考察 我们对到的用法作一大致考察,将其分为三个时 期:1)汉代以前,到1的用法已广泛存在,到2已 初露端倪,到3、到4、的用法还很少见;2)唐宋以 前,到1、到2的用法较为普遍,到3、到4初 露端倪;3)唐宋以后,到的各种用法都已广泛存在, 形成了与现代汉语较为近似的到1、到2、到3、 到4共存的局面。下面简要举例说明。 1汉代以前 我们考察了#诗经?、#国语?、#墨子?、#大学?%等 汉以前的文献资料,这些文献中到1的用法较为广泛, 同时也出现了部分可以理解为到2的用例。如: 到1的用例: (1)蹶父孔武,靡国不到。(#诗经&大雅&韩奕?) (2)屈到嗜芰,有疾,召其宗老而属之。(#国语?) (3)水器容四斗到六斗者百。(#墨子?) 可以理解为到2的用例: (4)则众物之表里精粗,无不到,而吾心之全体大用, 无不明矣。(#大学?) 2唐宋以前 唐宋以前,到1、到2普遍存在,到3、到 4初露端倪。如: 到2: (5)今郡太守内省责己,自曝中庭,使辅谢罪,为民 祈福,精诚恳到,未有感彻。(#搜神记?) (6)仲业渊长,雅性清到。(北魏高允#徵士颂?) 到3: (7)徐州黄巾贼攻破北海,玄与门人到不其山避难。 (#三国志?) (8)奉由是失望,与韩暹等到定陵钞暴。(#三国志?) 到4 (9)稻主亦追到王所。(?世高译经&犍陀国王经() (10)遂进到山下安营,攻之,斩兰、成首,尽虏其 众。(#三国志?) 这一时期到3、到4的一些用例多数都可以作双 重分析(double-analysis),如: 收稿日期:2005 09 21 作者简介:陶振伟,安徽师范大学文学院硕士生。(11)樊哙在营外,闻事急,乃持铁盾入到营。(#史 记?) (12)肃见术无纲纪,不足与立事,乃携老弱将轻侠少 年百余人,南到居巢就瑜。(#三国志?) (11)中的到既可以理解成到1,又可理解成 到4,(12)中的到既可以理解成到1,也可理 解成到3上述例句中的到是介于两者之间的一种 状态。 3唐宋以后 唐宋以后,到1、到2、到3、到4都已广 泛使用,如: 到1: (13)五逆前后事,我死即到汝。(#王梵志诗&父母 生男女?) (14)即召其商人两人上船,向淮南镇,从水路而到半 途。(#入唐求法巡礼行记?) 到2: (15)人治一家一国,尚且有照管不到处。(#朱子语类?) (16)长溪杨楫通老,忠实恳到,有志于学。(陆九渊 #送杨通老?) 到3: (17)八月一日早朝,大使到州衙见扬州府都督李相公(#人唐求法巡礼行记?)

编译原理课程设计---一个简单编译器的设计与分析

摘要 使用过现代计算机的人都知道,多数用户是应用高级语言来实现他们所需要的计算的。现在计算机系统一般都含有不只一个的高级语言的编译程序,对有些高级语言甚至配置了几个不同性能的编译程序,供用户按不同需要进行选择。高级语言编译程序是计算机系统软件最主要的组成部分之一,也是用户最直接关系的工具之一。 计算机上执行一个高级语言程序一般分为两步:第一,用一个编译程序把高级语言翻译成机器语言程序;第二,运行所得的机器语言程序求得计算结果。 通常说的翻译程序是指能够把某一种语言程序转换成另一种语言程序(目标语言程序)。如果源语言诸如Fortran,Pascal,C,Ada或java这样的高级语言,而目标程序是诸如汇编语言或者机器语言这类的低级语言,这样的一个翻译程序就是称为编译程序。 一个编译程序的工作过程一般可以划分为五个阶段:词法分析、语法分析、语义分析与中间代码生成、优化、目标代码生成。每个阶段都是从上一个阶段得到结果,对他进行分析,并且根据一些外部环境(例如符号表等)得到最终的输出结果。要构造一个编译程序,可以按照这样的阶段来分别构造,最后来连调。 现在人们已经建立了多种编制部分编译程序或整个编译程序的有效工具。有些能用于自动生成扫描器(如LEX),有些可以用于自动产生语法分析器(如YACC),有些甚至可以用来自动产生整个的编译程序。这些构造编译程序的工具成为编译程序-编译程序、编译程序产生器或翻译程序书写系统,他们是按照编译程序和目标语言的形式描述而自动产生编译程序的。 编译程序是一极其庞大而又复杂的系统,掌握它比较苦难。但是一旦对其掌握,对以后的程序语言设计,系统软件分析,系统软件设计,形式语言研究等方面都是非常有好处的。 关键字:C语言、、编译、扫描器、语法分析

语法化研究综述

国内语言学家也对语法化的定义进行了探讨: 1.沈家煊给语法化的定义是:语法化通常是指语言中意义实在的词转化为无实在意义、表语法功能的成分这样一种过程或现象。 2.刘坚等的定义如下:通常是某个实词或因句法位置、组合功能的变化而造成词义演变,或因词义的变化而引起句法位置、组合功能的改变,最终使之失去原来的词汇意义,在语句中只具有某种语法意义,变成了虚词。 3.马壮寰认为,语法演化是单向的,即从实词向虚词、向语法形式和结构发展,而不是相反。语法形式的演进是从语法化程度较低的变为程度较高的,从开放类变为封闭类,从具体变为抽象。 4.杨成虎的定义更为简洁,即语法化通常是指语言中意义实在的词转化为无实在意义、表语法功能成分的一种现象,是实词虚化为语法标记的过程。 一般说来,语法化现象至少应包括以下三种情况:实词虚化、句法化现象、词汇化现象。实词虚化 三种情况中,实词虚化是最基本的、最常见的,因而有被误解为语法化概念本身的倾向。实词虚化的实质就是某个词新的词类语法功能的获得,或者说从一个语义域的成员化为另一个语义域的成员。 句法化 句法化现象即章法成分向句法成分的转变,语用因素规约后向语法因素过渡以及词序在实际使用中被凝固化,从而表达某一具体语法功能等转变过程。 词汇化 词汇化现象指的是引起词语表达(lexicalexpression)失去其直接性和透明度,进而演化 成不能从字面意思推测出其真正意义的词组。 国内外关于语法化所达成的共识 国内外关于语法化,已达成四点共识:一是语法化的主体是句法化(尤其是实词虚化)、形态化;二是语法化大多是有理据的,有动因、有机制,语言的经济性、像似性、明晰性以及说话者的目的、语用推理等,都是影响语法化的重要因素;三是语法化是渐变的过程;四是语法化是单向性为主的(从实到虚,从比较虚到更虚),语法化体现着一个基本的特征,

英语语法常见错误100例

英语语法常见错误100 例 写作是对学生运用英语的综合能力的考查,是最能体现学生英语水平的一种检测方式。学生 在写作的过程当中经常暴露一些弱点、犯一些错误。现对学生英语作文中的常见错误按语法类别进行归纳,并举以实例,希望同学们能够由此发现自己的问题并及时改正! 一. 名词 写作中,学生们常把握不好名词的数、所有格以及一些集合名词的用法。 1. He gave me a very good advice yesterday. 句中的a要去掉,因为advice是不可数名词。一些汉语概念为可数的词在英语中却是不可数 的,表示数量时在其前力口a piece of,类似的词有:n ews bread work paper chalk furniture information 等等。 2. That girl loves reading book. 可数名词单数不能孤零零地放在句子里,或前面加冠词,或将其变为复数。此处最好变为 books. 3. He went into a book 's shop and bouigohntaaryd.ict 一般表示有生命的东西的名词的所有格用’,如my mother' car而此处适宜用名词修饰名词, 改为 a book shop. 4. My family is watching TV. 一些集合名词如看成一个整体,则用单数的谓语动词,如My family is a happy one; 如强调集合中每个个体的个人行为,则用复数的谓语动词。此处看电视是个体行为,应把is 改为are。类似的词有:team class audie nee等。

英语语法错误经典例子(五)

英语语法错误经典例子(五) 41.她不喜欢她丈夫开快车。 误:She didn’t enjoy when her husband drove fast. 正:She didn’t enjoy it when her husband drove fast. 析:enjoy(喜欢)在现代英语中除极个别的口语用法外, 通常只用作及物动词,其后应跟有宾语。上句中it 用作enjoy的宾语,其后的when 是时间状语从句,而不是宾语从句。 42.这就等于说他是个骗子。 误:This is equal to say that he’s a cheat. 正:This is equal to saying that he’s a cheat. 析:be equal to 的意思是“等于”“能胜任”“能应付”,其中的to 是介词,不是不定式符号。又如:Her sight is equal to threading a needle without glasses. 她的视力很好,能不戴眼镜穿针引线。 43.他给自行车装了前灯。 误:He equipped a head light on his bike. 正:He equipped his bike with a head light. 析:equip(装备)通常要以被装备的对象作宾语, 不能以装备物作宾语,其句型通常为“equip+装备对象+with+装备物”(注意相应的被动形式)。又如:We are going to equip the room with air-conditioning. 我们打算给这个房间装上空调。注意不说:We’re going to equip air-conditioning in the room.

编译原理实验三-自下而上语法分析及语义分析.docx

上海电力学院 编译原理 课程实验报告 实验名称:实验三自下而上语法分析及语义分析 院系:计算机科学和技术学院 专业年级: 学生姓名:学号: 指导老师: 实验日期: 实验三自上而下的语法分析 一、实验目的: 通过本实验掌握LR分析器的构造过程,并根据语法制导翻译,掌握属性文法的自下而上计算的过程。 二、实验学时: 4学时。 三、实验内容

根据给出的简单表达式的语法构成规则(见五),编制LR分析程序,要求能对用给定的语法规则书写的源程序进行语法分析和语义分析。 对于正确的表达式,给出表达式的值。 对于错误的表达式,给出出错位置。 四、实验方法 采用LR分析法。 首先给出S-属性文法的定义(为简便起见,每个文法符号只设置一个综合属性,即该文法符号所代表的表达式的值。属性文法的定义可参照书137页表6.1),并将其改造成用LR分析实现时的语义分析动作(可参照书145页表6.5)。 接下来给出LR分析表。 然后程序的具体实现: ● LR分析表可用二维数组(或其他)实现。 ●添加一个val栈作为语义分析实现的工具。 ●编写总控程序,实现语法分析和语义分析的过程。 注:对于整数的识别可以借助实验1。 五、文法定义 简单的表达式文法如下: (1)E->E+T (2)E->E-T (3)E->T

(4)T->T*F (5)T->T/F (6)T->F (7)F->(E) (8)F->i 状态ACTION(动作)GOTO(转换) i + - * / ( ) # E T F 0 S5 S4 1 2 3 1 S6 S1 2 acc 2 R 3 R3 S7 S13 R3 R3 3 R6 R6 R6 R6 R6 R6 4 S 5 S4 8 2 3 5 R8 R8 R8 R8 R8 R8 6 S5 S4 9 3 7 S5 S4 10 8 S6 R12 S11 9 R1 R1 S7 S13 R1 R1 10 R4 R4 R4 R4 R4 R4 11 R7 R7 R7 R7 R7 R7 12 S5 S4 14 3 13 S5 S4 15 14 R2 R2 S7 S13 R2 R2 15 R5 R5 R5 R5 R5 R5 五、处理程序例和处理结果例 示例1:20133191*(20133191+3191)+ 3191#

第五章 自上而下语法分析

第五章自上而下语法分析 1、教学目的及要求: 本章介绍编译程序的第二个阶段语法分析的设计方法和实现原理,包括自上而下分析的无回朔的递归下降分析、 LL(1)分析法。要求理解递归下降分析、LL(1)文法的基本概念;掌握无回朔的递归下降分析的设计和实现、LL(1)分析表的构造与分析方法。 ◇能够对一个给定的文法判断是否是LL(1)文法; ◇能构造预测分析表; ◇能用预测分析方法判断给定的输入符号串是否是该文法的句子; ◇能对某些非LL(1)文法做等价变换: ①消除左递归 ②提取左公共因子 可能会变成LL(1)文法。这样可扩大自顶向下分析方法的应用。 2、教学内容: 语法分析器的功能,自上而下语法分析(递归下降分析法,预测分析程序),LL(1)分析法,递归下降分析程序构造,预测分析程序。 3、教学重点: 递归下降子程序,预测分析表构造,LL(1)文法。 4、教学难点: 对一个文法如何判断是否是LL(1)文法,由于在判断 LL(1)文法时用到文法符号串的开始符号集合(FIRST集)和非终结符后跟符号集合(FOLLOW集)的计算,而一般学生往往因概念不清或不够细心对这两个集合的计算常常出错,导致判断和分析结果的错误。 5、课前思考 为了了解自顶向下(自上而下)分析的一般过程和问题,请学生首先回顾本章之前介绍的有关基本概念: ◇句子、句型和语言的定义是什么? ◇什么叫最左推导? ◇什么叫最右推导和规范推导? ◇什么叫确定的自顶向下语法分析?

◇自顶向下语法分析是从文法的开始符号出发,反复使用各种产生式,寻找与输入符号匹配的推导。 ◇确定的自顶向下语法分析中用的是哪种推导? ◇在确定的自顶向下语法分析过程中,当以同一个非终结符为左部的产生式有多个不同右部时,如何选择用哪个产生式的右部替换当前的非终结符? ◇确定的自顶向下语法分析对文法有何限制? 6、章节内容 第一节概述 第二节 LL(1)分析方法 第三节递归下降分析法 5.1 概述 LL分析法 确定的自上而下分析 自上而下分析递归下降分析法 语法分析不确定的自上而下分析——即带回溯的分析方法 算符优先分析 自下而上分析 LR分析 一、带回溯的自顶向下分析方法 是自顶向下分析的一般方法,即对任一输入符号串,试图用一切可能的办法,从树根结点(识别符号)出发,根据文法自上而下地为输入串建立一棵语法树,或者说,从识别符号开始,根据文法为输入串建立一个推导序列,这种分析过程本质上是一种试探过程,是反复使用不同规则谋求匹配输入串的过程。 例有文法G[S]:S→cAd,A→ab|a,输入串w=cad。其分析过程为带回溯的。 二、存在问题及解决办法 1、左递归问题: 自顶向下分析方法只有把规则排列得合适时才能正确工作,该方法不能处理具有左递归性文法,可采取某些算法消除左递归。 2、回溯问题:

编译器的词法分析器

一.实验目的 ●了解编译器的词法分析器的作用。其作用是源程序转化为便于编译程序其余部分进行处 理的内部格式。 ●了解词法分析器的任务。识别出源程序中的各个基本语法单位;删除无用的空白字符, 回车以及其他与输入介质相关的非实质性的字符,以及注释等。 一.实验说明 ●词法分析程序:词法分析程序完成的是编译第一阶段的工作。词法分析工作可以是独立 的一遍,把字符流的源程序变为单词序列,输出在一个中间文件上,这个文件做为语法分析程序的输入而继续编译过程。然而,更一般的情况,是将词法分析程序设计成一个子程序,每当语法分析程序需要一个单词时,则调用该子程序。词法分析程序每得到一次调用,便从源程序文件中读入一些字符,直到识别出一个单词,或说直到下一单词的第一个字符为止。 ●词法分析程序的主要功能是从字符流的源程序中识别单词,它要从左至右逐个字符地扫 描源程序,因此它还可完成其它一些任务。比如,滤掉源程序中的注释和空白(由空格,制表或回车换行字符引起的空白);又比如,为了使编译程序能将发现的错误信息与源程序的出错位置联系起来,词法分析程序负责记录新读入的字符行的行号,以便行号与出错信息相联;再有,在支持宏处理功能的源语言中,可以由词法分析程序完成其预处理等等。 ●以下是五种单词符号: - 保留字,关键字 - 标识符 - 常数(量) - 运算符 - 界符 ●词法分析程序所输出的单词符号常常采用以下二元式表示:(单词种别,单词自身的值)。 单词的种别是语法分析需要的信息,而单词自身的值则是编译其它阶段需要的信息。比如在PASCAL的语句const i=25, yes=1;中的单词25和1的种别都是常数,常数的值25和1对于代码生成来说,是必不可少的。有时,对某些单词来说,不仅仅需要它的值,还需要其它一些信息以便编译的进行。比如,对于标识符来说,还需要记载它的类别、层次还有其它属性,如果这些属性统统收集在符号表中,那么可以将单词的二元式表示设计成如下形式(标识符,指向该标识符所在符号表中位置的指针),如上述语句中

从实词虚化到语法化的汉语介词研究

从实词虚化到语法化的汉语介词研究 近年来,有众多学者对汉语介词进行研究并取得了丰硕的成果。本文试图从实词虚化到语法化的汉语介词进行浅析,从四个方面了解汉语介词语法化的研究历程:(一)实词虚化的过程;(二)介词语法化的句法环境;(三)介词语法化的语义条件;(四)介词语法化的宾语扩充。 标签:介词汉语研究历程 介词在庞大的汉语体系中是一个重要的词类。在中国文化源远流长的历史中,介词的数量不断扩大。介词在汉语语法体系中有着重要的作用,虽不能单独充当句法成分,但可跟名词相结合构成介词短语,充当状语、定语等句法成分。 一、介词的定义 介词是语法中用来表现一个字的文法功能的词汇或词缀,通常用于某一名词或代词前面,也可用于某一具有名词性质的短语之前。介词和这样的词语或短语组成介词结构,主要用来表示时间、状态、方式、目的、原因以及比较对象等。 介词在语法结构中没有词汇意义,只有语法意义。总而言之,介词虽不能单独使用,却在汉语语法体系中不可缺少。 二、介词语法化的研究 (一)实词虚化的过程 实词大多指名词、动词、形容词等具有一定意义的词类,而虚词是指并无实际意义却在句子中有着语法意义的词类。因此,将一个具有词汇意义的词转化为只在句中搭配使用的词就是实词虚化。在实词转化为虚词的过程中并不是所有的实词都可以虚化,只有词汇意义与语法意义有关联的实词才可转化为虚词。如:“以”作介词时有6种用法:1.可以表示工具,译为“拿、用、凭着”;2.表示凭借,译为“凭、靠”;3.表示所处置的对象,译为“把”;4.表示时间、处所,译为“于、在、从”;5.表原因,译为“因为、由于”;6.表示依据,译为“按照、依照、根据”。“以”作动词时有实际意义:1.认为,以为;2.用,任用。实词虚化的过程要看这个词在不同句中所代表的意义。 (二)介词语法化的句法环境 很多情况下,词汇之所以会语法化,是由实词的句法位置改变造成的。当宾语出现在连谓结构中,动词就具备了语法化的嵌体。句法位置的变化造成句法功能的变化,动词不再成为核心而成为次要动词,随着自身词汇意义的消失,语法属性改变,最终实现语法化。由此可知,介词的产生前提是与句子核心动词位置发生改变密切相关的。这种语法上的变化,使动词的核心意义逐渐减弱,词汇意

相关文档