浙江省公路桥梁定期检查和特殊检查报告编制范本(试行)(定期检查-新规范)_第1页
浙江省公路桥梁定期检查和特殊检查报告编制范本(试行)(定期检查-新规范)_第2页
浙江省公路桥梁定期检查和特殊检查报告编制范本(试行)(定期检查-新规范)_第3页
浙江省公路桥梁定期检查和特殊检查报告编制范本(试行)(定期检查-新规范)_第4页
浙江省公路桥梁定期检查和特殊检查报告编制范本(试行)(定期检查-新规范)_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 概况 PAGEREF _Toc323383339 h 91.1 桥梁概况 PAGEREF _Toc323383340 h 91.2上次检查及维修概况 PAGEREF _Toc323383341 h 91.3 检查目的 PAGEREF _Toc323383342 h 91.4 标准及依据 PAGEREF _Toc323383343 h 101.5 仪器设备 PAGEREF _Toc323383344 h 101.6 人员 PAGEREF _Toc323383345 h 101.7 桥梁部件、构件划分及编号 PAGEREF _Toc323383346 h 102 检查内容及方法 PAGEREF

2、_Toc323383347 h 112.1 检查内容及频率 PAGEREF _Toc323383348 h 112.2 详细检查内容及方法 PAGEREF _Toc323383349 h 123 检查结果(以梁式桥为例,其他桥型参照规范规定的内容) PAGEREF _Toc323383350 h 143.1 上部承重构件 PAGEREF _Toc323383351 h 143.2 上部一般构件 PAGEREF _Toc323383352 h 153.3 支座 PAGEREF _Toc323383353 h 153.4 翼墙、耳墙 PAGEREF _Toc323383354 h 153.5 锥坡

3、、护坡 PAGEREF _Toc323383355 h 163.6 桥墩 PAGEREF _Toc323383356 h 163.7 桥台 PAGEREF _Toc323383357 h 163.8 墩台基础 PAGEREF _Toc323383358 h 173.9 河床 PAGEREF _Toc323383359 h 173.10 调治构造物 PAGEREF _Toc323383360 h 173.11 桥面铺装 PAGEREF _Toc323383361 h 183.12 伸缩缝装置 PAGEREF _Toc323383362 h 183.13 人行道 PAGEREF _Toc32338

4、3363 h 183.14 栏杆、护栏 PAGEREF _Toc323383364 h 193.15 排水系统 PAGEREF _Toc323383365 h 193.16 照明、标志 PAGEREF _Toc323383366 h 193.17 其它 PAGEREF _Toc323383367 h 204 无损检测结果 PAGEREF _Toc323383368 h 204.1 混凝土强度检测结果 PAGEREF _Toc323383369 h 204.2 混凝土碳化状况检测结果 PAGEREF _Toc323383370 h 204.3 混凝土保护层厚度检测结果 PAGEREF _Toc3

5、23383371 h 205 桥梁线形检测 PAGEREF _Toc323383372 h 215.1 桥梁线形实测结果 PAGEREF _Toc323383373 h 215.2 桥梁永久观测点设置及测试结果 PAGEREF _Toc323383374 h 216 桥梁技术状况评定 PAGEREF _Toc323383375 h 226.1部件权重重分配 PAGEREF _Toc323383376 h 226.2上部结构技术状况评分 PAGEREF _Toc323383377 h 226.3下部结构技术状况评分 PAGEREF _Toc323383378 h 246.4桥面系技术状况评分 P

6、AGEREF _Toc323383379 h 256.5全桥技术状况评分及等级评定 PAGEREF _Toc323383380 h 266.6桥梁技术状况评定记录表 PAGEREF _Toc323383381 h 277. 病害原因分析 PAGEREF _Toc323383382 h 287.1 主要病害变化趋势 PAGEREF _Toc323383383 h 287.2 下部结构 PAGEREF _Toc323383384 h 287.3上部结构 PAGEREF _Toc323383385 h 287.4 桥面系 PAGEREF _Toc323383386 h 288 维修建议及工程量估算

7、PAGEREF _Toc323383387 h 288.1 维修建议 PAGEREF _Toc323383388 h 288.2 工程量估算 PAGEREF _Toc323383389 h 299 结论及建议 PAGEREF _Toc323383390 h 299.1 结论 PAGEREF _Toc323383391 h 299.2 建议 PAGEREF _Toc323383392 h 29路线编号+路线名称+县(市)+桥名定期检查报告1 概况1.1 桥梁概况包括:桥梁所处位置,道路等级建造年代主要技术指标桥梁地理位置平面图桥梁正面、立面照片1.2上次检查及维修概况包括:上次检查时间和主要结果

8、检查后维修情况1.3 检查目的通过对桥梁的全面检查,达到下列目的:通过对桥梁主体结构及其附属构造物病害和损伤全面细致和深入的检查,查明病害或潜在病害和损伤的部位、性质、严重程度及发展趋势,分析病害产生的主要原因,评定桥梁的使用功能,并提出相应的养护对策。通过对桥梁技术状况的全面检查和评定,提出结构维修、加固技术建议,为桥梁维修加固提供技术依据。通过桥梁技术状况的综合评定,确定桥梁的技术状况等级,分析和评价缺损对承载能力的影响,对进行特殊检查的必要性进行分析。对桥梁管理系统数据库的基本数据进行校核,对数据有误或数据变更提供相应的便跟数据和补充数据,为公路桥梁管理系统提供数据。1.4 标准及依据1

9、.5 仪器设备检查设备一览表序号仪器设备名称型号规格产地单位数量备注1.6 人员 检查人员一览表序号姓名专业项目分工职称证书编号备注1.7 桥梁部件、构件划分及编号根据桥梁结构特点,参照公路桥梁技术状况评定标准(JTG/T H21-2011),该桥部件划分及构件数量见下表。 桥梁部件划分及构件数量表(以梁桥为例)序号桥梁结构桥梁部件构件数量备注1上部结构上部承重构件30每跨10片梁板,共3跨2上部一般构件3支座4下部结构翼墙、耳墙5锥坡、护坡6桥墩7桥台8桥台基础9河床10调治构造物11桥面系桥面铺装12伸缩缝装置13人行道14栏杆、护栏15排水系统16照明、标志注:备注里对部件、构件划分及数

10、量做简要说明,参照指南。构件编号包括:编号规则构件编号简图2 检查内容及方法2.1 检查内容及频率检查内容及频率类别序号检查内容检查频率外观质量检查1上部结构100%2下部结构100%3支座100%4桥面系及附属设施100%详细检测5注:检查频率是指结构构件的抽查频率,外观质量检查频率为100%;详细检测可根据实际情况确定检测频率,一般不低于10%。2.2 详细检查内容及方法包括:重点检查部位及详细检查内容桥梁结构外观质量重点检查部位序号桥型重点检查部位上部结构下部结构1简支梁桥1、跨中截面2、支点截面地基冲刷河床断面调查基础位移及沉降2连续梁桥、连续刚构1、跨中截面2、内支点截面3、L/4截

11、面3悬臂梁桥、T型刚构锚固跨跨中截面2、支点截面3、挂梁跨中截面4拱桥拱顶截面2、拱脚截面3、刚架拱上弦杆跨中截面4、吊杆及锚头5、钢管混凝土结构混凝土填充密实度6、双曲拱、刚架拱横向联系5斜拉桥主梁跨中截面主梁支点截面3、斜拉索及锚头4、斜拉索防护层钢筋混凝结构外观质量详细检查内容检查项目详细检查内容1表观病害有无蜂窝麻面、破损、露筋、锈蚀、剥落、渗漏板梁铰缝是否开裂、破损、渗漏2裂缝跨中、支点截面及附近梁体有无结构受力裂缝板梁底面有无纵向裂缝有无混凝土收缩和温度裂缝测量裂缝长度,典型裂缝宽度和超限裂缝深度重点检查结构受力裂缝墩台外观质量详细检查内容检查项目详细检查内容1表观病害有无蜂窝麻面

12、、破损、露筋、锈蚀、剥落、渗漏2裂缝墩台有无基础不均匀沉降产生的开裂墩台有无混凝土收缩和温度裂缝墩台有无大面积龟裂测量裂缝长度、典型裂缝宽度和超限裂缝深度重点检查结构受力裂缝和基础沉降产生的裂缝3稳定性检查墩台是否有倾斜、滑移迹象4桥头平顺台后填土有无沉降、挤压隆起、桥头有无跳车橡胶支座外观质量详细检查内容检查项目详细检查内容1综合台顶是否清洁,橡胶板表面是否清洁2梁体位移线位移是否受阻,水平纵向位移是否超限角位移是否受阻,转角是否超限3橡胶板是否有过大剪切变形和压缩变形,记录变形方向和剪切角是否有不均匀鼓包、开裂,记录裂缝数量、长度和宽度是否有局部脱空或脱空是否有钢板外露位置是否发生偏移,记

13、录偏移方向和偏移量4钢垫板防护涂层有无鼓包、起皮、脱落是否水平,有无脱空和错位桥面系及附属设施详细检查内容序号检查项目详细检查内容1桥面铺装桥面是否平顺,有无破损、开裂、鼓包、车辙、积水2排水设施泄水管是否完整,有无缺失、残缺、堵塞等梁端缝是否漏水桥面纵横坡是否标准、顺畅3伸缩缝伸缩缝堵塞、卡死、橡胶条破损、开裂、渗漏、锚固混凝土开裂、破损、锚固件松动、破损、凹凸不平4人行道、栏杆破损、缺失、断裂、错位、剥落、锈蚀、扭曲变形5锥坡挡墙滑移、下沉、开裂,挡墙是否倾斜、变形、开裂6标志、标线损坏、老化、失效斜拉桥(拱桥吊杆)拉索详细检查内容序号检查项目详细检查内容1斜拉索(吊杆)钢丝、锚具锈蚀,截

14、面削弱,滑移变位,涂层损坏,锚头损坏2护套漆膜损坏,护套裂缝,护套锈蚀,防护层破损,护套上端浆液离析不凝固,护套密封不严,渗水3锚具锚杯积水,锚具内潮湿,防锈油结块,锚具锈蚀4减震装置减震措施是否损坏失效钢管混凝土拱肋详细检查内容序号检查项目详细检查内容1钢管混凝土焊缝开裂,腐蚀生锈,管内混凝土填充不密实或脱空,构件扭曲变形、局部损伤2防护层涂层损坏、裂纹、起皮或剥落检查方法 3 检查结果(以梁式桥为例,其他桥型参照规范规定的内容)注:对主要承重构件的缺损应绘制CAD示意图,并在图中对病害的主要性状进行标注,对主要承重构件并须附典型病害照片。3.1 上部承重构件上部承重构件病害表跨径编号构件编

15、号病害位置病害描述病害标度构件评分备注第1跨板1-1“板1-1病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.2 上部一般构件上部一般构件病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨铰缝1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.3 支座支座病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨支座1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.4 翼墙、耳墙翼墙、耳墙病害表跨径编号构件编号病害位置病害描述病害标度

16、构件评分备注第1跨翼墙1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.5 锥坡、护坡锥坡、护坡病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨锥坡1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.6 桥墩桥墩病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨墩1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.7 桥台桥台病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨台1-1“病害照片”和“病害CA

17、D示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.8 墩台基础墩台基础病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨基础1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.9 河床河床病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨河床1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.10 调治构造物调治构造物病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨构造物1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格

18、中相应病害描述的下面)3.11 桥面铺装桥面铺装病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨铺装1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.12 伸缩缝装置伸缩缝装置病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨伸缩缝1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.13 人行道人行道病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨人行道1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.

19、14 栏杆、护栏栏杆、护栏病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨栏杆1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.15 排水系统排水系统病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨泄水孔1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.16 照明、标志照明、标志病害表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨路灯1-1“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)3.17 其它其他构件检

20、查结果表跨径编号构件编号病害位置病害描述病害标度构件评分备注第1跨“病害照片”和“病害CAD示意图”插到此处(附照片,照片直接插到表格中相应病害描述的下面)4 无损检测结果4.1 混凝土强度检测结果桥梁结构构件材质强度构件编号混凝土抗压强度(MPa)推定强度匀质系数平均强度匀质系数评定标度值构件强度状态设计值实测平均值实测标准差实测最小值实测推定值4.2 混凝土碳化状况检测结果混凝土碳化深度检测结果构件编号混凝土碳化深度实测平均值(mm)碳化深度/保护层厚度评定标度值混凝土碳化影响程度4.3 混凝土保护层厚度检测结果混凝土保护层厚度检测结果构件编号保护层厚度(mm)特征值Dne设计值DndDn

