自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 词法分析的前奏:字符分析(十二)字符分类源代码

创建B类字符字典此处只是将B类字符表文件转换为数据结构,数据结构采用的是Python语言中的字典结构,其特性与C++语言中的MAP数据结构有些类似。以下是源代码:# -*- coding: utf-8 -*-"""9月7日 02:30:01 2021@author: 刘京"""import re模板 = re.compile("<(.*)>→(.*)")def 取GB字节数(待求字符): x = 待求字符.encode('GB18030') y = lis

2021-09-21 10:35:40 82

原创 词法分析的前奏:字符分析(十一)字符分类

在前面的字符元素类定义中,字符分类函数一直都是空函数,现在,要回过头把这个坑给填上了。字符分类的设想字符分类的根本目的是为词法分析做准备,是为词法分析服务的。而在类C语言中,单词可分为6类:1、关键字2、标识符3、数字常量4、字符串常量5、操作符(又可称为运算符)6、界符(又可称为分隔符)从表现形式上看,关键字和标识符的形式相近,可以将关键字理解为标识符的一组特例,比如 if 就是关键字,而 sqrt 就是标识符。因此,我将能够构成关键字和标识符的字符定义为A类字符,当然A类字符不仅包

2021-09-21 09:49:47 412

原创 词法分析的前奏:字符分析(十)UTF-8字符分析

UTF-8 字符分析流程图源代码文件输入类定义#文件输入类定义import osclass 文件输入类: # def __init__(self): self.文件名 = "" self.文件大小 = 0 self.读写位置 = 0 self.输出字节值 = 0 def 打开文件(self,输入文件名): self.文件名 = 输入文件名 self.文件

2021-07-26 21:23:35 132

原创 词法分析的前奏:字符分析(九) 源代码部分三

GB18030字符分析源代码字符分析之派生类四字节字符判别器类定义import syssys.path.append("D:\cncc\project\字符分析") #设定自己模块的存储路径from 全局共享 import 共享消息from 全局共享 import 共享行列号from 全局共享 import 字符四元队列from 全局共享 import 输入文件from 字符解析通用框架抽象类定义 import 字符解析通用框架抽象类class 四字节字符判别器类(字符解析通用框架抽

2021-07-10 06:39:06 68

原创 词法分析的前奏:字符分析(八) 源代码部分二

GB18030字符分析源代码字符分析之派生类全局共享文件import syssys.path.append("D:\cncc\project\字符分析") #设定自己模块的存储路径from 文件输入类定义 import 文件输入类 #导入自定义模块from 共享消息与行列号之类定义 import 共享消息类from 共享消息与行列号之类定义 import 共享行列号类from 字符四元队列类定义 import 字符四元队列类共享消息 = 共享消息类()共享行列号 = 共享行列号类()

2021-07-10 06:09:21 45

原创 词法分析的前奏:字符分析(七) 源代码部分一

GB18030 字符分析源代码关于源代码的说明源代码最终还是选择用Python,代码本就是表达思想的工具,哪个工具适合自己就选哪个。当前的GCC编译器只能用英文来表达,而Python却可以使用中文来表达,这样表达起来就毫无障碍,为了偷懒,当然选Python了。各位看官,你们将会看到成片的中文变量名、中文类定义中夹杂着个别英文单词的代码。虽然我对这些英文单词也很不爽,但没办法,希望各位能够适应吧。字符分析之基础类定义文件输入类定义#文件输入类定义import osclass 文件输入类:

2021-07-06 06:10:13 50

原创 词法分析的前奏:字符分析(六) GB18030字符识别流程 第三版

识别国标字符并存入数据结构的流程

2021-07-06 05:28:29 170

原创 词法分析的前奏:字符分析(五)

修订字符元素类定义9个派生类

2021-01-12 06:04:57 110

原创 词法分析的前奏:字符分析(四)

字符分析之类设计(基础部分)1、共享消息:2、共享行列号与识别出的类对象相比,把行列号独立成一个共享类更为合理,因此多出了一个共享行列号类3、字符元素4、字符四元队列5、字符解析通用框架类(抽象类)...

2021-01-10 11:19:04 74

原创 词法分析的前奏:字符分析(三)

字符识别实体对象工作流程图识别的类对象:基础的类对象:1、共享消息;2、字符四元队列;3、字符元素;4、字符元素链表;5、字符解析通用框架类;(抽象类,其工作函数为虚函数)由“字符解析通用框架类”派生的类:6、队列预存器;7、字符判别器;8、字符处理器;9、循环条件判别器;由“字符元素链表”生成的对象实体:A、字符链表;B、垃圾链表;循环机制:由共享消息实现循环的驱动、各逻辑分支的跳转、以及循环的退出等操作。每一个对象实体都有各自不同的启动码,只有当共享消息

2020-12-27 06:18:30 216

原创 词法分析的前奏:字符分析(二)修订

识别国标字符并存入数据结构的流程

2020-12-26 07:34:32 65

原创 词法分析的前奏:字符分析(二)

识别国标字符并存入数据结构的流程

2020-12-13 17:32:24 53

原创 词法分析的前奏:字符分析(一)

概述一般的编译原理教科书,第一步总会论及词法分析,比如“if”是一个词,由2个字符组成,占2个字节;“6.28”也是一个词,由4个字符组成,占4个字节;有心人可能已经发现,在英语体系下,或说在ASCII码标准下,一个字符对应一个字节。但在GB18030标准体系下,一个字符可能占用1个、2个或4个字节,因此,若要实现在GB18030之下的中文编程、藏文编程、朝鲜文编程或维吾尔文编程等功能,就必须在词法分析之前加入一个字符分析的环节,先将字节流按照编码标准分解为一个个可以识别的字符,而后再按照字符的分类属性

2020-07-22 22:47:30 160

原创 我对《软件架构设计》的一次实践

第一篇 缘起     读过温昱所著的《软件架构设计》一书已有一年多的时间了,虽然在书上画满了杠杠,一副颇受启发、颇有心得的样子,可之后还是不知该如何用法。一天凌晨,我又失眠了(唉,因工作性质长年漂泊的后遗症啊),看着熟睡中的儿子,想到昨晚他坐在电脑前如醉如痴地玩着“赛尔号”的样子,不免又为他的学习担起心来。突然,我灵光一闪,我不是喜欢编程吗,我要是能为他

2010-05-19 22:24:00 271 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除