当前位置:文档之家› 哈工大威海编译原理实验报告

哈工大威海编译原理实验报告

《编译原理》

实验报告

班级:

学号:

姓名:

实验一词法扫描器设计

一实验目的

通过设计调试词法分析程序,实现从源程序中分出各种单词的方法;加深对课堂教学的理解;提高词法分析方法的实践能力。

二实验内容

设计一个简单的类C语言的词法扫描器。

三实验要求

(一)程序设计要求

(1)根据附录给定的文法,从输入的类C语言源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、分隔符

五大类;文法见最后附录。

(2)提供源程序输入界面;

(3)词法分析后可查看符号表和TOKEN串表;

(4)保存符号表和TOKEN串表(如:文本文件);

(5)遇到错误时可显示提示信息,然后跳过错误部分继续进行分析。(二)实验报告撰写要求

(1)系统功能(包括各个子功能模块的功能说明);

(2)开发平台(操作系统、设计语言);

(3)设计方案;

1)主数据流图;

2)主要子程序的流程框图(若有必要);

3)模块结构图;

4)主要数据结构:符号表、TOKEN串表等。

(4)具体设计过程(包括主控程序、各个功能模块的具体实现)。

1.系统功能:

根据附录给定的文法,从输入的类C语言源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、分隔符五大类。然后输出本源程序的符号表显示在dos界面和存放在文本文件中。本程序以如下源程序(语法分析的例子)示范:

源程序;

int a;

int b;

int c;

a=2;

b=1;

if (a>b)

c=a+b;

else

c=a-b;

子功能模块有:

关键字处理过程;字母的处理过程;数字的处理过程;整个词法分析处理过程;运算符处理过程以及主程序。

2.开发平台(操作系统、设计语言);

Windows 7,Microsoft Visual C++ 6.0

3.设计方案:

(1)主流程图:

(2)主要子程序的流程框图:

判断 是否注释子模块①:

模块①

判断是否是字符子模块②:

模块②判断是否为数字或者运算符子模块③:

Y Y

N

模块③

实验结果:

Test.txt内容:

Token.txt文件内容:

四实验总结:

通过词法分析实验,首先我认识到词法分析就是将字符序列转换为单词(Token)序列的过程。词法分析器一般以函数的形式存在,供语法分析器调用。词法分析阶段是编译过程的第一个阶段,这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。并且对符号表有了一定的理解,

符号表是:

1、编译过程中编译程序不断汇集和反复查证出现在源程序中各种名字的属性和特征信息等有关信息。

这些信息通常记录在一张或几张符号表中。

2、符号表的每一项有两部分:

一部分是名字(标识符);一部分是名字属性(标识符的有关信息)。

3、编译过程中,每当扫描器(词法分析器)识别出一个名字后,编译程序就查阅符号表,看其是否在符号表中。

如果它是一个新名字就将它填进表里。

它的有关信息将在词法分析和语法-语义分析过程中陆续填入表中。

4、符号表是边填边用。

附录:类C语言的词法文法

id Letter

int10 Num int10 | Num

OP +| - |* |/ |>| < | = | ( | ) | ; | ‘ | == | >= |<= | != Keyword if | then | else | while | do

Letter a|b|c|d|e|f|g|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|A|B|C|D| E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z

Num0|1|2|3|4|5|6|7|8|9 |ε

Letter | Num

实验二 LR语法分析器设计

一实验目的

通过设计调试LR语法分析程序,实现根据词法分析的输入TOKEN字,进行文法的语法分析;加深对课堂教学的理解;提高语法分析方法的实践能力。二实验内容

使用附录中的文法,可以对类似下面的程序语句进行语法分析:int a;

int b;

int c;

a=2;

b=1;

if (a>b)

c=a+b;

else

c=a-b;

三实验要求

(一)程序设计要求

(1)给出主要数据结构:分析栈、符号表;

(2)将扫描器作为一个子程序,每次调用返回一个TOKEN;

(3)程序界面:表达式输入、语法分析的表示结果(文件或者图形方式);

(二)实验报告撰写要求

(1)系统功能分析及设计(包括各个子功能模块的功能说明);

(2)开发平台(操作系统、设计语言);

(3)设计方案:包括功能模块结构图、主要函数的流程图;

(4)主要数据结构:分析栈、分析表、符号表;

(5)具体设计实现过程(包括主控程序、各个功能模块的具体实现)。

四实验总结

一:系统功能分析及设计:

可对一段包含加减乘除括号的赋值语句进行语法分析,其必须以$为终结符,语句间以;隔离,判断其是否符合语法规则,依次输出判断过程中所用到的产生式,并输出最终结论。

二:开发平台(操作系统,设计语言)

Windows 7,Microsoft Visual C++ 6.0(Dos),C++

三:设计方案:(包括第四步的数据结构)

首先构造数据结构,分析栈,分析表,符号表等如下:

分析栈

struct FenXiZhan

{

char name[50];

char *type;

int value;

}FenXiZhan[1000];

分析表()

Table[31][20]

{108,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,4,0,0,0},

{0,0,0,0,0,0,0,0,0,0,1000,0,0,0,0,0,0,0,0,0},

{0,0,109,0,0,0,0,0,0,0,0,113,0,0,0,3,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,0,0},