21、e/Dnd评定标度值对结构混凝土耐久性的影响最大值最小值平均值标准差注:混凝土碳化深度每次定期检查都应检测,混凝土强度和保护层厚度一般第一次检查应检测,以后可根据实际情况选做,混凝土强度应根据实际情况采用回弹法、超声回弹法或取芯法检测。5 桥梁线形检测5.1 桥梁线形实测结果桥梁纵向线形实测结果桥跨编号测线位置纵向位置0L/8L/43L/8L/25L/83L/47L/8L第1跨上游边缘线轴线下游边缘线 (桥梁纵向线形图)注:测定桥跨结构纵向线形和墩(台)顶的水平变位,沿桥纵向分断面布设测点,分桥轴线和车行道上、下游边缘线3条线,按二等工程水准测量要求进行闭合水准测量,测点应布置在桥跨或桥面结构

22、的跨径等分点截面上,单跨测量截面不少于5个。5.2 桥梁永久观测点设置及测试结果 (桥梁永久观测点布置图)注:没有设置永久观测点的中桥、大桥和特大桥,应在定期检查时按规定补设。 永久观测点测试结果桥跨编号测点位置0L/8L/43L/8L/25L/83L/47L/8L第1跨上次测试结果本次测试结果变化情况6 桥梁技术状况评定桥梁技术状况评定依据公路桥梁技术状况评定标准(JTG/T H21-2011)规定的方法进行评定。6.1部件权重重分配桥梁部件权重重分配采用将缺失部件权重值按照既有部件权重在全部既有部件权重中所占比例进行分配的方法。桥梁部件重分配计算表桥梁结构序号部件名称权重重新分配后权重备注

23、上部结构1上部承重构件0.702上部一般构件0.183支座0.12下部结构4翼墙、耳墙0.02桥面系桥面铺装0.406.2上部结构技术状况评分桥梁上部结构评分表(混凝土梁式桥)桥梁部件构件数量构件评分部件评分部件技术状况等级上部结构评分上部主要承重部件6608100上部一般构件支座桥梁上部结构评分表(板拱、肋拱、箱型拱、双曲拱桥)桥梁部件构件数量构件评分部件评分部件技术状况等级上部结构评分主拱圈拱上结构桥面板桥梁上部结构评分表(刚架拱、桁架拱桥)桥梁部件构件数量构件评分部件评分部件技术状况等级上部结构评分刚架拱片(桁架拱片)横向连接系桥面板桥梁上部结构评分表(钢混凝土组合拱桥)桥梁部件构件数量

24、构件评分部件评分部件技术状况等级上部结构评分拱肋横向连接系立柱吊杆系杆(含锚具)桥面板(梁)支座6.3下部结构技术状况评分表6-3 桥梁下部结构评分表桥梁部件构件数量构件评分部件评分部件技术状况等级下部结构评分翼墙、耳墙 锥坡、护坡桥墩墩台基础河床调治构造物6.4桥面系技术状况评分表6-4桥面系评分表桥梁部件构件数量构件评分部件评分部件技术状况等级桥面系评分桥面铺装伸缩缝装置人行道栏杆、护栏排水系统照明、标志6.5全桥技术状况评分及等级评定6.5.1 全桥技术状况评分桥梁技术状况评分表桥梁部位权重技术状况评分部件技术状况等级全桥技术状况评分备注上部结构0.40下部结构0.40桥面系0.20根据

25、公路桥梁技术状况评定标准(JTG/T H21-2011)4.1.5的规定,该桥技术状况等级评为类。6.5.2 桥梁技术状况等级单项控制指标根据公路桥梁技术状况评定标准(JTG/T H21-2011)4.1.8的规定,当主要部件评分达到4类或5类且影响桥梁安全时,可按照主要部件最差的缺损状况评定。根据公路桥梁技术状况评定标准(JTG/T H21-2011)4.3的规定(5类桥梁单项控制指标),桥梁符合4.3.1的第款的规定,该桥直接定为5类桥梁。6.5.3 桥梁技术状况等级综合评定综合桥技术状况评分及单项控制指标,该桥技术状况评定为类。6.6桥梁技术状况评定记录表表6-5 桥梁技术状况评定记录表

