免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1864 | 回复: 3
打印 上一主题 下一主题

最近在做一个关于网络数据解析的语言,大家有什么好建议 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2007-01-20 23:13 |只看该作者
语义,语法解析器

都有了 还缺什么。

但是网络上过来的数据 还是不太一样。 要记录状态。

自己写了一个 。全手工的。  累, 也不觉得高效

论坛徽章:
0
2 [报告]
发表于 2007-01-20 23:23 |只看该作者
是缺一个语法,光有工具没有用的,找到一个语法的定义,但是要集成c语言(就是<code>部分),觉得不实用
protocol <protoName> {
uses <lowerLayerName>;
transport = { ([TCP|UDP]/ <ort>+ };

// session-local varibales
(<base type> <varName>*

//消息格式
grammar {
        // message-local variables
        (<base type> <varName>*

        // message-parsing rules
        NonTerminal[#maxBytes] ->
        [{<code>}]
        ([<name>:]<type> [{<code>}])+
        ...
}
//协议状态机
state-machine <name> {
        ( (<state>, [IN|OUT|TIMEOUT])) -> <stateHandlerName>+
        inital-state = <stateName>;
        final-state = <stateName>;
};

//从消息里面解析session值
session-identifier(<startNonTerminal> {
        <code>
        return <session ID>;
}

session-identifer(<startNonTermainal> {
        <code>
        return <session ID>;
}
//执行特定的逻辑的代码
handler <name>(<startNonTerminal> {
        //hander-local variables
        (<base type> <varName>*
        (<visitor>*
        <post-parsing code>
        return <nextState>;
}

... //other handlers

};

+--1..n
*--0..n

论坛徽章:
0
3 [报告]
发表于 2007-01-20 23:33 |只看该作者
随便放上网上一个网络协议语言的文档,算是给可能是同行的兄弟一个参考吧

gapaFeb102006.pdf

169.78 KB, 下载次数: 80

gapaFeb102006.pdf

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP