Pascal开关编译指示表
- 格式:doc
- 大小:100.00 KB
- 文档页数:2
错误一览表1、Run Time Errors运行错误(A)DOS错误代码:1:无效DoS功能号2:文件末找到3:路径未找到4:打开文件过多5:禁止文件存取6:无效文件句柄12:无效文件存取代码15:无效驱动器号16:不能删除当前日录17:不能跨驱动器改文件名(B)I/O错误100:磁盘读错误101:磁盘写错误102:文件变量末赋值103:文件未打开104:文件未用输入方式打开105:文件末用输出方式打开106:无效数字格式(C)严重错误150:磁盘写保护15l:未知单元152:驱动器未准备好153:未知命令154:数据CRC校验错155:驱动器请求的结构长度错156:磁盘定位错157:未知媒介类型158:扇区末找到159:打印机缺纸160:设备写失败161:设备读失败162:硬件故障(D)致命错误200:被零除201:范围检查错202:堆栈溢出错203:堆溢出错204:无效指针操作205:浮点上溢出206:浮点下溢出207:无效浮点运算208:未安装覆盖管理程序209:覆盖文件读错210:对象未初始化211:调用抽象方法212:流登计错213:集合下标越界214:集合溢出215:算术上溢错误216:存取非法217:控制-C218:授权指令219:无效的TYPECAST220:无效的变体TYPECAST221:无效的变体操作222:没有变体方法调用DISPATCHER223:不能建立变体数组224:变体不包含数组225:变体数组边界错误226:TLS初始化错误2、编译错误对照表下面列出在编译程序时可能出现的错误,在集成环境下,Pascal将自动加载源程序并定位于出错处。
1:内存溢出2:缺标识符3:标识符未定义4:标识符重定义5:语法错误6:实型常量错7:整型常量错8:字符串常量跨行9:文件嵌套过多10:非正常文件结束11:行过长12:缺类型标识符13:打开文件过多14:无效文件名15:文件未找到16:磁盘满17:无效编译指示18:文件过多19:指针定义中未定义类型20:缺变量标识符21:类型错误22:结构过长24:文件分量不能为文件25:无效字符串长度26:类型不匹配27:无效子界基类型28:下界大于上界29:缺有序类型30:缺整型常数31:缺常数32:缺整型或实型常数33:缺指针类型标识符34:无效的函数结果类型35:缺标号标识符36:缺BEGIN37:缺END38:缺整型表达式39:缺有序表达式40:缺布尔表达式41:操作数类型与操作符不匹配42:表达式错43:非法赋值44:缺字段标识符45:目标文件过长46:未定义外部标识符47:无效*.OBJ文件记录48:代码段过长49:数据段过长50:缺DO51:无效PUBLIC定义52:无效EXTRN定义53:EXTRN定义过多54:缺0F55:缺INTERFACE56:无效重定位引用57:缺THEN58:缺T0或DOWNTO59:未定义的向前引用60:过程过多61:无效类型转换62:被零除D63:无效文件类型64:不能读写该类型的变量65:缺指针变量66:缺字符串变量67:缺字符串表达式68:单元循环引用69:单元名不匹配70:单元版本不匹配71:单元重名72:单元文件格式错误73:缺IMPLEMENTATl0N74:常数与CASE类型不相匹配75:缺记录变量76:常数越界77:缺文件变量78:缺指针变量79:缺整型或实型表达式80:标号不在当前块中81:标号已定义82:标号未定义83:无效参数84:缺UNIT85:缺“;”86:缺“:”87:缺“,”88:缺“(”89:缺“)”90:缺“=”91:缺“:=”92:缺“[”或“(.”93:缺“]”或“.)”94:缺“.”96:变量过多97:无效FOR控制变量98:缺整型变量99:此处不允许用文件和100:字符串长度不匹配101:无效字顺序102:缺字符串常数103:缺整型或实型变量104:缺有序变量105:INLINE错106:缺字符表达式107:重定位项过多112:CASE常量越界113:语句错114:不能调用中断过程116:必须在8087方式下编译117:末找到目标地址118:此处不允许包含文件120:缺NIL121:无效限定符122:无效变量引用123:符号过多124:语句部分过长126:文件必须为变量参数127:条件符号过多128:条件指令错位130:初始条件定义错13l:过程和函数头与前面定义的不匹酉132:严重磁盘错误133:不能计算该表达式134:表达式错误结束l35:无效格式说明符136:无效间接引用137:此处不允许结构变量138:无SYSTEM单元不能计算l39:不能存取该符号140:无效浮点运算141:不能将覆盖编译至内存142:缺过程和函数变量143:无效过程或函数引用144:不能覆盖该单元147:缺对象类型148:不允许局部对象类型149:缺VIRTUAL150:缺方法标识符151:不允许虚拟构造方法152:缺构造方法标识符153:缺释放方法标识符154:FAIL只允许在构造方法内使用155:无效的操作符和操作数组合156:缺内存引用l57:不能加减可重定位符号158:无效寄存器组合159:未激活286/287指令160:无效符号引用161:代码生成错162:缺ASM11/ 11。
运行错误对照表(A)Dos错误代码001:无效 Dos功能号 002:文件未找到003:路径未找到004:打开文件过多005:禁止文件存取006:无效文件句柄012:无效文件存取代码 015:无效驱动器号016:不能删除当前目录 017:不能跨驱动器改文件名 (B)I/O错误100:磁盘读错误101:磁盘写错误102:文件变量未赋值 103:文件未打开104:文件未用输入方式打开 105:文件未用输出方式打开 106:无效数字格式(C)严重错误150:磁盘写保护 151:未知单元152:驱动器未准备好153:未知命令154:数据 CRC校验错 155: 驱动器请求的结构长度错 156:磁盘定位错157:未知媒介类型158:扇区未找到159:打印机缺纸160:设备写失败161:设备读失败162:硬件故障(D)致命错误200:被零除201:范围检查出错202:堆栈溢出错204:无效指针操作205:浮点上溢出206:浮点下溢出207:无效浮点运算208:未安装覆盖管理程序 209:覆盖文件读错210:对象未初始化211:调用抽象方法212:流登计错213集合下标越界214:集合溢出215:算术上溢错误216:存取非法217:控制-C218:授权指令219:无效的 TYPECAST 220: 无效的变体 TYPECAST 221:无效的变体操作222 : 没有变体方法调用 DISPATCHER223:不能建立变体数组 224:变体不包含数组225:变体数组边界错误 226:TLS初始化错误编译错误对照表001:内存溢出002:缺标识符 003:标识符未定义004:标识符重定义005:语法错误006:实型常量错007:整型常量错008:字符串常量跨行 009:文件嵌套过多010:非正常文件结束 011:行过长012:缺类型标识符013:打开文件过多014:无效文件名015:文件未找到016:磁盘满017:无效编译指示018:文件过多019:指针定义中未定义类型 020:缺变量标识符021:类型错误022:结构过长024:文件分量不能为文件 025:无效字符串长度026:类型不匹配027:无效子界基类型028:下界大于上界029:缺有序类型030:缺整型常数031:缺常数032:缺整型或实型常数 033:缺指针类型标识符 034:无效的函数结果类型 035:缺标号标识符036:缺 BEGIN037:缺 END038:缺整型表达式039:缺有序表达式040:缺布尔表达式041: 操作数类型与操作符不匹 配042:表达式错043:非法赋值044:缺字段标识符045:目标文件过长046:未定义外部标识符 047:无效*.OBJ文件记录 048:代码段过长049:数据段过长050:缺 DO051:无效 PUBLIC定义 052:无效 EXTRN053:EXTRN过长054:缺 OF055:缺 TO或 DOWNTO 059:未定义的向前引用 060:过程过多061:无效类型转换062:被 0除 D063:无效文件类型064:不能读写该类型的变量 065:缺指针变量066:缺字符串变量067:缺字符串表达式 068:单元循环069:单元名不匹配070:单元版本不匹配 071:单元重名072:单元文件格式错误073 : 缺 IMPLEMENTATION 074:常数与 CASE 类型不相 匹配075:缺记录变量076:常数越界077:缺文件变量078:缺指针变量079:缺整型或实型表达式 080:标号不在当前块中 081:标号已定义082:标号未定义083:无效参数084:缺 UNTIL085:缺“; ”086:缺“: ”087:缺“, ”088:缺“ (”089:缺“) ”090:缺“=”091:缺“:=” 092:缺“[”或“ (.”093:缺“]”或“.) ”094:缺“.”096:变量过多097:无效 FOR控制变量 098:缺整型变量099:此处不允许用文件和 100:字符串长度不匹配 101:无效字顺序102:缺字符串常数103:缺整型或实型变量 104:缺有序变量105:INLINE错106:缺字符串表达式107:重定位项过多112:CASE常量越界 113:语句错114:不能调用中断过程 116:必须在 8087方式下编译 117:未找到目标地址118:此处不允许包含文件 120:缺 NIL121:无效限定符122:无效变量引用123:符号过多124:语句部分过长126:文件必须为变量参数 127:条件符号过多128:条件指令错位130:初始条件定义错131: 过程和函数头与前面定义 的不匹配132:严重磁盘错误133:不能计算该表达式 134:表达式错误结束135:无效格式说明符136:无效间接引用137:此处不允许结构变量 138: 无 SYSTEM单元不能计 算139:不能存取该该符号 140:无效浮点运算141:不能覆盖编译至内存 142:缺过程和函数变量 143:无效过程或函数引用 144:不能覆盖该单元147:缺对象类型148:不允许局部变量类型 149:缺 VIRTUAL150:缺方法标识符151:不允许虚拟构造方法 152:缺构造方法标识符 153:缺释放方法标识符 154: FAIL只允许在构造方法 内使用155:无效操作符156:缺内存引用157:不能加减可重定位符号 158:无效寄存器组合159:未激活 286/287指令 160:无效符号引用161:代码生成错162:缺 ASM。
Local compiler switchescmd short long explanation$A$ALIGN Align Data.A$ASMMODE Select assembler mode.$B$BOOLEVAL Use complete boolean evaluation.Sa$C$ASSERTIONS Enable assertion support.$CALLING Set default calling conventiond$DEFINE Define a symbol.$ELSE Switch conditional compilation.$ENDIF End conditional compilation.$ERROR Generate error message.$F Use far or near functions.$FATAL Generate fatal error message.Sg$GOTO Support G oto and L abel.$H$LONGSTRINGS Use AnsiStrings.$HINT Generate hint message.vh$HINTS Emit hints$IF Start conditional compilation.$IFDEF Start conditional compilation.$IFNDEF Start conditional compilation.$IFOPT Start conditional compilation.$INFO Generate info message.Si$INLINE Enable inline code support.Ci$I$IOCHECKS Include Input/Output checking.$I$INCLUDE Includefile.$I$INCLUDE Include compiler info.$L$LINK Link objectfile.$LINKLIB Link to a library.$M$TYPEINFO Generate Run-Time type information. Sm$MACRO Enable macro support.$MAXFPUREGISTER set maximum number of FPU registers$MESSAGE Generate info message.$MMX Enable Intel MMX support.$NOTE Generate note message.vn$NOTES Emit notes.A$OUTPUT FORMAT Select compiler output format.$P$OPENSTRINGS Use open strings.$PACKENUM Specify minimum enumeration type size.$PACKRECORDS Specify Alignment of record elements. Co$Q$OVERFLOWCHECKS Use overflow checking.Cr$R$RANGECHECKS Use range checking.$SATURATION Enable saturation operations.XX$SMARTLINK Use smartlinking.St$STATIC Enable use of S tatic keyword.$STOP Generate fatal error message.$T$TYPEDADDRESS Enable typed address operator.u$UNDEF Undefine a symbol.$V$VARSTRINGCHECKS Use strict var-string checking.$WAIT Wait for enter key press.$WARNING Generate warning message.$WARNINGS Emit warnings.$X$EXTENDEDSYNTAX Enable use of extended syntax.Global compiler switchescmd short long explanation$APPID Set application ID(PalmOS)$APPNAME Set application name(PalmOS)$APPTYPE Specify type of application(Windows only) g$D$DEBUGINFO Include debugging symbols.$DESCRIPTION Not supported.$E Enable emulation of coprocessor.$G Generate80286code.Fi$INCLUDEPATH Specify includefile search path.$L$LOCALSYMBOLS Enable local symbol information.Fl$LIBRARYPATH Specify library search path.$M$MEMORY Specify memory sizes.M$MODE Specify compiler compatibility mode.$N Enable numeric processing.$O Enable overlay code generation.Fo$OBJECTPATH Specify objectfile search path.Ct$S Use stack checkingFu$UNITPATH Specify unitfile search path.$VERSION Set DLL version(Windows)$W$STACKFRAMES Generate stackframes.b$Y$REFERENCEINFO Insert browser information.2。
1、Run Time Errors 运行错误(A)DOS 错误代码:1:无效DoS功能号2:文件未找到3:路径未找到4:打开文件过多5:禁止文件存取6:无效文件句柄12:无效文件存取代码15:无效驱动器号16:不能删除当前日录17:不能跨驱动器改文件名(B)I/O错误100:磁盘读错误101:磁盘写错误102:文件变量末赋值103:文件未打开104:文件未用输入方式打开105:文件末用输出方式打开106:无效数字格式(C)严重错误150:磁盘写保护15l:未知单元152:驱动器未准备好153:未知命令154:数据CRC校验错155:驱动器请求的结构长度错156:磁盘定位错157:未知媒介类型158:扇区末找到159:打印机缺纸160:设备写失败161:设备读失败162:硬件故障(D)致命错误200:被零除201:范围检查错202:堆栈溢出错203:堆溢出错204:无效指针操作205:浮点上溢出206:浮点下溢出207:无效浮点运算208:未安装覆盖管理程序209:覆盖文件读错210:对象未初始化211:调用抽象方法212:流登计错213:集合下标越界214:集合溢出215:算术上溢错误216:存取非法217:控制-C218:授权指令219:无效的TYPECAST220:无效的变体TYPECAST221:无效的变体操作222:没有变体方法调用DISPATCHER223:不能建立变体数组224:变体不包含数组225:变体数组边界错误226:TLS初始化错误2、编译错误对照表下面列出在编译程序时可能出现的错误,在集成环境下,Pascal将自动加载源程序并定位于出错处。
1:内存溢出2:缺标识符3:标识符未定义4:标识符重定义5:语法错误6:实型常量错7:整型常量错8:字符串常量跨行9:文件嵌套过多10:非正常文件结束11:行过长12:缺类型标识符13:打开文件过多14:无效文件名15:文件未找到16:磁盘满17:无效编译指示18:文件过多19:指针定义中未定义类型20:缺变量标识符21:类型错误22:结构过长24:文件分量不能为文件25:无效字符串长度26:类型不匹配27:无效子界基类型28:下界大于上界29:缺有序类型30:缺整型常数31:缺常数32:缺整型或实型常数33:缺指针类型标识符34:无效的函数结果类型35:缺标号标识符36:缺BEGIN37:缺END38:缺整型表达式39:缺有序表达式40:缺布尔表达式41:操作数类型与操作符不匹配42:表达式错43:非法赋值44:缺字段标识符45:目标文件过长46:未定义外部标识符47:无效*.OBJ文件记录48:代码段过长49:数据段过长50:缺DO51:无效PUBLIC定义52:无效EXTRN定义53:EXTRN定义过多54:缺0F55:缺INTERFACE56:无效重定位引用57:缺THEN58:缺T0或DOWNTO59:未定义的向前引用60:过程过多61:无效类型转换62:被零除D63:无效文件类型64:不能读写该类型的变量65:缺指针变量66:缺字符串变量67:缺字符串表达式68:单元循环引用69:单元名不匹配70:单元版本不匹配错误一览表71:单元重名72:单元文件格式错误73:缺IMPLEMENTATl0N 74:常数与CASE类型不相匹配75:缺记录变量76:常数越界77:缺文件变量78:缺指针变量79:缺整型或实型表达式80:标号不在当前块中81:标号已定义82:标号未定义83:无效参数84:缺UNIT85:缺“;”86:缺“:”87:缺“,”88:缺“(”89:缺“)”90:缺“=”91:缺“:=”92:缺“[”或“(.”93:缺“]”或“.)”94:缺“.”96:变量过多97:无效FOR控制变量98:缺整型变量99:此处不允许用文件和100:字符串长度不匹配101:无效字顺序102:缺字符串常数103:缺整型或实型变量104:缺有序变量105:INLINE错106:缺字符表达式107:重定位项过多112:CASE常量越界113:语句错114:不能调用中断过程116:必须在8087方式下编译117:末找到目标地址118:此处不允许包含文件120:缺NIL121:无效限定符122:无效变量引用123:符号过多124:语句部分过长126:文件必须为变量参数127:条件符号过多128:条件指令错位130:初始条件定义错13l:过程和函数头与前面定义的不匹酉132:严重磁盘错误133:不能计算该表达式134:表达式错误结束l35:无效格式说明符136:无效间接引用137:此处不允许结构变量138:无SYSTEM单元不能计算l39:不能存取该符号140:无效浮点运算141:不能将覆盖编译至内存142:缺过程和函数变量143:无效过程或函数引用144:不能覆盖该单元147:缺对象类型148:不允许局部对象类型149:缺VIRTUAL150:缺方法标识符151:不允许虚拟构造方法152:缺构造方法标识符153:缺释放方法标识符154:FAIL只允许在构造方法内使用155:无效的操作符和操作数组合156:缺内存引用l57:不能加减可重定位符号158:无效寄存器组合159:未激活286/287指令160:无效符号引用161:代码生成错162:缺ASM。
#1PASCAL教程一、环境1.菜单2.关闭按钮/文件名/缩放按钮3.位置指示4.状态栏5.编辑区二、常用操作1.新建/保存/打开/关闭2.复制/粘贴/删除3.编译/运行/查看结果三、常用技巧1.修改默认路径2.保存环境参数3.查看窗口附件1:hj1.gif(2005-04-1002:03AM,3.82K)#2基本程序结构和几个概念:例:CODE:[Copy to clipboard]program pname;const n=4;type ar=array[1..4]of integer;var i:integer;a:ar;beginfor i:=1to n do read(a[i]);readln;for i:=n downto1do write(a[i]:4);writeln;end.以上是一个PASCAL程序。
从键盘读入4个数据,逆序输出。
一般来说,一个PASCAL程序包括以下几个部分:程序头:program pname;其中,program是保留字,表示程序从这个地方开始,pname是标识符,是程序的名字,可由程序员自定。
保留字是PASCAL选定的,具有固定意义和用法的专用单词或缩写,这些单词不允许作其它使用。
如上,“program”就有“程序从这里开始”这样一种特别的意义,而“const”就有“常量说明从这里开始”的意义。
我们不能再用“program”、“const”来作为其它变量、常量等的名字。
标识符是以字母开头的字母数字串,其长度最大为8个字符。
用来表示常量、变量、类型、文件、过程、函数和程序的名字。
如“pname”、“i”、“j”、“a1”就是合法的标识符;但“1a”、“#a”是非法的标识符。
有一点要注意的是,在PASCAL中,字母除了作为字符值或字符串值之外,其大小写是无关的。
如标识符“A1”和“a1”在PASCLA看来是同一标识符。
在PASCAL中除了保留字和自定义的标识符外,还有一类有特殊含义的标识符,这类标识符称为标准标识符。
PASCAL 精要第一章Pascal历史回顾Delphi中使用的面向对象pascal编程语言并不是borland公司1995年发布可视化开发环境Delphi时才有的,它只是已有borland pascal产品的简单扩展。
Borland没有发明pascal,但它推广并扩展了pascal。
这一章对pascal语言的历史背景及其发展历程作一简短回顾。
沃斯的pascalPascal 语言最初由瑞士苏黎士理工学院的尼古拉斯-沃斯(Niklaus Wirth)教授在1971年设计, 作为Algol语言(1960年设计)简化本用于教学目的。
设计Pascal时,许多编程语言业已存在,但只有FORTRAN、C、Assembler、COBOL等少数语言在广泛应用。
Pascal这种新语言的灵魂是其语言规则,Pascal 语言规则的管理是通过强健的数据类型概念、强制性的数据类型声明与程序结构化控制来实现的,当时设计Pascal的初衷是想把这种语言用作程序设计课程的教学工具。
Turbo Pascal1983年Borland公司推出了世界闻名的Pascal编译器 -- Turbo Pascal,实现了詹森和沃斯(Jensen & Wirth)在“Pascal User Manual and Report” 中提出的思想。
由于既简洁功能又强,Turbo Pascal成为当时最畅销的编译器之一,而且在PC平台上非常流行。
Turbo Pascal中增添了集成开发环境(IDE),在这种开发环境中,你可在与WordStar 兼容的文字编辑器中编辑代码,可以运行编译器,查看编译错误并直接跳回到包含错误的行中。
现在听起来上述功能似乎微不足道,但在Turbo Pascal之前你不得不退出代码编辑器返回到DOS,然后运行命令行编译器,记下错误行,再打开编辑器跳至错误行,非常烦琐。
此外,Borland公司的Turbo Pascal 售价只49美元,而Microsoft公司的 Pascal 编译器售价几百美元。
FREE PASCAL出错信息对照表一、编译时的出错信息1.Out of memory [内存溢出]2.Identifier expected [缺标识符]3.Identifier not found [标识符未找到]*如:Identifier not found INTEGR [标识符INTEGER未找到]4.Duplicate identifier [重复说明]*如:Duplicate identifier N [变量N重复说明]5.Syntax error [语法错误]*6.Error in real constant [实型常量错]7.Error in integer constant [整型常量错]8.String constant exceeds line [字符串常量跨行]9.Too many nested file [文件嵌套过多]10.Unexpected end of file [非正常文件结束]11.Line to long [行过长]12.Type Identifier expected [缺类型标识符]13.Too many open file [打开文件过多]14.Invalid file name [无效文件名]15.File not found [文件未找到]*16.Disk full [磁盘满]17.Invalid compiler directive [无效编译指示]18.Too many file [文件过多]19.Undefined type in pointer definition [指针定义中未定义类型]20.Variable identifier expected [缺变量标识符]21.Error in type definition [类型错误说明]*22.Stucture too large [结构过长]23.Set base type out of range [集合基类型越界]24.File components may not be files or object [FILE分量不能为文件或对象]25.Invalid string length [无效字符串长度]26.Type mismatch [类型不匹配]*27.Invalid subrange base type [无效子界基类型]28.Lower bound greater than upper bound [下界大于上界]29.Ordinal type expected [缺有序类型]30.Integer constant expected [缺整型常数]31.Constant expected [缺常量]32.Integer or real constant expected [缺整型或实型常量]33.Pointe type identifier expected [缺指针类型标识符]34.Invalid function result type [无效的函数结果类型]bel identifier expected [缺标号标识符]36.Begin expected [缺BEGIN]*37.End expected [缺END]*38.Integer expression expected [缺整型表达式]39.Ordinal expression expected [缺有序表达式]40.Boolean expression expected [缺布尔表达式]41.Operand type do not match operator [操作数与操作符不匹配]42.Error in expression [表达式错]43.Illegal expression [非法赋值]*44.Field identifier expected [缺域标识符]45.Object file too large [目标文件过大]46.Undefined external [未定义外部标识符]47.Invalid object file record [无效OBJ文件记录]48.Code segment too large [代码段过长]49.Data segment too large [数据段过长]*50.Do expected [缺DO]*51.Invalid PUBLIC definition [无效PUBLIC定义]52.Invalid EXTRN definition [无效EXTRN定义]53.Too many EXTRN definition [EXTRN定义过多]54.Of extected [缺0F]*55.INTERFACE expected [缺INTERFACE]56.Invalid relocatable reference [无效重定位引用]57.THEN expected [缺THEN]*58.TO (DOWNTO) expected [缺T0或DOWNTO]*59.Undefined forward [提前引用未定义的说明]60.Too many procedures [过程过多]61.Invalid typecast [无效类型转换]62.Division by zero [被零除]63.Invalid typecast [无效文件类型]64.Cannot Read or Write variable of this type [不能读写该类型的变量]*65.Ponter variable expected [缺指针变量]66.String variable expected [缺字符串变量]67.String expression expected [缺字符串表达式]68.Circular unit reference [单元循环引用]69.Unit name mismatchg [单元名不匹配]70.Unit version mismatch [单元版本不匹配]71.Duplicate unit name [单元重名]72.Unit file format error [单元文件格式错误]73.Implementation expected [缺IMPLEMENTATl0N]74.constant and case types do not match [常数与CASE类型不相匹配]75.Record variable expected [缺记录变量]76.Constant out of range [常量越界]77.File variable expected [缺文件变量]78.Pointer extression expected [缺指针变量]79.Integer or real expression expected [缺整型或实型表达式]ble not within current block [标号不在当前块中]ble already defined [标号已定义]82.Undefined lable in preceding statement part [在前面语句中标号未定义]83.Invalid @ argument [无效的@参数]84.Unit expected [缺UNIT]85. “;” expected [缺“;”]*86. “:” expected [缺“:”]*87. “,” expected [缺“,”]*88. “(” expected [缺“(”)*89. “)” expected [缺“]” ]*90. “=” expected [缺“=”]*91. “:=” expected [缺“:=”]*92. “[” or “(” expected [缺“[”或“(”)*93. “]” or “)” expected [缺“]”或“)”]*94. “..” expected [缺“.”]*95. “..” expected [缺“..”]*96.Too many variable [变量过多]97.Invalid FOR control variable [无效FOR控制变量]98.Integer variable expected [缺整型变量]99.File and procedure types are not allowed here [此处不允许用文件和过程类型]100.Srting length mismatch [字符串长度不匹配]101.Invalid ordering of fields [无效域顺序]102.String constant expected [缺字符串常量]103.Integer or real variable expected [缺整型或实型变量]104.Ordinal variable expected [缺顺序变量]105.INLINE error [INLINE错]106.Character expression expected [缺字符表达式]107.Too many relocation items [重定位项过多]112.Case constant out of range [CASE常量越界]113.Error in statement [语句错]114.Can’t call an interrupt procedute [不能调用中断过程]116.Must be in 8087 mode to complie this [必须在8087方式下编译] 117.Target address not found [未找到目标地址]118.Include files are not allowed here [此处不允许包含INCLUDE文件] 120.NIL expected [缺NIL]121.Invalid qualifier [无效限定符]122.Invalid variable reference [无效变量引用]123.Too many symbols [符号过多]124.Statement part too large [语句部分过长]126.Files must be var parameters [文件必须为变量参数]127.Too many conditional directive [条件符号过多]128.Misplaced conditional directive [条件指令错位]129.ENDIF directive missing [缺少ENDIF 指令]130.Error in initial conditional defines [初始条件定义错]131.Header does not match previous definition [过程和函数头与前面定义的不匹配]132.Critical disk error [严重磁盘错误]133.Can’t evalute this expression [不能计算该表达式]*如:Can’t evalu te constart expression [不能计算该常量表达式] 134.Expression incorrectly terminated [表达式错误结束]135.Invaild format specifier [无效格式说明符]136.Invalid indirect reference [无效间接引用]137.Structed variable are not allowed here [此处不允许结构变量] 138.Can’t evalute without system u nit [无SYSTEM单元不能计算]139.Can’t access this symbols [不能存取该符号]140.Invalid floating –point operation [无效浮点运算]141. Can’t compile overlays to memory [不能将覆盖模块编译至内存] 142.Procedure or function variable expected [缺过程和函数变量]143.Invalid procedure or function reference. [无效过程或函数引用] 144.Can’t overlay this unit [不能覆盖该单元]147.Object type expected [缺对象类型]148.Local object types are not allowed [不允许局部对象类型]149.VIRTUAL expected [缺VIRTUAL]150.Method identifier expected [缺方法标识符]151.Virtual constructor are not allowed [不允许虚拟构造方法]152.Constructor Identifier expected [缺构造函数标识符]153.Destructor Identifier expected [缺析构函数标识符]154.Fail only allowed within constructors [FAIL标准过程只允许在构造方法内使用]155.Invalid combination of opcode and operands [无效的操作符和操作数组合]156.Memory reference expected [缺内存引用]157.Can’t add or subtrace relocatable symbols [不能加减可重定位符号] 158.Invalid register combination [无效寄存器组合]159.286/287 Instructions are not enabled [未激活286/287指令]160.Invalid symbol reference [无效符号引用]161.Code generation error [代码生成错]162.ASM expected [缺ASM]二、运行错误运行错误将显示错误信息,并终止程序的运行。
Pascal语言编程环境注释与快捷键一、FreePascal IDE窗口2、菜单栏h. Options菜单(略)j. Help菜单(略)二、Freepascal快捷键1、先用Ctrl+KT标记一个单词,然后在将光标移动到制定的位置,同时按住C trl+K,然后再按T,可以选中所要选的块。
2、Ctrl+Ins复制所选块的内容,3、Shift+Ins粘贴所选块的内容。
4、Ctrl+W将当前文档窗口所显示的内容上移一行,5、Ctrl+Z将当前文档窗口所显示的内容下移一行。
6、光标右移→,7、光标上移↑,8、光标下移↓;9、右移一个词Ctrl+→,10、左移一个词Ctrl+←,11、下移一页PgDn ,12、上移一页PgUp;13、下移文件尾Ctrl+PgDn ,14、上移文件头Ctrl+PgUp,15、下移屏底Ctrl+End;16、上滚一行Ctrl+W,17、下滚一行Ctrl+Z;18、左移行首Home,19、右移行尾End;20、移至块首Ctrl+QB,21、移至块尾Ctrl+QK,22、移至原位Ctrl+QP。
23、5、插入/改写Ins或Inert,24、标记一单词Ctrl+KT,25、复制块至光标处Ctrl+KC,26、删除光标所在行Ctrl+Y27、标记一行Ctrl+KL28、删除块Ctrl+KY,29、在光标前插入行Ctrl+N30、标记块首Ctrl+KB31、将块另存Ctrl+KW,32、删除光标左边字符BackSpace←33、标记块尾Ctrl+KK34、从盘读到光标处Ctrl+KR,35、删除光标所在字符Del或Delete36、移动块至光标处Ctrl+KV37、解除块标记Ctrl+KH,38、删除字符至行尾Ctrl+QY39、Freepascal编译环境的快捷键40、F1 帮助,41、F2 保存,42、F3 打开文件,43、F4 运行到光标处,44、F5 切换当前窗口状态(最大化/还原),45、f7 单步跟踪运行(进入自定义函数或过程)(Trace Into) ,46、F8 同F7但不进入自定义函数或过程(Step Over) ,47、F9 编译(Make) ,48、Alt+F5 察看运行窗口,49、Alt+F9 编译(Cmopile) ,50、Ctrl+F3 监视系统栈(有递归过程时使用),51、Ctrl+F7 添加监视,52、Ctrl+F9 运行,53、Alt+X 退出Pascal。
开关编译指示表
字母缺省值类型实模式保护模式Windows 含义具体含义
A A+ 全程√√√按字地址对齐+ 所有大于1字节的变量或类型常数均从偶地址开始存放。
- 变量或类型常数均简单地放在下一可用地址。
B B- 局部√√√布尔计值控制+ 执行完全布尔计值。
- 执行短路布尔计值。
D D+ 全程√√√调试信息开关+
将调试信息保存在一个行号表中,以供当运行出错时指示错处。
- 不产生调试信息行号表。
E E+ 全程√√√浮点运算仿真+ 不出现8087数字协处理器时运算允许用运行库仿真。
- 必须有8087数字协处理器才能进行浮点运算。
F F- 局部√√√强制远程调用+ 对子程序的调用总是远程调用。
-
由Pascal自动选择对子程序的调用方式——远程调用或近程调用。
G G- 全程√√√产生286代码+
编译器使用80286的附加指令以改善代码生成,但所编译的代码不能在8088或8086上运行。
- 编译器只产生通常的8086指令。
I I+ 局部√√√I/O出错检查+ 由系统执行I/O出错检查。
- 系统不执行I/O出错检查。
K K+ 全程√
L L+ 全程√√√局部符号开关+
产生某一模块的局部符号信息,使IDE可检查和修改模块的局部变量。
如果调试信息开关置为{$D-},则忽略{$L+}编译指示。
- 不产生某一模块的局部符号信息。
N N- 全程√√√数字协处理器+ 使用数字协处理器,以硬件实现各类实型数运算。
- 不使用数字协处理器,实型数运算以软件实现。
O O- 全程√产生覆盖代码+
控制产生覆盖代码。
经常与强制远调用编译指示{$F+}连用,以满足覆盖管理程序远程调用的要求。
- 不产生覆盖代码。
P P- 全程√√√不定长字串参+
string类型的字符串实参不预先确定最大长度,调用子程序时自动设为与实际参数类型一致。
- 不使用不定长字符串参数,与旧版本兼容。
Q Q- 局部√√√整数溢出检查+ 整数运算检查溢出错误。
- 整数运算不检查溢出。
R R- 局部√√√下标范围检查+
对运行时所有数组和字符串的下标表达式检查其值是否越界,并对标量和子界的测试值检查是否在指定范围内。
- 不执行上述检查。
S S+ 局部√√√栈空间域检查+ 在每次子程序调用前检查是否有足够的栈空间。
- 不执行上述检查。
T T- 局部√√√指针类型检查+ @操作返回结果类型为类型指针。
- @操作返回结果类型为无类型指针。
V V+ 局部√√√串长匹配检查+
对于在子程序中作为变量参数传递的字符串类型进行严格检查,要求实在参数与形式参数属于同一命名类型,即字符串长度必须一致。
-
不进行串长匹配检查,即允许实在参数与形式参数类型中的字符串长度不匹配。
W W+ 局部√
X X+ 全程√√√扩充词法开关+ 函数调用可用语句形式表示,此时函数结果值可予抛弃。
- 函数调用按通常形式,只能出现在表达式中。
Y Y+ 全程√√√符号索引信息+
把单元中的符号信息记录在单元编译文件中,供IDE浏览器使用。
- 不记录单元中的符号信息。