1. 早期的BASIC语言采用的是什么方法将源程序转换成机器语言
BASIC程序不转换为机器语言,是另外一个汇编语言编写的程序来解释执行它:一句一句的执行BASIC源程序。
2. 编写程序代码的原理是什么
编代码到最终目标呈现的过程:
某人写的”一串代码“ 能够有这样的作用:调用这段代码对应的其他预装代码在显示器上画一个圆,就和 你开车的时候“顺时针”打方向盘,车就会向右转向一样。具体怎么实现的是由前人累计实现的,专业要弄清楚,您要读《编译原理》这本书及类似的资料。
大多数人们学习编程本质是学习怎么使用编程软件的方法、编写代码的规范、程序开发中一些常用概念。创造性的东西需要极少专家级别的人研究出来,一个从无到有的过程;其他人直接学习研究结果,是什么?搞懂怎么用,这样一个过程。
编写代码的本质:按照编码规范调用。
若您不能自主解决问题,可致电官方或联系我们,获取免费专业处理意见及帮助。
3. 编译原理中如何翻译常量,常量翻译有什么特点
编译程序:把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或机器语言的目标程序的翻译程序。 解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。
4. C语言和BASIC语言的区别
C语言和BASIC语言的区别:
1、定义不同:
BASIC是一种直译式程序设计语言。
C语言是一门通用计算机编程语言。
2、用处不同:
C语言广泛应用于底层开发。
BASIC主要用于微电脑的开发语言之一。
3、编译工具不同:
C语言:其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
BASIC语言:PowerBASIC、RealBasic、pureBasic、freebasic、NiceBASIC等。
4、特点不同:
BASIC语言:
(1)构成简单。
(2)是一种“人机会话”式的语言。
(3)功能较全、适用面广。
(4)执行方式灵活。
C语言:
①、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
②、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
③、不同的变量类型可以用结构体(struct)组合在一起。
④、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
⑤、部份的变量类型可以转换,例如整型和字符型变量。
⑥、通过指针(pointer),C语言可以容易的对存储器进行低级控制。
⑦、预编译处理(preprocessor)让C语言的编译更具有弹性。
5、发展历史不同:
BASIC语言:BASIC语言早期是以直译程式的方式创始,也演化出许多不同名称的版本,如:BASICA, GW-BASIC, MBASIC, TBASIC等。
C语言:C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。
1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。
5. 什么是源程序和目标程序
源程序也叫源码,就是最开始编写的程序,计算机并不能识别,需要经过编译生成目标程序。
目标程序是能够被计算机识别执行的,比如我们在网上下载的软件,例如QQ,迅雷,这一类软件都是目标程序,都是经过编译的,商业公司一般不会发布源码,源码涉及到商业机密。
大家可以看看下面对两者的区分:
1 .源程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。通常由高级语言编写。源程序可以是以书籍或者磁带或者其他载体的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机可执行的程序。将人类可读的程序代码文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,由各种编译器来完成。一般用高级语言编写的程序称为“源程序”。
2. 目标程序,又称为“目的程序”,为源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名----由语言处理程序(汇编程序,编译程序,解释程序)将源程序处理(汇编,编译,解释)成与之等价的由机器码构成的,计算机能够直接运行的程序,该程序叫目标程序。目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各个目标程序与库函数连接,才能形成完整的可执行程序。
6. 什么是basic语言,c语言
BASIC 是属于高阶程式语言的一种,英文名称的全名是 "Beginner's All-Purpose Symbolic Instruction Code",取其首字字母简称 "BASIC",就名称的含意来看,是"适用于初学者的多功能符号指令码",是一种在计算机发展史上应用最为广泛的程式语言。
BASIC语言的主要特点是:
(1)构成简单。 BASIC语言的最基本语句只有17种,而且它们都是常见的英文单词或其变形,如READ、END等,很容易学习和掌握。
(2)是一种“人机会话”式的语言。通过键盘操作,用BASIC语言编写完的程序,可以在计算机上边编写、边修改、边运行。而且还可以在运行中向人们提示信息的指出错误,要求人去改正,即实现了人和机器的对话。
(3)BASIC语言应用广泛。许多中、小学以至于大学都开设BASIC语言。
BASIC 语言采用的是解释器,就是逐句翻译成机器语言程序,译出一句就立即执行,即边翻译边执行.与编译器比起来,解释器费时比编译器更多,但可少占计算机的内存.
使用BASIC语言的微型机有APPLE机和TRS-80机等.它们的使用方法有些不同.
下面举一个BASIC语言编的程序.
10 LET X=2
20 LET Y=SIN(X)
30 PRINT Y
RUN
0.034899496
C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。
C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。
常用的C语言IDE(集成开发环境)有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,Turbo C等等
7. 编译原理的相关程序
解释程序(interpreter):解释程序是如同编译器的一种语言翻译程序。它与编译器的不同之处在于:它立即执行源程序而不是生成在翻译完成之后才执行的目标代码。从原理上讲,任何程序设计语言都可被解释或被编译,但是根据所使用的语言和翻译情况,很可能会选用解释程序而不用编译器。例如, 我们经常解释BASIC语言而不是去编译它。类似地,诸如LISP 的函数语言也常常是被解释的。
解释程序也经常用于教育和软件的开发,此处的程序很有可能被翻译若干次。而另一方面,当执行的速度是最为重要的因素时就使用编译器,这是因为被编译的目标代码比被解释的源代码要快得多,有时要快10倍或更多。但是,解释程序具有许多与编译器共享的操作,而两者之间也有一些混合之处。 代码生成(code generator):代码生成器得到中间代码(IR),并生成目标机器的代码。正是在编译的这个阶段中,目标机器的特性成为了主要因素。当它存在于目标机器时,使用指令不仅是必须的而且数据的形式表示也起着重要的作用。例如,整型数据类型的变量和浮点数据类型的变量在存储器中所占的字节数或字数也很重要。在上面的示例中,现在必须决定怎样存储整型数来为数组索引生成代码。例如,下面是所给表达式的一个可能的样本代码序列(在假设的汇编语言中):
M O V R0,index ;;
value of index -> R0 M U L R0,2 ;;
double value in R0 M O V R1,&a ;;
address of a -> R1 A D D R1,R0 ;;
add R0 to R1 M O V *R1,6 ;;
constant 6 -> address in R1
在以上代码中,为编址模式使用了一个类似C的协定,因此& a是a的地址(也就是数组的基地址),* R1则意味着间接寄存器地址(因此最后一条指令将值6存放在R1包含的地址中)。这个代码还假设机器执行字节编址,并且整型数占据存储器的两个字节(所以在第2条指令中用2作为乘数)。 目标代码(target code optimizer ):在这个阶段中,编译器尝试着改进由代码生成器生成的目标代码。这种改进包括选择编址模式以提高性能、将速度慢的指令更换成速度快的,以及删除多余的操作。在上面给出的样本目标代码中,还可以做许多更改:在第2条指令中,利用移位指令替代乘法(通常地,乘法很费时间),还可以使用更有效的编址模式(例如用索引地址来执行数组 存储)。使用了这两种优化后,目标代码就变成:
MOV R0,index ;;
value of index -> R0 SHL R0 ;;
double value in R0 MOV &a[R0],6 ;;
constant 6 -> address a + R0
到这里就是编译原理的简要描述,但还应特别强调编译器在其结构细节上差别很大。
8. 语言转换器:实现将BASIC源程序转换为C语言源程序
您好,这个几乎是不可能的 :
一个是行编译的 一个是按文件编译的,
语法上和类型上也有很大的区别 ,
基本无法逐一转换,
而如果编译basic再反编译成C 那么又很可能出错,
所以 你还是放弃吧。
9. 编译原理中“翻译程序”如何理解
编译程序:把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或机器语言的目标程序的翻译程序。
解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。
编译程序和解释程序都是翻译程序。
我觉得你说的书上的定义有点问题