26、(梁式桥)桥梁编码主跨结构上次检查日期桥梁名称桥长建成年月路线名称最大跨径本次检查日期桥位桩号管养单位上次大中修日期序号桥梁组成及评级桥梁部件及评级维修范围维修方式维修时间是否需要进行特殊检查桥梁组成评定等级(15级)部件名称评定等级(15级)1上部结构上部承重构件2上部一般构件3支座4下部结构翼墙、耳墙5锥坡、护坡6桥墩7桥台8墩台基础9河床10调治构造物11桥面系桥面铺装12伸缩缝装置13人行道14栏杆、护栏15排水系统16照明、标志总体技术状况等级全桥清洁状况评分(0100)保养、小修状况评分(0100)养护建议记录人负责人下次检查时间注:上表以梁式桥为例,其他桥型参见(JTG/T H2

27、1-2011)附录。7. 病害原因分析7.1 主要病害变化趋势表7-1 主要病害变化趋势表序号主要病害上次检查结果本次检查结果变化趋势注:1、主要病害是指梁板、铰缝、拱圈、吊杆、桥台、桥墩、盖梁、桩基、基础等主要承重部件的病害。2、变化趋势统一为:趋向稳定、发展缓慢和发展较快三类。7.2 下部结构; 7.3上部结构1、 ;2、; 7.4 桥面系; 8 维修建议及工程量估算8.1 维修建议; 8.2 工程量估算; 9 结论及建议9.1 结论结论主要包括桥梁技术状况分类,技术状况的下降情况等。桥梁结构主要病害。桥梁主要病害产生原因的分析(是否为质量通病等)。9.2 建议建议主要包括进行特殊检查的建

28、议。养护建议。桥梁维修加固建议。桥梁改扩建的建议。 附录资料:不需要的可以自行删除C语言编译器的设计与实现 我们设计的编译程序涉及到编译五个阶段中的三个,即词法分析器、语法分析器和中间代码生成器。编译程序的输出结果包括词法分析后的二元式序列、变量名表、状态栈分析过程显示及四元式序列程序,整个编译程序分为三部分:(1) 词法分析部分(2) 语法分析处理及四元式生成部分 (3) 输出显示部分一词法分析器设计 由于我们规定的程序语句中涉及单词较少,故在词法分析阶段忽略了单词输入错误的检查,而将编译程序的重点放在中间代码生成阶段。词法分析器的功能是输入源程序,输出单词符号。我们规定输出的单词符号格式为

29、如下的二元式: (单词种别,单词自身的值)#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#de

30、fine 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函数说明 读取函数 readline( )、readch( )词法分析包含从源文件读取字符的操作,但频繁的读文件操作会影响程序执行效率,故实际上是从源程序文件” source.dat ”中读取一行到输入缓冲区,而词法分析过程中每次读取一个字符时则是通过执行 readch( )从输入缓冲区获得的;若缓冲区已被读空,则再执行readlin

31、e( )从 source.dat 中读取下一行至输入缓冲区。扫描函数 scan( ) 扫描函数 scan( )的功能是滤除多余空格并对主要单词进行分析处理,将分析得到的二元式存入二元式结果缓冲区。变量处理 find( )变量处理中首先把以字母开头的字母数字串存到 spelling 数组中,然后进行识别。识别过程是先让它与保留关键字表中的所有关键字进行匹配,若获得成功则说明它为保留关键字,即将其内码值写入二元式结果缓冲区;否则说明其为变量,这时让它与变量名表中的变量进行匹配( 变量匹配函数 find( ) ),如果成功,则说明该变量已存在并在二元式结果缓冲区中标记为此变量( 值填为该变量在变量名

32、表中的位置),否则将该变量登记到变量名表中,再将这个新变量存入二元式缓存数组中。数字识别 number( ) 数字识别将识别出的数字填入二元式结果缓存数组。显示函数 显示函数的功能在屏幕上输出词法分析的结果( 即二元式序列程序),同时给出二元式个数及源程序行数统计。二语法分析器设计 语法分析器的核心是三张 SLR 分析表以及针对这三张 SLR 分析表进行语义加工的语义动作。编译程序中语法分析处理及四元式生成部分主要是以二元式作为输入,并通过 SLR 分析表对语法分析处理过程进行控制,使四元式翻译的工作有条不紊的进行,同时识别语法分析中的语法错误。在处理 if 和 while 语句时,需要进行真

33、值或假值的拉链和返填工作,以便转移目标的正确填入。1. 控制语句的 SLR 分析表1 设计过程如下: 将扩展文法GS S1)S if e S else S2)S while e S3)S L 4)S a;5)L S6)L SL用_CLOSURE方法构造LR(0)项目规范簇为:I0: S SS if e S else SS while e S S L S a ;I1: S SI2: S ife S else SI3: S while e SI4: S L L S L SL S if e S else SS while e S S L S a ; I5: S a; I6: S if e S els