{0,0,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{108,0,203,0,0,0,0,0,0,0,0,203,0,0,7,0,4,0,0,0},

{0,0,202,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,0},

{0,0,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,126,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,11,25},

{0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,205,0,205,0,0,0,0,0,0,0},

{0,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,126,0,0,0,0,0,0,127,0,0,0,0,0,0,0,15,28,25}, {0,0,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,109,0,0,0,0,0,0,0,113,0,0,0,0,17,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,0,0,118,0,0,0,0,0,0,0},

{0,0,109,0,0,0,0,0,0,0,113,0,0,0,0,19,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,206,0,206,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,121,123,0,0,0,0,0,0,0,0,0,0,0},

{0,0,126,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,22},

{0,208,0,0,0,0,208,208,208,0,0,0,0,0,0,0,0,0,0,0},

{0,0,126,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,24},

{0,209,0,0,0,0,209,209,209,0,0,0,0,0,0,0,0,0,0,0},

{0,210,0,0,0,0,210,210,210,0,0,0,0,0,0,0,0,0,0,0},

{0,211,0,0,0,0,211,211,211,0,0,0,0,0,0,0,0,0,0,0},

{0,212,0,0,0,0,212,212,212,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,0,0,0,129,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,126,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,30,25},

{0,0,0,0,0,207,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

符号表:

struct TokenTable

{

char *type;

int attr;

}TokenTable[1000];

具体思路:首先对源文件进行词法分析,然后产生符号表FenXiTable(),然后对词法分析产生的Token进行语法分析,用分析栈和分析表进行GOTO和

ACTION函数进行语法分析。

五:具体实现过程:

Main函数:

词法分析流程:

实验结果:

读入文件

关闭文件流

CiFaFenXi()函数进行词法分析

开始

结束

总结:通过这次语法分析LR(0)实验,我加深了对语法分析的理解,并且能熟练利用分析表进行GOTO函数和ACTION函数的应用,以前在书本上学到的东西,没有实验之前都很抽象,但是自己通过实验,利用数组产生了分析表,对LR(0)自动机也有了很深的理解!

附录:简单类c语言文法

产生式语义规则

注:P为文法的开始符号

说明语句部分文法:

P → D S

D →L id ; D |ε

L → int | float

程序语句部分文法:

S → id = E; S.code = E.code || gen(id.place’:=’E.place) S → if (C) S1 C.true = newlabel; C.false = S.next;

S1.next = S.next;

S.code = C.code || gen(C.true’:’) || S1.code

S → if (C) S1 else S2

S → while (C) S1 do S2

C.true = newlabel; C.false = newlabel;

S1.next = S2.next =S.next;

S.code = C.code || gen(C.true’:’) || S1.code

|| ge n(‘goto’S.next)|| gen(C.false’:’)||

S2.code;

S → S ;S

C → E1 > E2

C.code = E1.code || E2.code ||

gen(‘if’E1.place’>’E2.place’goto’C.true) ||

gen(‘goto’C.false)

C → E1 < E2 C.code = E1.code || E2.code ||

gen(‘if’E1.place’<’E2.place’goto’C.t rue) ||

gen(‘goto’C.false)

C → E1 == E2 C.code = E1.code || E2.code ||

gen(‘if’E1.place’=’E2.place’goto’C.true) ||

gen(‘goto’C.false)

E → E1 + T E.place = newtemp;

E.code = E1.code||T.code||

gen(E.place’:=’E1.place’+’T.place)

E → E1 – T E.place = newtemp; E.code = E1.code || T.code ||

gen(E.place’:=’E1.place’-’T.place)

E → T E.place = T.place; E.code = T.code

T → F T.place = F.place; T.code = F.code

T → T1 * F T.place = newtemp;

T.code = T1.code || F.code ||

gen(T.pla ce’:=’T1.place’*’F.place)

T → T1 / F T.place = newtemp; T.code = T1.code || F.code || gen(T.place’:=’T1.place’/’F.place)

F → ( E ) F.place = E.place; F.code = E.code

F → id F.place = https://www.doczj.com/doc/3119245438.html,; F.code = ‘ ‘

F → int10 F.place = int10.value; F.code = ‘ ‘

哈工大 计算机仿真技术实验报告 实验七 基于Simulink的简单电力系统仿真实验

实验七 基于Simulink 的简单电力系 统仿真实验 一、实验目的 1)掌握Simulink 的工作环境及SimPowerSystems 功能模块库的应用; 2)掌握Simulink 的powergui 模块的应用; 3)掌握发电机的工作原理及稳态电力系统的计算方法; 二、实验内容 单机无穷大电力系统如图7-1 所示。平衡节点电压0 0 V V =︒ 。负荷功率10L P kW =。线路参数:电阻1l R =Ω;电感0.01l L H =。发电机额定参数:额定功率100n P kW = ;额定电压n V V =;额定励磁电流70 fn i A =;额定频率50n f Hz =。发电机定子侧参数:0.26s R =Ω,1 1.14 L mH =, 13.7 md L mH =,11 mq L mH =。发电机转子侧参数:0.13f R =Ω, 1 2.1 fd L mH =。发电机阻尼绕组参数:0.0224kd R =Ω,1 1.4 kd L mH =,10.02kq R =Ω,11 1 kq L mH =。发电机转动惯量和极对数分别为224.9 J kgm =和2p =。发电机输出功率050 e P kW =时,系统运行达到稳态状态。在发电机输 出电磁功率分别为170 e P kW =和2100 e P kW =时,分析发电机、平衡节点电源和负载的电流、电磁功率变化曲线,以及发电机转速和功率角的变化曲线。 G V

三、实验要求 (1)利用SimPowerSystems库中的发电机模型、三相负荷模型建立系统的仿真模型; (2)利用powergui模块,对系统的稳态响应及发电机的初始值进行分析,并给发电机付初始值; (3)利用Bus Selector模块分选出需要的发电机输出参数。利用Three-Phase V-I Measurement模块测量三相电压与电流参数。 (4)给出平衡节点电源和负载的电流、电磁功率变化曲线,以及发电机转速和功率角的变化曲线。 四、模型的建立方法以及参数设置 各模块参数设置参照实验课老师所用的PPT课件。 1、电机的选择与设定 (1)选择路径:Simulink Simpowersystems—>Machines—>Synchronous Machine SI Fundamental (2)Synchronous Machine 参数设定如下图: 2、三项测量单元的选择与参数设定 (1)选择路径:Simulink Simpowersystems—>measurements—> Three-Phase V-I Measurement (2)参数设定:

哈工大编译原理

