我正在研究一下Python的源代码,我决定将语法中的一些变化付诸实践,所以我下载了3.7版的源代码.
我遵循PEP 0306的指导原则:https:
//www.python.org/dev/peps/pep-0306/
从Hackernoon的例子来看:https://hackernoon.com/modifying-the-python-language-in-7-minutes-b94b0a99ce14
这个想法来自装饰器语法的改进(记住,它只是一个研究的例子,我已经知道还有其他方法可以做同样的事情):
@test
def mydef (self):
pass
Run Code Online (Sandbox Code Playgroud)
它完美地运行,遵循语法/语法文件的行:
decorated: decorators (classdef | funcdef | async_funcdef)
Run Code Online (Sandbox Code Playgroud)
现在的目标是将装饰器更改为接受声明,从示例开始:
@test
id: int = 1
Run Code Online (Sandbox Code Playgroud)
分析语法,我找到了annassign,它将是:
annassign: ':' test ['=' test]
# or even use small_stmt
Run Code Online (Sandbox Code Playgroud)
给定表示id:int = 1的标记,我将标记更改为:
decorated: decorators (classdef | funcdef | async_funcdef | annassign)
Run Code Online (Sandbox Code Playgroud)
完成(遵循PEP 0306)我去了ast.c并确定了ast_for_decorated方法,并得到了一段代码:
[...]
assert(TYPE(CHILD(n, 1)) == funcdef ||
TYPE(CHILD(n, 1)) == async_funcdef ||
TYPE(CHILD(n, 1)) == classdef);
if (TYPE(CHILD(n, 1)) == funcdef) …Run Code Online (Sandbox Code Playgroud) 我正在努力将第三方驱动器添加到正在使用的内核中,但是要获得它的一部分却很困难,我需要一些帮助。
按照驱动器的指南,我在这一点上停止了:
(1)以下是要添加到平台定义文件中的定义。
就我而言,我使用的是bcm2709,我推断平台定义文件是arm / mach-bcm2709 / bcm2709.c,对吗?(1)
(2)平台定义文件中必须包含pn5xx_i2c.h
我推断出我需要添加
#include <linux/pn5xx_i2c.h>
Run Code Online (Sandbox Code Playgroud)
由于我在linux / includes中添加了pn5xx_i2c.h ,对吗?(2)
(3)然后,必须使用专用过程(特定于平台)将已声明的nfc_board_info结构添加到平台。
这我不再知道该怎么办(3)
谢谢
我在 Android 中使用 NFC 开始了我的学习。我可以轻松地以 NDEF 格式读写。
我的问题是MIFARE DESFire EV1,我有一些工厂卡,我知道它们不符合NFC Forum type 4 Tag规范,因此不接受以 NDEF 格式读取或写入(在工厂配置中时) )。
我可以通过android.nfc.tech.NfcA或访问标签android.nfc.tech.IsoDep。
到目前为止,我明白我需要使用IsoDep.transceive()方法来传递命令,使我能够构建符合 NFC 论坛类型 4 的标签。
但是我遇到了很多麻烦。我正在使用 TagWriter,它完美地完成了这项服务。每次我使用 NDEF 数据集时,它都会自动执行一个例程,使卡成为 NFC 论坛类型 4 标签,从而成为 NDEF 标签。
但是,我找不到任何简单的示例来自己执行此过程。即使阅读了规范文档NFCForum-TS-Type-4-Tag_2.0,我仍然很迷茫。
是否有任何实际示例可以执行 TagWriter 应用程序所做的过程?
NfcA/ IsoDep(在这里确定)android.nfc.tech.Ndef这个问题基本上是要研究,没有"为什么?" 或"而不是......"
在Swift 3中,使用.default很常见,举例说明:
UIApplication.shared.statusBarStyle = .default
// from UIStatusBarStyle.default
我在想,怎么样?在我的测试中,我没有成功,我尝试了类似的东西:
class Test {
enum Options {
case light, default // bad world
}
}
谢谢 :)
android ×1
arm ×1
cpython ×1
grammar ×1
linux ×1
linux-kernel ×1
mifare ×1
ndef ×1
nfc ×1
python ×1
python-2.7 ×1
python-3.x ×1
swift ×1
swift3 ×1
tags ×1