【软件工程】PDL语言(Program Design Language)

一、PDL语言(Program Design Language)简述

PDL语言,全称为Program Design Language(设计性程序语言),是一种专门用于软件设计文档的描述性语言,也被称为页描述语言或伪码。它主要用于书写软件设计规约,具有强大的功能,能够设计出复杂的页面布局和图形输出,但因其灵活性较高和描述的复杂性,处理速度相对较慢。PDL的结构与一般程序模块相似,包含数据说明和过程部分,允许开发者使用自然语言来描述控制结构,即使在细节语法上不严格定义,也可以根据具体应用场景和设计层次进行调整。

二、PDL程序结构

(1)总体结构

PDL程序的总体结构通常包括数据说明部分和过程部分,也可以带有注释等成分。其书写的模块结构一般遵循以下格式:

PROCEDURE <过程名>(<参数表>)
<数据说明部分>
<语句部分>
END <过程名>

1、子程序结构

procedure<子程序名>
   interface<参数表>
   <分程序PDL语句>
return
end<子程序名> <PDL语句指各种PDL构造>

2、分程序结构

begin<分程序名>语句>
end<分程序名>

(2)数据说明部分

PDL程序中指明数据名的类型及作用域。其形式为:

declare<数据名>as<限定词>

<限定词>具体的数据结构:

scalar<纯量>

array<数组>

list<列表>

char<字符>

structure<结构>

(3)语句部分

语句部分可以包括多种类型的语句,如赋值语句、条件语句、循环语句、调用语句、返回语句等。以下是一些常见的语句结构:

1、赋值语句

用于为变量赋值,如:

<数据项名> = <表达式>

2、条件语句

用于根据条件执行不同的语句块,如:

if <条件> then
    <PDL语句>
else
    <PDL语句>
end if

或者更复杂的条件结构:

if <条件1> then
    <PDL语句>
else if <条件2> then
    <PDL语句>
else
    <PDL语句>
end if

3、循环语句

用于重复执行一段代码,如:

loop while <条件>
    <PDL语句>
end loop

或者:

loop until <条件>
    <PDL语句>
end loop

4、调用语句

用于调用其他过程或函数,如:

call <过程名>(<参数>)

5、返回语句

用于从过程中返回结果或结束过程,如:

return <表达式>

或者简单地:

return

6、case语句

case <选择句子> of
  <标号>{,<标号}:>语言>
  [defoult] :[语句>]
end case

(4)输入输出结构

print
read
display 
input
output

(5)注释

PDL语言中可以使用注释来提高代码的可读性。注释可以插在任意位置,通常使用自然语言书写。注释行通常以特定的符号“–*”开头。

(6)关键字和语法规则

PDL语言具有固定的关键字外语法,用于定义控制结构和数据结构。这些关键字通常是大写的,以区别于其他单词。同时,PDL语言也允许使用自然语言来描述处理特性,这使得其语法更加灵活和自由。然而,为了保持代码的一致性和可读性,通常建议遵循一定的语法规则来书写PDL代码。

三、示例

PROCEDURE spellcheck
BEGIN
  --* split document into single words
  LOOP get next word
     add word to word list in sortorder
     EXIT  WHEN all words processed
  END  LOOP
  --* look up words in dictionary
  LOOP get word from word list 
        IF word not in dictionary THEN
                --* display words not in dictionary
                display word
		        prompt on user terminal
		        IF user response says word OK THEN
		             add word to good word list
		        ELSE
		             add word to bad word list
		        ENDIF
	    ENDIF
	    EXIT WHEN all words processed
   END LOOP
   --* create a new words dictionary
   dictionary :=merge dictionary and good word list
END spellcheck

参考资料:
http://blog.chinaunix.net/uid-20659461-id-1905239.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值