V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
noli
V2EX  ›  奇思妙想

自动化 serialization 和 parser generator

  •  
  •   noli · 2018-09-20 08:24:32 +08:00 · 1373 次点击
    这是一个创建于 2258 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求:

    在 serialization and deserialization 过程中可以 自动 识别多态对象,包括但不仅限于,子类父类、虚基类、纯虚类,接口等。

    简析

    在 deserialization 中实现自动识别,难度在于,要根据已经有的 对象结构,识别出原来的对象类型。 譬如说,根据一个 int 一个 string 以及所在上下文,识别出这应该是 B 的某个子类 C1 而不是 C2。

    类似于写一个 parser generator 的算法。

    识别串行化后的各种对象结构,相当于从 字符流中提取出 token ( lexer )。
    从对象结构中识别出 对象类型,相当于从 token 流留中提取出语法结构 ( parser )。

    PS

    一开始以为是一个不太难解决的问题,越想约发现不简单。 简单做个记录,看看有没有同好一起研究解决。

    1 条回复    2018-12-09 01:31:21 +08:00
    noli
        1
    noli  
    OP
       2018-12-09 01:31:21 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2573 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:44 · PVG 23:44 · LAX 07:44 · JFK 10:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.