第二章 高级语言及其语法描述

本文详细介绍了程序语言的定义,包括语法和语义,重点关注高级语言的特性,如程序结构、数据类型与操作、控制结构。同时,探讨了上下文无关文法,文法的二义性及其消除方法,并通过实例展示了文法的应用和语言推导。
摘要由CSDN通过智能技术生成

一.程序语言的定义

1.语法:指这样的一组规则,用它可以形成和产生一个合适的程序。而这些规则的一部分成为词法规则,另一部分成为语法规则。

             (1)单词符号是语言中具有独立意义的最基本的结构。(一般包括:各类型的常数、标识符、基本字、算符和界符)

             (2)语法规则:规定了如何从单词符号形成更大的结构(语法单位)。

                      语法单位有:表达式,语句,分程序,函数,过程和程序等等。                                                 

             (3)词法规则:合法单词的构成规则。                                                                                              

2.语义:指这样的一组规则,使用它可以定义一个程序的意义。这些规则成为语义规则。                      

             (1)程序设计语言定义:建立在有限字母集上的一个符号系统。                                                          

                                         功能:描述数据和对数据的运算。                                                                         

二.高级语言的一般特性:程序结构,数据类型与操作,语句,控制结构                                                                

             1. 高级语言分类 按照程序设计类型(1)强制式语言(过程属语言,c语言)                                      

                                                               (2)应用式语言(函数式语言,bisp)                                   

                                                               (3)基于规则的语言(prolog)                                   

                                                              (4)面向对象语言(java):特征支持封装性,继承性,和多态性。

              按照编译时是否需要类型的检查:(1)静态类型语言(c/c++/java)

                                                               (2)动态类型语言(Python/Ruby/PHP)

                                       类型检查强弱:(1)弱类型语言(c/c++/VB)

                                                             (2)强类型语言(java/c#)

             2.程序结构(1)支持过程的嵌套定义(Pascal)

                              (2)不支持过程的嵌套定义(c/c++/java)

                             程序结构的不同决定了符号构造方法的不同。

            3.数据类型与结构:(1)初等数据类型(数值数据,逻辑数据,字符数据,指针类型)

                                        (2)数据结构

                                         (3)抽象数据类型

            4.语句与控制结构:表达式,语句(赋值语句,控制语句,说明句,简单句和复合句)。

三。程序语言的语法描述

          1.规定 V0 = {ε}  令: V*  = V0UV1UV2U…     称 V*是V的闭包   V+ = VV*, 称 V+是V的正则闭包。

          2.上下文无关文法:他所定义的语法范畴是完全独立于这种范畴可能出现的环境的。 包括一组终结符号,非终结符号,一个开始符号,以及一组产生式。 形式上定义一个上下文无关文法G是一个四元式(VT,VN,S,P)。

               VT是一个非空有限集,它的每一个元素称为终结符号;
               VN是一个非空有限集,它的每一个元素称为非终结符号,
       VT∩VN=Φ;
               S是一个非终结符号,称为开始符号;
     

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值