34、e S S if e S else SS while e S S L S a ; I7: S while e S S if e S else SS while e S S L S a ; I8: S L I9: L S L SL L SL L S S if e S else SS while e S S L S a ; I10: S a ; I11: S if e S else SI12: S while e S I13: S L I14: S SL I15: S if e S else S S if e S else SS while e S S L S a ; I16: S if e S

35、else S 构造文法G中非终结符的FOLLOW集如下:FOLLOW(S) = # S if e S else S得FOLLOW(S) = else S L 得FOLLOW(L) = 3) S S 得FOLLOW(S) = else , # L S 因为FIRST(S) = ,所以FOLLOW(S) = else , #, 在()项目规范簇中,只有9有“移进归约”冲突,L SL SL因为FOLLOW(L) FIRST(L) = 所以可以用方法解决以上冲突,最后我们得到的分析表如下:ACTIONGOTO ifElsewhilea;e#SL0S2S3S4S511ACC2S63S74S2S3S4S5

36、985S106S2S3S4S5117S2S3S4S5128S139S2S3S4R5S591410R4R4R4111512R2R2R213R3R3R314R615S2S3S4S51616R1R1R1static int action2011=/* 0 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 1, -1,/* 1 */ -1, -1, -1, -1, -1, -1, -1, -1,ACC, -1, -1,/* 2 */ -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, -1,/* 3 */ -1, -1, -1, -1, -1, -1, -

37、1, 7, -1, -1, -1,/* 4 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 9, 8,/* 5 */ -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1,/* 6 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 11, -1,/* 7 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 12, -1,/* 8 */ -1, -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,/* 9 */ 2, -1, 3, 4,105, 5, -1, -1, -1, 9,

38、 14,/* 10*/ -1,104, -1, -1,104, -1, -1, -1,104, -1, -1,/* 11*/ -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 12*/ -1,102, -1, -1,102, -1, -1, -1,102, -1, -1,/* 13*/ -1,103, -1, -1,103, -1, -1, -1,103, -1, -1,/* 14*/ -1, -1, -1, -1,106, -1, -1, -1, -1, -1, -1,/* 15*/ 2, -1, 3, 4, -1, 5, -1, -1, -1, 1

39、6, -1,/* 16*/ -1,101, -1, -1,101, -1, -1, -1,101, -1, -1;其中,前 9 列为 action 值,后 2 列为 goto 值;016 表示 17 个移进状态( 即 Si);-1表示出错;ACC 表示分析成功;而 100106 对应 7 个归约产生式:S SS if e S else SS while e SS L S a;L SL SL2. 算术表达式的 LR 分析表 2 设计如下:S EE E+EE E*EE (E)E i (过程略)ACTIONGOTOI+*()#E0S3S211S4S5ACC2S3S263R4R4R4R44S3S275

40、S3S286S4S5S97R1R5R1R18R2R2R2R29R3R3R3R3static int action1107=/* 0 */ 3, -1, -1, 2, -1, -1, 1,/* 1 */ -1, 4, 5, -1, -1,ACC, -1,/* 2 */ 3, -1, -1, 2, -1, -1, 6,/* 3 */ -1,104,104, -1,104,104, -1,/* 4 */ 3, -1, -1, 2, -1, -1, 7,/* 5 */ 3, -1, -1, 2, -1, -1, 8,/* 6 */ -1, 4, 5, -1, 9, -1, -1,/* 7 */ -1,

41、101, 5, -1,101,101, -1,/* 8 */ -1,102,102, -1,102,102, -1,/* 9 */ -1,103,103, -1,103,103, -1;3.布尔表达式的 SLR 分析表3 设计如下:(过程略)S BB iB i rop iB ( B )B ! BA B &B ABO B |B OBACTIONGOTOiRop()!&|#BAO0S1S4S513781S2R1R1R1R12S33R2R2R2R24S1S4S511785S1S4S56786R4S9S10R47S1S4S514788S1S4S515789R5R5R510R7R7R711S12S9S1

42、012R3R3R3R313S9S10ACC14R6S9S10R615R8S9S10R8static int action21611=/* 0 */ 1, -1, 4, -1, 5, -1, -1, -1, 13, 7, 8,/* 1 */ 1, 2, -1,101, -1,101,101,101, -1, -1, -1,/* 2 */ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 3 */ -1, -1, -1,102, -1,102,102,102, -1, -1, -1,/* 4 */ 1, -1, 4, -1, 5, -1, -1, -1, 1