哈工大编译原理基本原理 1. 什么是编译原理? 编译原理(Compiler Design)是计算机科学中的一个重要分支,研究的是将高级语言程序翻译成机器语言程序的过程和方法。编译原理包括语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段。 2. 编译器的基本工作流程 编译器通常由以下几个阶段组成: 2.1 词法分析 词法分析阶段将源代码划分为一个个的单词(Token),并进行分类。例如,对于C语言而言,单词可以是关键字(如if、for)、标识符(如变量名)、常量(如整数、字符)等。 2.2 语法分析 语法分析阶段根据程序的上下文无关文法规则,将单词序列转换为抽象语法树(Abstract Syntax Tree,AST),以便进一步进行语义分析和中间代码生成。常用的方法有自顶向下的递归下降分析和自底向上的LR(1)分析。 2.3 语义分析 语义分析阶段主要检查源程序是否符合给定的语义规则,并对其进行语义翻译。例如,检查变量是否被声明、函数调用是否正确等。语义分析通常会生成符号表,用于记录程序中的变量、函数等信息。 2.4 中间代码生成 中间代码是一种介于源代码和目标代码之间的抽象表示形式,通常使用三地址码或四元式表示。中间代码生成阶段将抽象语法树转换为中间代码,以便进行后续的优化和目标代码生成。 2.5 代码优化 代码优化阶段对中间代码进行优化,以提高程序的执行效率和资源利用率。常见的优化技术包括常量传播、公共子表达式消除、循环展开等。 2.6 目标代码生成 目标代码生成阶段将优化后的中间代码转换为特定机器上可执行的目标代码。目标代码可以是汇编语言或机器语言,并且通常需要考虑底层硬件架构的特性和限制。

哈工大威海编译原理实验报告

《编译原理》 实验报告 班级: 学号: 姓名:

实验一词法扫描器设计 一实验目的 通过设计调试词法分析程序,实现从源程序中分出各种单词的方法;加深对课堂教学的理解;提高词法分析方法的实践能力。 二实验内容 设计一个简单的类C语言的词法扫描器。 三实验要求 (一)程序设计要求 (1)根据附录给定的文法,从输入的类C语言源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、分隔符 五大类;文法见最后附录。 (2)提供源程序输入界面; (3)词法分析后可查看符号表和TOKEN串表; (4)保存符号表和TOKEN串表(如:文本文件); (5)遇到错误时可显示提示信息,然后跳过错误部分继续进行分析。(二)实验报告撰写要求 (1)系统功能(包括各个子功能模块的功能说明); (2)开发平台(操作系统、设计语言); (3)设计方案;

1)主数据流图; 2)主要子程序的流程框图(若有必要); 3)模块结构图; 4)主要数据结构:符号表、TOKEN串表等。 (4)具体设计过程(包括主控程序、各个功能模块的具体实现)。 1.系统功能: 根据附录给定的文法,从输入的类C语言源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、分隔符五大类。然后输出本源程序的符号表显示在dos界面和存放在文本文件中。本程序以如下源程序(语法分析的例子)示范: 源程序; int a; int b; int c; a=2; b=1; if (a>b) c=a+b; else c=a-b; 子功能模块有:

关键字处理过程;字母的处理过程;数字的处理过程;整个词法分析处理过程;运算符处理过程以及主程序。 2.开发平台(操作系统、设计语言); Windows 7,Microsoft Visual C++ 6.0 3.设计方案: (1)主流程图:

编译原理简明教程答案

编译原理简明教程答案 【篇一:8000份课程课后习题答案与大家分享~~】 > 还有很多,可以去课后答案网 (/bbs)查找。 ##################【公共基础课-答案】 #################### 新视野大学英语读写教程答案(全) 【khdaw】 /bbs/viewthread.php?tid=108fromuid=1429267 概率论与数理统计教程 (茆诗松著) 高等教育出版社课后答案 /bbs/viewthread.php?tid=234fromuid=1429267 高等数学(第五版)含上下册高等教育出版社课后答案 d.php?tid=29fromuid=1429267新视野英语听力原文及答案课后答案 【khdaw】 /bbs/viewthread.php?tid=586fromuid=1429267线性代数 (同济 大学应用数学系著) 高等教育出版社课后答案 /bbs/viewthread.php?tid=31fromuid=1429267 21世纪大学英语第3册(1-4)答案 【khdaw】 /bbs/viewthread.php?tid=285fromuid=1429267 概率与数理统计第二,三版 (浙江大学盛骤谢式千潘承毅著) 高等教育出版社课后答案 d.php?tid=32fromuid=1429267 复变函数全解及导学[西安交大第四版] 【khdaw】 /bbs/viewthread.php?tid=142fromuid=1429267 大学英语精读第三版2册课后习题答案 /bbs/viewthread.php?tid=411fromuid=1429267 线性代数(第二版)习题答案 /bbs/viewthread.php?tid=97fromuid=1429267 21世纪(第三册) 课后答案及课文翻译(5-8)【khdaw】 /bbs/viewthread.php?tid=365fromuid=1429267 大学英语精读第2册课文翻译(上外)

哈工大 光机系统设计 双胶合透镜 实验报告

哈工大光机系统设计双胶合透镜实验报 告 哈工大光机系统设计双胶合透镜实验报告哈尔滨工业大学实验报告Harbin Institute of Technology 实验报告课程名称: 光机系统设计实验名称: 双胶合消色差物镜设计院系: 电气及自动化与控制系班级: 姓名: 学号: 哈尔滨工业大学1,实验目的设计一个双胶合消色差透镜,并绘制图形,熟悉应用光学、机械学等相关知识,掌握光机系统设计的流程。 2. 结构特性分析双胶合消色差物镜光学性能要求: 1) f / 6,焦距540mm;2) 视场角1.5°;3) 镜片材料选择BAK1 和BK7;4) 20 线对/mm 处MTF>0.4;5) 工作波长: 可见光 3. 初始结构设计当物体处于无穷远时,P∞=W∞=0(孔径角消失),设计消色差系数C=0。 透镜的光焦度分配公式: 通过应用光学相关知识,算的双胶合透镜的曲率半径依次为: R1 =345.231 R2 =-240.89 R3 =-1003.25 两个透镜的初始厚

度设计各为7mm,透镜组到成像面的距离设计为近轴光线,由ZEMAX 计算出相应厚度调整值。 图1 双胶合透镜出结构设计图2 所示,视场90mm;如图3 所示,视场角设定为1.5°,图4 所示,入射光线为可见光;如所示为初始透镜结构图。 图2 设定视场图3 设置光场图4 设定入射光4. 系统优化设计焦距值为540mm,设定默认优化函数EFFL target 为540,权重为1,选择透镜的三个曲率半径以及相应的厚度作为优化参数,优化结果如图5所示。 图5 优化结果参数5. 像质分析由图6所示,优化后最大的波像差大约为4个波长,尚未达到衍射极限,应为焦平面上的彗差影响所致;同时可见这个透镜相对与可见光的低阶色差比较小,满足设计要求。 图8优化后光线追迹曲线如图6所示,优化后存在彗差,由图中度数可得艾里斑半径为8.595μm,而像差RMS半径为18.570μm,可见此优化结果基本达到设计要求,可以使用。 图7 优化后散点图最后查看调制传递函数,由图10可见,在20线对处的MTF值为0.4835,符合设计要求。 综上所示,本次双胶合消色差透镜的设计符合达到题目的要求。 在20线对/mm处满足MTF>0.4 6.小结: 通过完成本次光机系统设计的大作业基本熟悉了应用光

哈工大GPS卫星导航实验报告4(选作)

实验四接收机位置解算及结果分析(选作) 一、实验原理 GPS接收机位置的导航解算即解出本地接收机的纬度、经度、高度的三维位置,这是GPS 接收机的核心部分。 GPS接收机位置求解的过程如下:前序实验已经提到,导航电文与测距码(C/A码)共同调制L1载频后,由卫星发出。卫星上的时钟控制着测距信号广播的定时。本地接收机也包含有一个时钟,假定它与卫星上的时钟同步,接收机接收到一颗卫星发送的数据后,将导航电文解码得到导航数据。定时信息就包含在导航数据中,它使接收机能够计算出信号离开卫星的时刻。同时接收机记下接收到卫星信号的时刻,便可以算出卫星至接收机的传播时间。将其乘以光速便可求得卫星至接收机的距离R,这样就把接收机定位于以卫星为球心的球面的某一个地方。如果同时用第二颗卫星进行同样方法的测距,又可将接收机定位于以第二颗卫星为球心的第二个球面上。因此接收机就处在两个球的相交平面的圆周上。当然也可能在两球相切的一点上,但这种情况只发生在接收机与两颗卫星处于一条直线时,并不典型。于是,我们需要同时对第三颗卫星进行测距,这样就可将接收机定位于第三个球面上和上述圆周上。第三个球面和圆周交于两个点,通过辅助信息可以舍弃其中一点,比如对于地球表面上的用户而言,较低的一点就是真实位置,这样就得到了接收机的正确位置。 在上述求解过程中,我们假定本地接收机与卫星时钟同步,但在实际测量中这种情况是不可能的。GPS星座内每一颗卫星上的时钟都与一个叫做世界协调时(UTC,即格林尼至时间)的内在系统时间标度同步。卫星钟差可根据导航电文中给出的有关钟差参数加以修正,其基准频率的频率稳定度为10-13左右。而本地接收机时钟的频率稳定度只有10-5左右,而且其钟差一般难以预料。由于卫星时钟和接收机时钟的频率稳定度没有可比性,这样,就会在卫星至接收机的传播时间上增加一个很大的时间误差,严重影响定位精度。为解决这一问题,我们通常将接收机的钟差也作为一个未知参数,与本地接收机的ECEF坐标(ECEF坐标系的定义在前序实验中已经给出)一起求解。这样,由于有4个未知量,我们就需要同时观测到4颗卫星,由4个方程将其解出。解出的接收机钟差可以用来校正本地接收机的时钟,这使得GPS接收机同时具有授时功能。 卫星实时位置的解算需要已知这颗卫星的星历和GPS时间,这在前序实验中已经做过相应介绍。由于GPS卫星属于中轨道卫星,卫星信号在传输过程中又会产生诸如对流层误差、电离层误差、相对论效应误差等各种实时传输误差,因此,由上述方法得出的卫星至接收机的传输时间并不准确,而由其乘以光速得出的距离也不是卫星到达接收机的真实距离(Range),只能叫做伪距(Pseudorange)。其含义就是“假的距离”,因为其中包含有各种误差。直接由伪距求解出的接收机位置会出现很大的误差,因此在求解前首先要把各种误差从伪距中消去。在前序实验中也已经对如何消去各种实时传输误差作过相应介绍,在此不再赘述。 求解卫星位置的基本方程组为:

哈工大 威海 编译原理 实验二 语法分析

哈尔滨工业大学(威海)计算机学院 编译原理实验报告 姓名院系计算机学院学号 任课教师指导教师闫健恩 实验地点宋健二楼机房实验时间 实验名称实验二LR语法分析技术 同组人无 预习报告(对实验主要内容的认识) 得分 (1)给出主要数据结构:分析栈、符号表、语法分析树; (2)将扫描器作为一个子程序,每次调用返回一个TOKEN; (3)程序界面:表达式输入、语法分析树的表示结果(文件或者图形方式); 实验内容(问题,思路,程序,结果)得分 (1)开发环境:vs2010 (2)输入:在运行打开的软件下(win32格式),输入相应的代码(即要进行词法分析的字符串) (3)输出:在输入字符串后,按回车键后,既可以得到相应的词法分析的结果 (4)在相应的运行程序的文件夹中生成一个txt文件,用来存储生成的Token 链表 (5)系统功能: 1、词法分析:将输入的字符串进行单词级别的分析并且生成且输 出Token表 2、语法生成器:可以将语法生成相应的状态,在这个实验中共有 语法如下: 3、CLOSURE生成 4、LR项集族的生成 6、Goto表的生成 7、Scaner词法分析器将Token表输出 8、语法分析器对Token表的分析,得出结果 (2)开发平台(操作系统、设计语言): 1、操作系统:windows 7 2、设计语言:c++ 3、编译器:vs2010

