F2

Python 之父的解析器系列之四:可视化 PEG 解析

对着背影说爱祢 提交于 2019-11-28 18:45:02
原题 | Visualizing PEG Parsing 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫(“Python猫”公众号作者) 声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议。为便于阅读,内容略有改动。 上周我展示了一个简单的 PEG 解析器生成器。本周我将展示生成的解析器在解析程序时实际执行的操作。我深入研究了 ASCII 艺术的复古世界,特别是一个名为“curses”的库,它可以在 Linux 和 Mac 的 Python 标准库中找到,也可以作为 Windows 的附加组件。 【这是我的 PEG 系列的第 4 部分。见 第1部分 , 第2部分 , 第3部分 , 第5部分 】(译注:对应的译文, 第1篇 、 第2篇 、 第3篇 、第5篇待译 ) 让我们来看看可视化已取得的进展。截图里的屏幕被分隔为三个部分,分别是简单的 ASCII 字符,以及用连字符划出的线: 上部分显示了解析器的调用堆栈,你可能还记得它是一个具有无限回溯的递归下降解析器。我将在下面解释如何阅读它。 中间的单行部分展示了标记符缓冲区的内容,光标指向下一个要解析的标记符。 在底部,我们呈现 packrat 解析算法使用的记忆缓存。它的条目类似于一些解析器堆栈条目(具有结果的条目)。 阅读此图表时,要注意的主要事项是

EOS cleos set contract 部署智能合约

旧街凉风 提交于 2019-11-27 12:45:18
部署智能合约 命令格式: $cleos set contract ../${contract}.wast ../${contract}.abi or $cleos set contract ../${contract} 要将合约上传到区块链,你必须先持有一个帐户和一个持有该帐户的钱包。其次,你需要你的合约文件(.wast)和它的abi(.abi)。然后你可以继续设置代码。 $ cleos set contract currency ../../../contracts/currency/currency.wast ../../../contracts/currency/currency.abi Reading WAST... Assembling WASM... Publishing contract... { "transaction_id": "9990306e13f630a9c5436a5a0b6fb8fe2c7f3da2f342b4898a39c4a2c17dcdb3", "processed": { "refBlockNum": 1208, "refBlockPrefix": 3058534156, "expiration": "2017-08-24T18:29:52", "scope": [ "currency", "eos" ], "signatures": [],

EOS cleos ABI transfer 推送操作

流过昼夜 提交于 2019-11-27 12:45:02
推送操作 根据合约ABI,消息应该是合约。 例如,货币合约的ABI被构造如下。 $ cleos get code -a currency.abi currency code hash: 9b9db1a7940503a88535517049e64467a6e8f4e9e03af15e9968ec89dd794975 saving abi to currency.abi $ cat currency.abi { "types": [{ "newTypeName": "AccountName", "type": "Name" } ], "structs": [{ "name": "transfer", "base": "", "fields": { "from": "AccountName", "to": "AccountName", "amount": "UInt64" } },{ "name": "account", "base": "", "fields": { "account": "Name", "balance": "UInt64" } } ], "actions": [{ "action": "transfer", "type": "transfer" } ], "tables": [{ "table": "account", "indextype": "i64",

中国传统颜色

亡梦爱人 提交于 2019-11-27 00:02:47
颜色名称 十六进制 红 绿 蓝 色相 饱和度 亮度 蔚蓝 #70f3ff 112 243 255 185° 100.0% 71.96% 蓝 #44cef6 68 206 246 193° 90.82% 61.57% 碧蓝 #3eede7 62 237 231 178° 82.94% 58.63% 石青 #1685a9 22 133 169 195° 76.96% 37.45% 靛青 #177cb0 23 124 176 200° 76.88% 39.02% 靛蓝 #065279 6 82 121 200° 90.55% 24.9% 花青 #003472 0 52 114 213° 100.0% 22.35% 宝蓝 #4b5cc4 75 92 196 232° 50.63% 53.14% 蓝灰色 #a1afc9 161 175 201 219° 27.03% 70.98% 藏青 #2e4e7e 46 78 126 216° 46.51% 33.73% 藏蓝 #3b2e7e 59 46 126 250° 46.51% 33.73% 黛 #4a4266 74 66 102 253° 21.43% 32.94% 黛绿 #426666 66 102 102 180° 21.43% 32.94% 黛蓝 #425066 66 80 102 217° 21.43% 32.94% 黛紫

简单ALV得演示

烂漫一生 提交于 2019-11-26 12:38:59
一、 ALV 相关概念 ALV――ABAP LIST VIEWER,这里我们姑且称之为ABAP表单浏览器,用它可以标准化,简单化R/3系统中的表单,它可以提供给用户一个统一的表单格式以及用户接口。 二、程序的编写 1 .写一个 ALV 程序的基本流程: 第一步:定义将要用到的表,即TALBES定义部分,然后定义TYPE-POOLS: SLIS. 第二步:定义 第一步 中提到的这些数据类型或者内表的实体对象 ,内表结构 第三步:定义一些需要用到的变量 第四步: 定义自己的选择屏幕 第五步: start-of-selection部分 1用一个子函数完成自己所需要数据的抓取,也可以直接取数 2用一个子函数完成要显示列表的列名行(第一行)的相关赋值(i_fieldcat_alv)以及设置 3用一个子函数完成输出格式的设置(i_layout),比如双击一条记录是否弹出对话框啊?是用哪个功能键触发等等 4用一个子函数FORM DISPLAY_DATA来显示上面我们已经分别封装好的数据,需要调用两个常用的FUNCTION MODULE: FUNCTION 'REUSE_ALV_GRID_DISPLAY' “用来显示表单数据 FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' “用来显示表单标题 5定义某些事件 6定义排序 7定义ALV报表可编辑及更新数据库表 2

Linux装Windows系统,萌新必备攻略

落花浮王杯 提交于 2019-11-25 22:38:18
     现如今电脑越来越普及,几乎人手一台电脑,但依然有很多人不知道怎么为荣耀MagicBook电脑重装系统。电脑出现问题,还要去电脑店花钱找人帮忙重装系统。其实电脑重装系统非常简单,借助U盘就能轻松重装系统。那么下面我就以Linux装Windows系统为例,教小伙伴们荣耀笔记本电脑怎么重装系统。   安装Win10系统前需要注意的一点是,如果不安装网卡驱动和Wi-fi驱动可能会发生上不了网的情况,我建议大家可以去B站搜索一下这个视频,下面的评论有win10安装包和驱动。当安装了Wi-Fi驱动和华为电脑管家后,就可以正常使用电脑了。      首先,我们需要在一台可以正常开机的电脑上使用软件MediaCreationTool,将Windows 10系统写入U盘,然后使用U盘为我们的荣耀笔记本电脑进行Win10系统重装。1、插入U盘,打开软件选择“为另一台电脑创建安装介质(U盘、DVD或ISO文件)”,随后选择语言和、版本和体系结构。笔者建议小伙伴们选择安装Windows 10家庭版,如果有喜欢企业版或者专业版的也可以尝试哦。      2、需要使用的介质选择“U盘”      3、开始下载系统写入U盘,并且会自动将U盘设置为启动硬盘。这时,安装系统的U盘已制作完成。      4、接下来是U盘安装最重要的步骤之一,在BIOS设置中将U盘设置为第一启动盘