43、1, 7, 8,/* 5 */ 1, -1, 4, -1, 5, -1, -1, -1, 6, 7, 8,/* 6 */ -1, -1, -1,104, -1, 9, 10,104, -1, -1, -1,/* 7 */ 1, -1, 4, -1, 5, -1, -1, -1, 14, 7, 8,/* 8 */ 1, -1, 4, -1, 5, -1, -1, -1, 15, 7, 8,/* 9 */ 105, -1,105, -1,105, -1, -1, -1, -1, -1, -1,/*10 */ 107, -1,107, -1,107, -1, -1, -1, -1, -1, -1,/

44、*11 */ -1, -1, -1, 12, -1, 9, 10, -1, -1, -1, -1,/*12 */ -1, -1, -1,103, -1,103,103,103, -1, -1, -1,/*13 */ -1, -1, -1, -1, -1, 9, 10,ACC, -1, -1, -1,/*14 */ -1, -1, -1,106, -1, 9, 10,106, -1, -1, -1,/*15 */ -1, -1, -1,108, -1, 9, 10,108, -1, -1, -1;LR 分析表控制语义加工的实现:当扫描 LR 分析表的当前状态为归约状态时,则在调用与该状态对应的产

45、生式进行归约的同时,调用相应的语义子程序进行有关的翻译工作。现在对 LR 分析器的分析栈加以扩充,使得每个文法符号之后都跟着它的语义值。为了清晰起见,我们把这个栈的每一项看成由三部分组成:状态 state ,文法符号 syl 和语义值 val。编译程序实现算术表达式、布尔表达式及程序语句的语义加工时,都是按这种状态栈加工方式进行的。例如:( 5 + 3 ) * 6的分析过程序号STATEValsylinput10-#( 5 + 3 ) * 6 #202-#(5 + 3 ) * 6 #3023#(5+ 3 ) * 6 #4026-5#(E+ 3 ) * 6 #50264-5-#(E+3 ) *

46、6 #602643-5-#(E+3 ) * 6 #702647-5-3#(E+E) * 6 #8026-8#(E) * 6 #90269-8-#(E)* 6 #1001-8#E* 6 #11015-8-#E* 6 #120153-8-#E*6#130158-8-6#E*E#1401-48#E#15ACC在分析过程中,第(3)步操作后的状态栈为 023,根据栈顶状态“ 3”和现行输入符号“ +”( input 栏字符串的第一个字符)查分析表 ACTION3,+=R4,即按第(4)个产生式 En 来进行归约;由于产生式右部仅含一项,故去掉状态栈栈顶“3”;此时 2 变为新的栈顶状态,再查( 2,E

47、)的下一状态 s:GOTO2,E=6,即将状态 6 和文法符号 E 压栈,最后得到第( 4)步的状态。第( 7)步操作后也是如此,当前状态栈为 02647,根据栈顶状态 7 和现行输入符号“ )”查分析表 ACTION7,)=R1,即按第(1)个产生式 EE1+E2进行归约;由于产生式右部有三项,故去掉状态栈栈顶的 647 三项;此时 2 变为新的栈顶状态,再查( 2,E)的下一状态 s:GOTO2,E=6,即将状态 6 和文法符号 E 压栈,最后得到第(8)步的状态。三中间代码生成器设计:布尔表达式 布尔表达式在程序语言中有两个基本作用:一是用作控制语句( 如 if -else 或 whil

48、e语句)的条件式;二是用于逻辑演算,计算逻辑值。布尔表达式是由布尔算符( &、| 、!)作用于布尔变量( 或常数)或关系表达式而形成的。关系表达式的形式是 E1 rop E2,其中 rop 是关系符( 如或),E1和 E2是算术式。在这里,我们只考虑前面给定文法所产生的布尔表达式:BB &B | B | B | ! B | (B) | i rop i | i遵照我们的约定,布尔算符的优先顺序( 从高到低)为:!、&、|,并假定&和|都服从左结合规则。所有关系符的优先级都是相同的,而且高于任何布尔算符,低于任何算术算符,关系算符不得结合。表达式的真、假出口的确定:考虑表达式 B1 | B2 ,若

