- 博客(15)
- 收藏
- 关注
转载 Bid排版算法
说明本文内容参考 The Bidiretional Algorithm本文并不是对The Bidirection Algorithm的翻译,而是将比较常碰到的问题摘录下来。同时从比较简单的例子来说明这个算法是应用的。因此也并没有覆盖里面所讲的每一个细节。同时比较可以借鉴的是我对算法的理解(当然,也有可能因理解的不准确而有偏差)。目前网页的排版基本上分成LTR(从左到右,left-to-right)和RTL(从右到左,right-to-left)。比较多的语言默认的排版是LTR,比较典型的RTL有阿拉伯
2021-12-28 18:12:11
228
转载 文本编辑器中文字断行及排版算法研究
文本编辑器中文字断行及排版算法研究袁永福2013/4/15文本编辑器是一种非常复杂的图形软件,涉及到的很多开发技巧和软件结构都是传统的数据库程序开发中所从未应用的,因此掌握相关技术的人是非常的少的。在其中文字断行及排版算法是编辑器开发中的核心算法之一。如果没有掌握这个算法,那只能在开源软件的基础上小打小闹了。本文就讨论一下编辑器中文档断行及排版算法。文字排版大致分为以下几个步骤:测量各个字符的宽度和高度。[袁永福版权所有]计算文档容器的客户区宽度。比如设置的纸张宽度减去左页边距和右页边距的宽度
2021-12-28 17:41:47
535
原创 如何设计一个开发工具
做一个开发工具主要需要解决两个问题,第一个问题是用户界面,这个是最终的输出,第二个问题是事件监听,这个实际是对用户操作的响应。这个是最终的输入。第一个问题,用户界面的问题,可以分解为用户界面的标准化定义,以及用户界面的标准化渲染,通过设计一个标准化的用户界面解释器,就可以在运行时把界面渲染出来。在这方面,html语言是一个标准化的典范,而浏览器渲染引擎,则承担了标准化界面渲染的工作。我们可以借鉴HTML的实现方式,自己定义一个简化版本的渲染引擎,来实现对自定义界面的渲染工作。第二个问题,事件监听的问题。
2021-09-23 21:49:57
288
原创 2021-05-09
目前smalljava已经有了三个语言的实现版本,分别是java. javascript. andriod.下一步计划搞一个vb. VBA的版本出来。
2021-05-09 20:36:34
90
原创 SmallJava产品说明书(20210417)
SmallJava V2.0产品说明书Author:刘峻松2021-04-17目录1问题的提出1.1 Java简介1.2 特殊应用场景1.3 SmallJava解释器定义2总体设计2.1理论基础2.1.1编译原理简介2.1.2栈式解释器与非栈式解释器2.1.3 SmallJava抽象升级2.2 SmallJava核心设计2.2.1 SmallJava设计方法论(核心内容)2.2.2 控制流和数据流2.2.3 空间和时间(Space and Time)2.2.4 Small
2021-04-17 23:08:28
328
原创 SmallJava V2.0 产品说明书(20210405)
SmallJava V2.0 产品说明书目录1问题的提出 3Java简介 3特殊应用场景 3SmallJava解释器定义 32总体设计 4编译原理简介 4SmallJava核心设计 4SmallJava核心抽象 4时间和空间(Space and Time) 5控制流和数据流 6Block AST与Expression AST 6SmallJava设计总图 7Block设计 7Block元素定义 7Block模型定义 8Block AST Analyse(块AST分析器) 9
2021-04-15 08:46:45
152
原创 今天把通用查询组件正式开源了
准备把通用查询组件开源了,今天晚上再整理整理,发布到github上去。地址为https://lnkd.in/ggr7j8C
2020-12-15 23:03:18
198
原创 smallJava 解释器的早期设计文档
smalljava是一个使用JAVA语言编写的JAVA脚本解释器,目前尚处在雏形阶段。这个文档是早期的一个设计文档,比另一个文档要简单一些,另一个文档相对来说比较详细了。smalljava的源代码可以在github上搜索下载得到。有任何问题,请留言。或者mailto : liujunsong@aliyun.com...
2020-12-10 20:19:15
80
原创 关于文本文件数据库的开发思路
第一步只处理数据查询问题,不涉及修改动作。数据库系统从整体上,分为查询解释器和数据存储两部分。数据存储内容又分为元数据和实际数据两部分。元数据储存考虑采用mysql来进行存储。实际存储考虑采用文本文件格式来进行存储。将实际存储的读取动作抽象为一个数据流,经过文件读取流封装出来,一次读取一行,并根据指定的元数据转换为内部行对象。这个内部的行对象再传入变量表中,利用变量表和经过AST解析的表达式进行逻辑布尔计算,得到where子句的具体结果。通过内部行对象的逻辑运算计算支持where表达式。通过
2020-12-08 23:35:49
386
原创 结构化与非结构化
一点感悟。在数据存储的领域。所谓结构化就是预先需要指定数据的存储具体格式,包括数据类型,长度等等。在存储时和读取是均按照这个格式来执行,是为结构化。rdbms大多是这种形式,但其中的clob blob不在其中。这种方式的特性是存储包括元数据的存储和实际数据的存储两部分,并在执行sql时根据元数据来执行具体功能。而非结构化则是抛弃了元数据这一独立部分,将元数据和物理数据不区分进行存放,混合在一起。形成所谓nosql.这种情况下要直接执行sql由于缺少了元数据,执行起来就很困难,因此需要在外部再外挂一个
2020-12-06 03:43:47
1163
原创 一个云计算调度的解决思路
昨日与朋友探讨,想到了一个做云计算的调度实现思路,不知道具体可行与否,到时候做出来试试看。之前有本《编程之道》,其中有一节讲到,世间万物皆有阴阳,空间和时间就是软件的阴和阳。空间可以比拟为内存与内存中的对象,而时间可以比拟为cpu的计算能力,或者虚拟机中的虚拟cpu计算能力。分布式计算或者集群计算的难点,可以说是如何协调多台服务器的cpu来共享内存和共享对象的问题了。这里可以考虑先采用一个简化的实现方案,任务调度器在发送执行命令给执行器时,同时在共享内存区域创建(可使用redis)出一个指定的变量表
2020-12-04 07:32:29
427
原创 补充一个关于smalljava的说明文档
smalljava解释器代码说明smalljava是一个使用Java语言编写的Java语言解释器,可以以解释的方式来执行Java代码,这是他的详细设计说明文档。由【黄广贵】编写。原始文档是PPT格式,这里贴图来记录一下。、...
2020-12-03 20:19:44
210
1
原创 各公用组件之使用说明之【数据查询组件】【sql解释器】
原文是一个PPT,现在就只好截图贴上去了。这篇文章描述了我自己设计开发的两个基础组件,一个是带有数据权限控制功能的数据查询组件,另一个是自开发的SQL解释器组件。有兴趣的朋友可以联系我一起讨论讨论。email: liujunsong@aliyun.com...
2020-11-27 17:31:11
154
原创 Webdw1.0版本已经整合完毕发布到github上了
今天把原来github上的webdw1.0的几个项目进行了合并,统一合并到了webdw1.0-all这个项目上。github的访问地址:https://github.com/liujunsong68922/webdw1.0-all从技术角度来说,WebDW 是对 DataWindow 技术的升级实现,把 DataWindow 这项技术从局限于 PowerBuilder 语言环境,扩展到了其他开发语言 和运行环境。 DataWindow 是 PowerBuilder 的一项专用技术,PB 利用 D
2020-11-27 16:46:16
408
原创 smallJAVA语言的解释器,已发布到github
**自己写了一个JAVA语言的解释器**最近由于种种机缘,自己动手从零开始写了一个JAVA语言的解释器。在此过程中遇到很多困难,一一解决,一言难尽,待以后再详细写文章来做个记录吧。程序源代码见附件文件。有兴趣深入了解和交流的,私信或留言联系。smalljavav1_1下载...
2020-11-24 22:38:08
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人