编译原理课设词法分析器, AJAX 与 php, C++程序交互

2016-10-06 16:26:52 +08:00
 netcan

用 C++写的词法分析器, php 通过管道方式与 C++程序交互, AJAX 取数据,

demo :http://115.159.147.250:666/Lexical/

项目地址:https://github.com/netcan/compilingTheory

效果图:

3091 次点击
所在节点    分享创造
22 条回复
vincixu
2016-10-06 18:03:48 +08:00
c++打个 dll 做个 php 的库感觉比 exe 优雅
Betsy
2016-10-06 18:48:32 +08:00
netcan
2016-10-06 19:09:51 +08:00
@Betsy 嘛,不能解析字符串的。。。只能无符号数常量,运算符,关键字,标记符。。。
netcan
2016-10-06 19:10:28 +08:00
@vincixu 想做扩展的,看了下资料头就大了。。。
Betsy
2016-10-06 19:16:02 +08:00
@netcan 呃,好吧。可以考虑解析下字符串呗...
netcan
2016-10-06 19:50:06 +08:00
@Betsy 嗯,会的,现在自习。。😏
skydiver
2016-10-06 21:24:58 +08:00
@vincixu 这不符合 unix 哲学
hxtheone
2016-10-06 21:27:47 +08:00
看上去很不错哈

我前段时间用 Golang 写了个小解释器, 同求 star, http://yrel.xhu.me/
vincixu
2016-10-06 22:40:40 +08:00
@skydiver Unix 有哲学?……
netcan
2016-10-06 22:41:52 +08:00
@Betsy 可以解析字符串了。
Betsy
2016-10-06 22:46:07 +08:00
@netcan 好吧,速度挺快啊。貌似第一行的第一个字符前面有若干空格,或者第一行不写任何东西,直接回车若干行,会导致后面的代码不能解析。而且对于注释表示深深的无力感,不能解析。。。
netcan
2016-10-06 22:47:39 +08:00
@hxtheone 你的看上去很漂亮。。但是解析器,语法器都是用第三方的 lex, yacc 实现的吧。。。
netcan
2016-10-06 22:48:17 +08:00
@hxtheone 借用一下 lexer 的样式。。。
netcan
2016-10-06 22:58:06 +08:00
@Betsy 注释不打算弄了,第一个问题已经解决。。
hxtheone
2016-10-06 23:59:40 +08:00
@netcan lexer 正则搞的, parser 就是 yacc, 没有耐心手写 LR 了 = =
netcan
2016-10-07 00:00:16 +08:00
@hxtheone 据说 LR 更加难写了。。。
netcan
2016-10-07 00:00:31 +08:00
@hxtheone LR 比 LL(1)难写。。
hxtheone
2016-10-07 00:04:05 +08:00
@netcan 本科上编译原理的时候写过 LR, 照搬龙书上的函数都写了三天, 现在是真没这个耐心了...
netcan
2016-10-07 00:08:07 +08:00
@hxtheone 😂没买龙书,估计难写了。。我们上一届就一个写得出 LR 。。。
hxtheone
2016-10-07 00:18:10 +08:00
@netcan 手边没有龙书还是老老实实上 yacc 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/310839

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX