- 1
- 0
- 约9.23千字
- 约 13页
- 2019-01-11 发布于福建
- 举报
农村铁艺大门 农村大门设计图 农村说大门图片
农村铁艺大门 农村大门设计图 农村大门图片
农村铁艺大门农村大门设计图农村大门图片农村大门效果图农村房屋设计图农村大门尺寸
虎年运势测试!发大财!好运来~
原作者Tom Napier和Eric Krieg原文引自
曾经有个时期,们不怯怯乔乔从IBM置备计算机,和那时一样,现在们当然也不怯怯乔乔用C发言来编写嵌入式体系程序。假若还要再选取一个的话,那通常是汇编发言,尽管时髦正在转向Java。惟有很少的程序员纵Forth,这种发言组合了汇编发言的速度、灵和紧缩,又具有C发言的机关化和易读。这些为数不多的程序员还发现了Forth能够进步编程的临盆率。
在这篇文章中,我们希望(再一次)先容Forth。将会骇怪于不须要庞杂的工具就能够如此之快和互式地编写和测试嵌入式程序。
编写程序的第一步是安排程序行为的细节。有些画流程图,有些用程序安排发言(PDL),始末与英语类似的方式形作的序列和测试条件。完这些之后,安排就被分红模块,每一块都被转可履行的代码,全部的事就是编译、连接、测试,这个迭代的进程可能会连接几个月。
假若PDL能够间接履行,就不须要把它翻译另一种发言,那该省去几许时间呀!假若能互式地测试每个程序模块,确认它能正确地办事,那不就更轻易了吗?再假定有一种发言,它能够履行得和其它的发言一样快、只须1K字节的运转支拨、适应ANSI轨范、能够扩展以餍足应用程序的特殊须要,经过一到两个星期的熟识熟练,每天能够编写出三倍于同伴的代码,那么对这种发言感兴致吗?假若是,请听如何用Forth来做到这些。Forth是什么?
从某种意义上说,Forth不是一种发言,我们更应当把它看一种为手头的任务编写应用发言的程序安排方。编写的大局限程序都是办事的须要而不是编译器的须要。Forth支持须要的任何作和语。
Forth理解必然局限的原语字,它们治理全部一般的算术、逻辑和程序流作,然则它也有一个肯定的格式向发言到场新字。能够肯定哪些字能更好地形的应用,然后用现有的字定义这些字。一但定义了一个新字,这个字就变了发言的一局限,能够用来定义其它的字。起先级别的字就是程序自己。
在Forth中,每个事物是一个字也许是一个数,它们互相被空格分隔隔离分散。Forth没有词理解,语也很少。没有作符,没有函数,没有进程,没有子程序,以至没有程序,惟有字和数。
每个字通知计算机去履行一个清晰的精彩定义的作。定义一个字之后,就能够把它作为一个独立的元素来测试。在开端测试的时刻不须要完全部程序,能够在键盘上输入任何一个字,履行它,看结束是不是所须要的。
Forth也是它自己程序的符号调试器,所以测试一个Forth程序比测试其它发言的程序更快。用增量化的方式编写Forth定义、测试定义。一但确认一个字能够办事,就能够把它到场到的程序中;一但定义了起先级别的字,就能够结束编程办事而不须要进一步的调试。
尽管Forth程序通常是自顶向下安排的,但是须要自底向上编写,它要求在纵一个字之前先定义它。但是现实上,Forth程序通常是从两端向中央编写的。开端的时刻,知道所须要的程序顶级行为,也知道与硬件互的字必需做的事,于是就有中央的办事须要完。
也能够先给某个效一个名字,在定义之前纵它(假若须要测试编译,就给它一个空的名字)。一个程序的顶级字能够是一个无穷循环,它用字GET.FRONT.PANEL.INPUT开端,背面是字CHECK.USER.INPUT.LIMITS,所以我们能够用Forth做PDL。当然,在这里假定CHECK.USER.INPUT.LIMITS是存在的,末了还得定义这个字的正确行为。
把程序分红可管理的自我形的小块是每个越程序的行为。所不同的是,在Forth中,末了的结束是一个可履行的程序,而不是另一个冗长进程的开端。Forth是编译器吗?
Forth是编译的,但是它的用户界面是阐明的。Forth维护一个它所知道的全盘字的字典。每个定义由定义这个字的那些字的地址列表组(为使代码更短,在3位也许更长地址的机器上能够纵1位的记号而不是现实的地址)。编译的进程就是把新的字和它们的定义到场到字典。
由于Forth把源程序中的每个字翻译对应的地址,Forth的编译器就很像是一个汇编器。图1是Forth编译器完善的流程图,假若把C发言编译器流程图异样地画进去,那会是一张x的招贴海报。
图1 Forth编译器的完善的流程图
看待源程序中的每个字,这个循环都要履行一次
把Forth程序想像全部是由子程序组的,可能会对我们理解Forth体系有所助理副理。由于每个字调用子程序,所以不须要CALL指令,它只是一个地址。在运转时,一个机器码片段读出下一个指令的地址,把今朝程序计数器留存在前往栈上,履行这个调用。这个小小的支拨看待每个字都要履行一次,招致了Forth程序比化的汇编程序要慢。Fo
您可能关注的文档
- 宁波中建集仕港中中建城西格兰春晨品牌提案-113ppt.ppt
- 宁钢能环部电中缆沟、集水井及排水沟增加自动抽水设施施工方案.doc
- 宁东铁路上公司大古线、古羊枣线大修项目监理规划.doc
- 宁国市对沙堘大桥预制空心板梁作业指导书.doc
- 宁波荪湖水库关富邦项目市场定位报告中期成果汇报221p.ppt
- 宁高公说路秦淮河大桥加固方案.ppt
- 宁海深基坑呢土方开挖专项方案.doc
- 宁海世贸和环的岛工程监理规划.doc
- 宁波天伦广场项目报提条报稿(104页).ppt
- 宁海县岔路镇上金村农村生活污水处阳理工程.doc
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
最近下载
- 完整版04融创物业秩序服务可视化标准.ppt
- 统编人教部编版小学语文一年级下册语文标点符号练习+答案 .pdf VIP
- EPS系统参数及整车性能的匹配.pdf VIP
- 湖北省武汉市江岸区2023-2024学年六年级上学期语文期末试卷(含答案)2.docx VIP
- 2025年中国水性粘结剂行业市场全景调研及前景战略研判报告.docx
- EPS系统对车辆操纵稳定性影响的仿真的分析研究.pdf VIP
- 幼儿园年度工作总结卫生保健.pptx
- 职业健康管理:电力行业职业健康课件.pptx VIP
- 2026.01.01施行《招标人主体责任履行指引》PPT课件.pptx VIP
- 湖北省武汉市2022-2023学年六年级上学期语文期末试卷(含答案).pdf VIP
原创力文档

文档评论(0)