49、 B1为真,则立即知道 B 也为真;因此,B1的真出口也就是整个 B 的真出口。若 B1?为假,则 B2必须被计值,B2的第一个四元式就是 B1的假出口。当然,B2的真、假出口也就是整个 B的真、假出口。类似的考虑适用于对 B1 & B2的翻译,我们将 B1 | B2和 B1 & B2 的翻译用下图表示,在自下而上的分析过程中,一个布尔式的真假出口往往不能在产生四元式的同时就填上。我们只好把这种未完成的四元式的地址( 编号)作为 B 的语义值暂存起来,待到整个表达式的四元式产生完毕之后再来回填这个未填入的转移目标。条件语句对条件语句 if e S1 else S2 中的布尔表达式 e,其作用仅

50、在于控制对 S1和 S2的选择。因此,作为转移条件的布尔式e,我们可以赋予它两种“ 出口”:一是“ 真”出T口,出向 S1;一是“ 假”出口,出向 S2。于是,e的代码F条件语句可以翻译成如图的一般形式。非终结符 e 具有两项语义值 e _TC 和e_FC,它们分别指出了尚待回填真、S2的代码假出口的四元式串。e 的“ 真”出口只有在往回扫描到if时才能知道,而它图 3-2 条件语句的代码结构 的“ 假”出口则需到处理过 S1并且到达 else 才能明确。这就是说,必须把 e_FC 的值传下去,以便到达相应的 else时才进行回填。另外,当 S1语句执行完时意味着整个 if-else 语句也已

51、执行完毕;因此,在 S1的编码之后应产生一条无条件转移指令。这条转移指令将导致程序控制离开整个 if-else 语句。但是,在完成 S2的翻译之前,这条无条件转移指令的转移目标是不知道的。甚至,在翻译完 S2之后,这条转移指令的转移目标仍无法确定。这种情形是由于语句的嵌套性所引起的。例如下面的语句:if e1 if e2 S1 else S2 else S3 在 S1的代码之后的那条无条件转移指令不仅应跨越 S2而且应跨越 S3。这也就是说,转移目标的确定和语句所处的环境密切相关。条件循环语句条件循环语句 while e S 通常被翻译成图的代码结构。布尔式 e 的“ 真”出口出向 S 代码段

52、的第一个四元式。紧接 S 代码段之后应产生一条转向测试 e 的无条件转移指令。e 的“ 假”出口将导致程序控制离开整个 while 语句。e 的“ 假”出口目标即使在整个 while 语句翻译完之后也未必明确。例如: if e1 while e2 S1 else S2这种情况仍是由于语句的嵌套性引起的。所以,我们只好把它作为语句的语义值 SCHAIN 暂留下来,以便在处理外层语句时再伺机回填。语法翻译实现方法 将上述语法翻译付诸实现过程中,我们仅保留了算术表达式和布尔表达式翻译的文法和语义动作;面对程序语句的翻译,由于改造后含有较多的非终结符且语义动作又相对简单,故仍恢复为改造之前的程序语句文

53、法。由于总体上构造一个 SLR 分析表来实现语法分析及语义加工将使得所构造的 SLR 分析表过大,所以将其分为下面三部分处理:对算术表达式单独处理,即为算术表达式构造一个 SLR 分析表,并将赋值语句A=E 与算术表达式归为一类处理,处理之后的赋值语句仅看作为程序语句文法中的一个终结符 a。对布尔表达式也单独处理,并为其构造一个 SLR 分析表,经 SLR 分析表处理后的布尔表达式看作为程序语句文法中的一个终结符 e。程序语句文法此时变为:S if e S else S | while e S | L | a;L SL | S此时为程序语句构造相应的 SLR 分析表就简单多了。前面的程序语句文

54、法中所添加的非终结符是为了能及时回填有关四元式转移目标而引入的,在取消了这些非终结符后又如何解决及时回填转移目标的问题呢?我们采取的解决方法是增加两个数组 labelmark 和 labeltemp 来分别记录语句嵌套中每一层布尔表达式( 如果有的话)e 的首地址以及每一层else( 如果有的话)之前的四元式地址( 即无条件转出此层 if 语句的四元式)。也即,对程序语句的翻译来说:在处理完布尔表达式 e 后,回填 if 或 while 语句的真值链;在归约完每一个语句 S 之后检查符号栈,看在 S 之前的文法符号是否 if 或 while,若是则回填假值链( 假值入口为语句 S 所对应的四元式序列之后;对 if 语句,此时已在该序列之后加入了一条无条件转移的四元式);在 if 语句中,e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论