(3)设计方案; 1)主数据流图; 开始 读取构造的文法(grammar.txt) 构造item.txt 集族 构造action表,写入文档 进行语法的匹配(自底向上RL(1)) 匹配时出现错误? 查找action表继续进行匹配如果代码分析还未完成,继续 结束Y N

哈工大计算机网络实验报告

哈尔滨工业大学计算机通信网络实验指导书 倪洁徐志伟 2012.11.1

实验一 IIS网站的架设 一、实验目的 Windows Server 2003包含Internet Information Services (IIS, Internet信息服务),它可以让我们架设网站、FTP服务器、SMTP服务器、NNTP服务器,并且在配置POP3服务器后,还可以架设电子邮件服务器。 本实验在于使学生更好地理解安装与测试IIS、网站的基本设置、实际目录与虚拟目录以及建立新网站、远程管理网站,掌握计算机网络配置的基本监测技术。 二、实验内容 1、安装与测试IIS (1) 安装IIS 安装IIS的步骤如下: 步骤1: 选择“开始”“控制面板”“添加或删除程序”“添加/删除Windows组件”。 步骤2: 在图1-1中选择“应用程序服务器”,然后单击详细信息按钮。 图1-1

图1-2 步骤3 :在图1-2中选择“Internet信息服务(IIS)”后单击确定按钮。 步骤4 :回到前一个画面后单击下一步按钮,然后但击完成按钮。 (2)测试IIS是否安装成功 安装完毕后,可以通过“IIS管理器”来管理网站。“IIS管理器”的启动方法为“开始”“管理工具”“Internet信息服务(IIS)管理器”或“开始”“运行”,输入inetmgr。如图1-3所示为“IIS管理器”的画面,由图中可以看出已经有一个网站:“默认网站”。

图1-3 可以利用以下几种方法来测试: 利用网址https://www.doczj.com/doc/3119245438.html, 利用IP地址http://192.168.0.1 利用计算机名称http://server1 若连接成功,则应会有如图1-4所示的网页。 图1-4 2、网站的基本设置 (1)主目录与默认文件 主目录的设置 主目录的设置是通过右击“默认网站”,选择“属性”“主目录”的方法来设置的,如图1-5示。您可以将主目录设置为: 此计算机上的目录; 另一台计算机上的共享:如图1-6示。

哈工大人工智能导论实验报告

) ( 人工智能导论实验报告 学院:计算机科学与技术学院 专业:计算机科学与技术 *

! 目录 人工智能导论实验报告 (1) 一、简介(对该实验背景,方法以及目的的理解) (3) 1. 实验背景 (3) 2. 实验方法 (3) 3. 实验目的 (3) 二、方法(对每个问题的分析及解决问题的方法) (4) . Q1: Depth First Search (4) Q2: Breadth First Search (4) Q3: Uniform Cost Search (5) Q4: A* Search (6) Q5: Corners Problem: Representation (6) Q6: Corners Problem: Heuristic (6) Q7: Eating All The Dots: Heuristic (7) Q8: Suboptimal Search (7) / 三、实验结果(解决每个问题的结果) (7) Q1: Depth First Search (7) Q2: Breadth First Search (9) Q3: Uniform Cost Search (10) Q4: A* Search (12) Q5: Corners Problem: Representation (13) Q6: Corners Problem: Heuristic (14) Q7: Eating All The Dots: Heuristic (14) 《 Q8: Suboptimal Search (15) 自动评分 (15) 四、总结及讨论(对该实验的总结以及任何该实验的启发) (15) 一、简介(对该实验背景,方法以及目的的理解) 1.实验背景 1)自人工智能概念被提出,人工智能的发展就受到了很大的关注,取得了长足的发展,成 为一门广泛的交叉和前沿科学。到目前,弱人工智能取得了长足的发展,而强人工智能

哈工大电路实验1实验报告

竭诚为您提供优质文档/双击可除哈工大电路实验1实验报告 篇一:哈工大数字电路实验报告实验二 数字逻辑电路与系统 上机实验讲义 实验二时序逻辑电路的设计与仿真 课程名称:院系:班级:姓名:学号: 教师:哈尔滨工业大学20XX年12月 实验二时序逻辑电路的设计与仿真 3.1实验要求 本实验练习在maxplusII环境下时序逻辑电路的设计与仿真,共包括6个子实验,要求如下: 3.2同步计数器实验3.2.1实验目的 1.练习使用计数器设计简单的时序电路 2.熟悉用mAxpLusII仿真时序电路的方法 3.2.2实验预习要求

1.预习教材《6-3计数器》 2.了解本次实验的目的、电路设计要求 3.2.3实验原理 计数器是最基本、最常用的时序逻辑电路之一,有很多品种。按计数后的输出数码来分,有二进制及bcD码等区别;按计数操作是否有公共外时钟控制来分,可分为异步及同步两类;此外,还有计数器的初始状态可否预置,计数长度(模)可否改变,以及可否双向等区别。 本实验用集成同步4位二进制加法计数器74Ls161设计 n分频电路,使输出信号cpo的频率为输入时钟信号cp频率的1/n,其中n=(学号后两位mod 3.2.4实验步骤 1.打开mAxpLusII,新建一个原理图文件,命名为exp3_ 2.gdf。 2.按照实验要求设计电路,将电路原理图填入下表。 3.新建一个波形仿真文件,命名为exp3_2.scf,加入时钟输入信号cp及输出信号cpo,并点击mAxpLusII左侧工具条上的时钟按钮 ,将cp的波形设置 为周期性方波。 4.运行仿真器得到输出信号cpo的波形,将完整的仿真波形图(包括全部输入输出信号)附于下表。

哈工大威海

哈尔滨工业大学(威海) 院校性质 哈尔滨工业大学是工业和信息化部直属的全国重点大学,是一所理工为主,理、工、管、文、经、法相结合,开放式、研究型的多学科全国重点大学,1999年被确定为国家“985工程”重点建设的9所大学之一。哈尔滨工业大学(威海)作为哈工大三个跨省校区(哈尔滨、威海、深圳)之一(哈尔滨称本部,本科与研究生教育并重,威海和深圳称校区,威海主要以本科教育为主,深圳是研究生教育,最近又在讨论深圳将要发展本科教育(2012)。),是哈工大的重要组成部分,隶属于中华人民共和国工业和信息化部,属于“985工程”、“211工程”院校。学生在奖贷评优、考研保研、出国就业等方面与哈尔滨校区政策相同,其本科毕业证与哈尔滨工业大学本部毕业证书相同,没有区别。 办学层次 普通本科、硕士研究生、博士研究生。哈尔滨工业大学隶属于工业和信息化部,是国家首批“985工程”高校之一。哈工大坚持立足航天、服务国防,面向国际学术前沿和国家重大需求,历经90余年的奋斗,学校已发展成为一所特色鲜明、实力雄厚,居于国内一流水平,在国际上有较大影响的多学科、开放式、研究型的国家重点大学。国家的需要和山东省发展的需求,促使哈工大(威海)形成了船舶、海洋、汽车与先进制造、信息、管理等重点学科、新兴学科和基础学科构成的学科体系,实现了与校本部学科的交叉互补设置。威海校区现有10个院(系),2个教学部,38个本科专业,共享校本部的148个硕士点和82个博士点,单独设置的硕士研究生一级学科2个、二级学科19个。建有国际微电子研究中心、网络与信息安全技术研究中心、空间结构研究中心、机器人研究所、复合材料研究所、海洋环境研究所等各类研究机构57个。其中,3个是国家级科研机构设立的分支机构,10个是院士亲自领导的研究所(中心)。 校史沿革 ●哈尔滨工业大学创建于1920年

哈工大无线定位原理与技术实验报告

无线电定位原理与技术 实验报告 课程名称:无线电定位原理与应用 院系:电子工程系 班级:1305203 姓名:黄晓明、大头光 学号:指导教师:张云 实验时间:12周周二,13周周二 实验成绩: 电信学院

实验一 调频法测距实验 2.1 实验要求 1.掌握调频法测距原理 2.利用给定的仿真信号通过MA TLAB 编程计算线性调频信号的参数(带宽,中心频率,时宽,调频斜率)并计算目标的距离。 2.2 线性调频脉冲测距实验 图2-1 线性调频信号与反射回波 反射回波相对于发射的线性调频信号产生了固定时延或固定频差F ∆ 。假设目标处于静止状态,总的频偏F ∆为 2R F c α ∆= (2.1) 根据该式可以反推出距离R 。 图1线性调频信号与反射回波时域图

图2混频后频谱图 图3

根据公式 2c F R α ∆= (2.2) 解得R=750m ,与5us 延迟一致。 积化和差公式: 1 cos cos [cos()cos()]2 αβαβαβ=++- (2.3)

实验二 连续波雷达测速实验 3.1 实验要求 1. 掌握雷达测速原理。 2. 了解连续波雷达测速实验仪器原理及使用。 3. 采集运动物体回波数据,并在PC 机使用Matlab 对实验数据进行分析。 4. 使用Matlab 对实验数据进行分析,得到回波多普勒频率和目标速度。 3.2 雷达测速原理 00022d r vf v f f f f c v c --⎛⎫ =-= ≈ ⎪+⎝⎭ (如果v c <<) 图3-1 多普勒效应 3.2 连续波雷达测速实验仪器 连续波发射机 混频器 放大滤波 测速传感器 AD 采集 串行接口PC 机 图3-2 连续波雷达测速实验仪器原理框图

编译原理 第一版 (龙式 著) 哈尔滨工业大学 总结

编译原理第一版 (龙式著) 哈尔滨工业大学总结, , , 7 .ppt 3.ppt , Chapt10.ppt Chapt10.ppt , 17-18 , , , 30% 70% , 掌握 1、编译方式、解释方式及其区别; 2、编译程序的构成,工作流程及各部分的功能; 3、编译程序中一遍扫描的概念。 了解 1、实现编译程序的自展技术; 2、编译程序的伙伴程序及构造编译程序的工具; 熟练掌握 1、程序语言的形式描述,上下文无关文法和语言的形式定义,推导,句型,句子的概念; 2、对程序语言来说,已知语言,能写出其文法;反之,根据文法,能描述出文法定义的语言; 3、分析树,二义性,短语,直接短语,句柄,用分析树图示对符号串的推导,并解释上述概念。 4、通过对中缀表达式向后缀表达式的翻译掌握编译的基本过程。

掌握 1、符号串及其运算; 2、2型和3型文法描述在程序语言中的对象。了解 1、文法和语言的分类。 1、已知一个上下文无关语言,写出它的上下文无关文法;反之,已知一个上下文无关文法,描 述出它定义的语言。 熟练掌握 1、正规表达式与正则集合的定义,正规表达式的等价性; 2、 DFA,NFA以及它们之间的转换方法,DFA的化简; 3、正规表达式转换成FA; 4、词法分析器的功能及词法分析器模型; 5、词法分析器的手工构造:对于给定的程序语言,设计出它的词法分析器的输出,画出识别单 词的DFA M ,并用某种程序语言实现它。掌握 1、词法分析器的自动生成原理,对于给定的程序语言,用正规表达式描述出它的单词。 了解 1、词法分析器自动生成工具LEX和使用方法。 1、已知一个正规集,写出它的正规表达式; 2、已知一个正规表达式,写出它的正规集; 3、正规表达式和有限自动机的等价变换。 熟练掌握 1、语法分析分自顶向下分析和自底向上分析。自顶向下分析为输入串构造一个最左推导;自底 向上分析为输入串构造一个最右推导;

哈工大 计算机仿真技术实验报告 实验六 基于Simulink的简单电力系统仿真

实验六 基于Simulink 的简单电力系统仿真 ( 一:实验目的 (1)掌握Simulink 的工作环境及SimPowerSystems 功能模块库的应用; (2)掌握Simulink 的电力电子电路建模和仿真方法; (3)掌握Simulink 下数学模型的仿真方法; (4)掌握升压、降压斩波电路(Buck Chopper )的工作原理及其工作特点; (5)掌握PID 控制对系统输出特性的影响。 二、实验原理 通过降压斩波电路,电压发生降低,再通过桥式整流器将输入信号变为 直流信号,再经过BWM 模块的作用,使输出波形变为三角波信号。 三:实验内容 Buck 降压型电路原理图如图6-1所示。图中,功率管VT 为MOSFET 开关调整组件,其导通与关断由控制脉冲决定;二极管VD 为续流二极管,开关管截止时可保持输出电流连续。ref V 为输出电压给定参考量;L R 为负载电阻。系统基本参数为:电源电压)314sin(100)(t t e =;变压器BT 为理想变压器,其变比为 1:2=n ;PWM 频率为Hz f PWM 2000=;误差放大器放大倍数为1000=V K ; 电阻Ω01.0C R ;整流滤波电容F C μ1000=,PWM 滤波电容F C o μ10=、电感 H L 05.0=;负载电阻Ω=10L R 。系统基本参数见表6.1。分析Buck 变换器 的工作特性。

表6.1 系统基本参数 C R (Ω) C (F μ) o C (F μ) L (H ) L R (Ω) V K n PWM f (Hz ) 0.01 1000 10 0.05 10 1000 2:1 2000 K 误差放大器 比较器 ref V 锯齿波 + - in u D i in i s i 1 :2L R o C L C R C ) (t e 图6.1 Buck 变换器电路图 o u VT BT VD + - o u L i +-L u 四:实验仿真结果及分析

哈工大天线原理实验报告

Harbin Institute of Technology 天线原理实验报告 课程名称:天线原理 院系:电信学院 班级: 姓名: 学号: 指导教师: 实验时间: 实验成绩: 哈尔滨工业大学

一、实验目的 1.掌握喇叭天线的原理。 2.掌握天线方向图等电参数的意义。 3.掌握天线测试方法。 二、实验原理 1.天线电参数 (1).发射天线电参数: a.方向图:天线的辐射电磁场在固定距离上随空间角坐标分布的图形。 b.方向性系数:在相同辐射功率,相同距离情况下,天线在该方向上的辐射功率密度Smax与无方向性天线在该方向上的辐射功率密度S0之比值。 c.有效长度:在保持该天线最大辐射场强不变的条件下,假设天线上的电流均匀分布时的等效长度。 d.天线效率:表征天线将高频电流或导波能量转换为无线电波能量的有效程度。 e.天线增益:在相同输入功率、相同距离条件下,天线在最大辐射方向上的功率密度Smax与无方向性天线在该方向上的功率密度S0之比值。 f.输入阻抗:天线输入端呈现的阻抗值。 g.极化:天线的极化是指该天线在给定空间方向上远区无线电波的极化。h.频带宽度:天线电参数保持在规定的技术要求范围内的工作频率范围。 (2).接收天线电参数: 除了上述参数以外,接收天线还有一些特有的电参数:等效面积和等效噪声温度。 a.等效面积:天线的极化与来波极化匹配,且负载与天线阻抗共轭匹配的最正确状态下,天线在该方向上所接收的功率与入射电波功率密度之比。 b.等效噪声温度:描述天线向接收机输送噪声功率的参数。 2.喇叭天线 由逐渐张开的波导构成,是一种应用广泛的微波天线。按口径形状可分为矩形喇叭天线与圆形 喇叭天线等。波导终端开口原那么上可构成波导辐射器,由于口径尺寸小,产生的波束过宽; 另外,波导终端尺寸的突变除产生高次模外,反射较大,与波导匹配不良。为改善这种情况,

哈工大-数值分析上机实验报告

實驗報告一 題目:非線性方程求解 摘要:非線性方程の解析解通常很難給出,因此線性方程の數值解法就尤為重要。本實驗採用兩種常見の求解方法二分法和Newton 法及改進のNewton 法。 前言:(目の和意義)掌握二分法與Newton 法の基本原理和應用。 數學原理: 對於一個非線性方程の數值解法很多。在此介紹兩種最常見の方法:二分法和Newton 法。 對於二分法,其數學實質就是說對於給定の待求解の方程f(x),其在[a,b ]上連續,f(a)f(b)<0,且f(x)在[a,b ]內僅有一個實根x *,取區間中點c ,若,則c 恰為其根,否則根據f(a)f(c)<0是否成立判斷根在區間[a,c ]和[c,b ]中の哪一個,從而得出新區間,仍稱為[a,b ]。重複運行計算,直至滿足精度為止。這就是二分法の計算思想。 Newton 法通常預先要給出一個猜測初值x 0,然後根據其迭代公式 ) ()('1k k k k x f x f x x -=+ 產生逼近解x *の迭代數列{x k },這就是Newton 法の思想。當x 0接近x *時收斂很快,但是當x 0選擇不好時,可能會發散,因此初值の選取很重要。另外,若將該迭代公式改進為 ) ()('1k k k k x f x f r x x -=+ 其中r 為要求の方程の根の重數,這就是改進のNewton 法,當求解已知重數の方程の根時,在同種條件下其收斂速度要比Newton 法快の多。 程式設計: 本實驗採用Matlab のM 檔編寫。其中待求解の方程寫成function の方式,如下 function y=f(x); y=-x*x-sin(x); 寫成如上形式即可,下麵給出主程序。 二分法根源程式: clear %%%給定求解區間 b=1.5; a=0; %%%誤差

哈工大 电机学 MATLAB 仿真 实验报告

基于MATLAB的电机学计算机辅助分析与仿真 实验报告 班级: 学号: 姓名: 完成时间:

一、实验内容 1.1单相变压器不同负载性质的相量图 通过MATLAB 画出单相变压器带感性,阻性,容性三种不同性质负载的变压器向量图 1.2感应电机的S T -曲线 通过MATLAB 画出三相感应电动机的转矩转差率曲线 二、实验要求 2.1单相变压器不同负载性质的相量图 根据给定的仿真实例画出负载相位角30,0,302-=j 三种情况下得向量图,观察电压大小与相位的关系,了解总结负载性质不同对向量图的影响 2.2感应电机的S T -曲线 根据给定的实例,画出3.1~3.1-=s 的S T -曲线,了解感应电机临界转差率的大小和稳定工作区间的大小,给出定性分析 三、实验方法 3.1单相变压器不同负载性质的相量图 1.单相变压器不同负载性质的相量图 (1)先画出负载电压'2U 的相量; (2)根据负载的性质和阻抗角画出二次电流(规算值)的相量 (3)在2U 上加上一个与电流方向相同的压降,其大小为二次电流规算值'2I 与二次漏电阻规算值'2R 之积;再加上一个超前电流方向︒90的压降,其大小为二次电流'2I 规算值与二次漏电抗规算值'2χ之积; (4)根据上一步结果连线,得出'2E ; (5)超前'2E 方向︒90画出m Φ; (6)根据励磁电阻与电抗的大小得出励磁阻抗角,并超前m Φ一个励磁阻抗角的大小得出m I 的方向; (7)根据平行四边形法则,做出'2I -与m I 的和,即为1I ; (8)根据'21E E =得出1E ,并得出1E -。

(9)在1E -上加上一个与电流方向相同的压降,其大小为一次电流1I 与一次漏电阻1R 之积;再加上一个超前电流方向︒90的压降,其大小为一次电流1I 与一次漏电抗1χ之积; (10) 根据上一步结果连线,得出1U ; 3.2感应电机的S T -曲线 实验采用matlab 对转矩转差率曲线进行仿真。 由转矩转差率关系公式知, 2212 2122 1)()(x c x s r c r s r U m T s s +++∙Ω= 只有s 为自变量,其他参数均为已知。 编程时,先取s 在0.01-1.3正区间的S T -,进行绘图;再取相应负区间对S T -绘图;最后加入(0,0) 四、实验源程序(1分) 4.1单相变压器不同负载性质的相量图 见附录 4.2感应电机的T-S 曲线 %T-S 曲线绘制 %定义常量 R2 = 0.04; R1 = 0.06; M1 = 3; U1 = 380; W = 2*pi*1485/60; X1 = 0.27; X2 = 0.56; C = 1+X1/16.4; %画出s=0.01~1.3的T-S 曲线 s = 0.01:0.01:1.3; T=ones(1,length(s));

哈工大(威海)c语言实验报告册答案

实验1简单判定性问题求解 一、实验学时 完成本实验需4学时。 二、实验目的 1、阅读程序题 (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法; (2)掌握不同的类型数据之间赋值的规律; (3)掌握数据在内存中的存储方式; (4)学会输入、输出函数的基本格式和使用方法; (5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。 2、编程题 (1)如何运用判定性结构进行程序设计; (2)如何运用判定性结构进行程序设计。 3、调试题 (1)熟悉C程序的编辑、编译、连接和运行的过程。 三、实验指导 为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。 1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。 2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。要注意简单判定性问题的结构选择。 3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。对于初学者来说应该建立良

好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。 四、实验内容 1、阅读程序题 (1)( ) { /*定义字符型变量*/ c12; /*向字符变量赋以整数*/ c1=97; c2=98; (" \n"12); /*以字符形式输出*/ (" \n"12); /*以整数形式输出*/ } 该程序的输出结果是 思考:可否改成 c1,c2;输出结果是?相同 (2)() { 75; ("\n"); } 思考:若将语句中变为,可否输出分式的值?可以 (3)() { 9; ; /*包含复合的赋值运算符的赋值表达式*/

哈工大编译原理习题及答案

1.1何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间可能有何种关系? 1.2一个典型的编译系统通常由哪些部分组成?各部分的主要功能是什么? 1.3选择一种你所熟悉的程序设计语言,试列出此语言中的全部关键字,并通过上机使用该语言以判明这些关键字是否为保留字。 1.4选取一种你所熟悉的语言,试对它进行分析,以找出此语言中的括号、关键字END以及逗号有多少种不同的用途。 1.5试用你常用的一种高级语言编写一短小的程序,上机进行编译和运行,记录下操作步骤和输出信息,如果可能,请卸出中间代码和目标代码。 第一章习题解答 1.解:源程序是指以某种程序设计语言所编写的程序。目标程序是指编译程序(或解释程序)将 源程序处理加工而得的另一种语言(目标语言)的程序。翻译程序是将某种语言翻译成另一种语言的程序的统称。编译程序与解释程序均为翻译程序,但二者工作方法不同。解释程序的特点是并不先将高级语言程序全部翻译成机器代码,而是每读入一条高级语言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再读入下一条语句继续进行解释、执行,如此反复。即边解释边执行,翻译所得的指令序列并不保存。编译程序的特点是先将高级语言程序翻译成机器语言程序,将其保存到指定的空间中,在用户需要时再执行之。即先翻译、后执行。 2.解:一般说来,编译程序主要由词法分析程序、语法分析程序、语义分析程序、中间代码生成 程序、代码优化程序、目标代码生成程序、信息表管理程序、错误检查处理程序组成。 3.解:C语言的关键字有:auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while。上述关键字在C语言中均为保留字。 4.解:C语言中括号有三种:{},[],()。其中,{}用于语句括号;[]用于数组;()用于函数(定 义与调用)及表达式运算(改变运算顺序)。C语言中无END关键字。逗号在C语言中被视为分隔符和运算符,作为优先级最低的运算符,运算结果为逗号表达式最右侧子表达式的值(如:(a,b,c,d)的值为d)。 5.略 第二章前后文无关文法和语言 21设有字母表A1={a,b,…,z},A2={0,1,…,9},试回答下列问题: (1) 字母表A1上长度为2的符号串有多少个? (2) 集合A1A2含有多少个元素? (3) 列出集合A1 (A1∪A2)*中的全部长度不大于3的符号串。 22试分别构造产生下列语言的文法。 (1) {anbn|n≥0};

相关主题
文本预览
相关文档 最新文档