TCL:ansic语法的regexp++;声明 我是TCL初学者,尝试编写一个TCL脚本,解析和打印出用于变量声明的C++代码文件中的所有行。到目前为止,我能够检测并打印块{}中的所有语句。现在我明白ANSI C++模块中不同的变量声明格式可以是: int x; int y=9; int x,y; int x,y=0; int x,y=0,c; short const x=9; int* x,y,c=null; short const *x=NULL; MyObj aobj(); MyObj aobj(x,y); Myobj * a = dynamic_cast<A *>(b); String x = "test";

TCL:ansic语法的regexp++;声明 我是TCL初学者,尝试编写一个TCL脚本,解析和打印出用于变量声明的C++代码文件中的所有行。到目前为止,我能够检测并打印块{}中的所有语句。现在我明白ANSI C++模块中不同的变量声明格式可以是: int x; int y=9; int x,y; int x,y=0; int x,y=0,c; short const x=9; int* x,y,c=null; short const *x=NULL; MyObj aobj(); MyObj aobj(x,y); Myobj * a = dynamic_cast<A *>(b); String x = "test";,tcl,Tcl,要通过列表索引中的不同值验证以下格式: qualifier varaiablename = value; qualifier varaiablename; qualifier varaiablename = value, variablename; 但我无法做到这一点。我相信TCL regexp将帮助我们实现这一目标。然而,我无法断定我应该在这里使用什么regexp表达式/code 我希望避免寻找C++定义的数据类型/关键字,但是在字符串中寻找一个特定的格式,它实际上是一个C++语句: qua

要通过列表索引中的不同值验证以下格式:

qualifier varaiablename = value;
qualifier varaiablename;
qualifier varaiablename = value, variablename;
但我无法做到这一点。我相信TCL regexp将帮助我们实现这一目标。然而,我无法断定我应该在这里使用什么regexp表达式/code

<>我希望避免寻找C++定义的数据类型/关键字,但是在字符串中寻找一个特定的格式,它实际上是一个C++语句:

qualifier type name;
qualifier type name, name2;
qualifier type name = value;
或者更确切地说

word word word;
word word word, word;
word word word = integer, word = word;
按照上述声明格式

请提供您宝贵的想法/意见

有一个使用LPEG语法将C/C++文件转换为令牌数组的程序,还有一个将令牌数组打印为 HTML


,一个简单的Tcl解释器到Lua的绑定,可以用来集成它。

最好使用合适的解析器;C++声明的语言是非平凡的…注意没有人阻止你在NeX> INTX中放置换行符代替空间。代码>声明,所以它更复杂。
word word word;
word word word, word;
word word word = integer, word = word;