Dom*_*nic 8 php xml compiler-construction parsing computer-science
嘿.我正在上一门名为"编程语言原理"的课程,我需要决定今年夏天要做的项目.以下是项目需要完成的简短版本:
"项目的本质是语言处理.编写Scheme/Lisp处理器是这种类型的项目.像C或Pascal这样的语言的编译器也是这种类型的潜在项目.一些过去的学生已完成与数据库相关的项目另一个可能的项目可能与模式匹配和操作XML有关.Lisp,Pascal和C通常会导致最直接的项目."
我对Web技术很感兴趣,并且对PHP,MySql,JavaScript等有一些经验,我想做一些面向Web的事情,但是我很难想出任何想法.我也希望这是一个有价值的项目,可能有一些意义,而不是像在课堂上做其他人一样.
有任何想法吗?谢谢!
编辑:我真的很喜欢Latex到XHTML/MathML翻译器的想法,我把这个想法传递给了我的导师,他在其中写道:
"我认为这个想法很有意思,我的问题(以及你的问题)是否合适.
我认为LateX是一种低级标记语言.我想知道将它转换为XHTML或MathML是否真的是级别和复杂性的变化.我想你可以通过更多的讨论和一些例子来说明你的观点.您可能还会想到一些其他标记结构,这使得描述方程更容易."
关于如何说服他这一点的任何想法都可能是合适的,或者这个想法的任何扩展都可以用于我的项目目标?
感谢到目前为止的所有回复!
嗯,整洁!也许:
1.基于Web的语言解释器.例如,javascript中的一个非常简单的汇编解释器,或者基于PHP的C解释器(PHP脚本读取C代码,并以某种沙盒方式执行它.显然它只能实现C的一小部分语言)
2.也许是一种将PHP数据结构(如PHP数组)转换为SQL查询的自动化方法,反之亦然.这种东西已经完成了,但你可以做一些事情(例如)接受SQL查询并创建"保持"SQL返回的信息所需的数组数据结构.它可以支持复杂的事情,如JOINS和GROUP BYs.
3.也许是一个C-to-PHP编译器?(或者是PHP-to-C编译器,能够本地运行简单的PHP代码.将它与任何语言组合使用)
编辑:
4.也许是一个正则表达式到C的解析器.也就是说,需要一个正则表达式,并生成C代码来匹配该模式.或者采用正则表达式的东西,并将其转换为表示该表达式的"数学"翻译的FSM.或者相反 - 为CFL采用FSM并为其生成perl语法正则表达式.
5.也许是XML-to-PHP/MySQL解析器.例如,XML文件可能包含有关数据库和字段的信息,然后您的程序会创建SQL来创建这些表,或者创建表单的HTML/PHP代码.
祝你好运!