`
javamonkey
  • 浏览: 169638 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

前思后想,还是决定开工做EScript

阅读更多
虽然有些忙,但觉得 CommentScriipt想法还是很不错的,决定开工做了

支持的语法现在考虑如下:

/*CS.replace(log.dir=@@kkkkkk@@)*/
//CS:util.smartReeplace(@@kkkkkk@@)
//CS:util.deleteNextLine

//CS:util.delete


//CS:util.end-delete


//CS:com.yourcorp.mergejs(<script src="utp-all.js>)

如有帮手一起来完成,更好啊。可以联系我
分享到:
评论
3 楼 javamonkey 2010-12-05  
再次完善了脚本语法,但离目标还很远,主要是还不熟习antlr,只能看他参考文档慢慢做了。
语法能解析如下输入文本

#CS: delnext
dfdfdfd
#CS: replace a {
dfdfdf
hello c
#CS:}


///////////////////////////////////////////////////////////

grammar T2;
options {backtrack=true;}
txt: (commandLine|contentLine|comment)*;
commandLine
scope {
boolean  isSingleLine;
}
@init{
$commandLine::isSingleLine = true;
}
:  commentChar 'CS:' key (csbegin {$commandLine::isSingleLine=false;System.out.println("mutipleLine found");})? NEWLINE  parasLine  (csend )?  ;
csbegin
: '{';
csend
: commentChar 'CS:}' NEWLINE;
parasLine
: {$commandLine::isSingleLine}?=>singleLine{System.out.println("single line");}
| mutilLine{System.out.println("mutilple line");}
;
singleLine
: contentLine;
mutilLine
: contentLine+;

key
: replace
| 'delnext'
;
replace
: 'replace a'
| 'replace b'
;
contentLine
: STRING NEWLINE;
comment
: commentChar contentLine
;
commentChar
: '#'
| '//'
| '/*'
;
WS  :   (' '|'\t')+ {skip();} ;

STRING
: ('a'..'z')*
;
NEWLINE: ('\r'? '\n')+;


2 楼 javamonkey 2010-11-28  
grammar T2;
txt: (line|others)*;
line :   string NEWLINE others{System.out.println("get Content "+$others.text+"by command "+$string.text);};
string
: '#'  ID
;
others
: ID NEWLINE;
WS  :   (' '|'\t')+ {skip();} ;
ID : ('a'..'z')* ;
NEWLINE: ('\r'? '\n')+;

补充一个原型

对如下文本解析
dfdfdfdfdfdfd
#hello
dfdfdfd
#cccccddfdf
fdfdfdf
1 楼 javamonkey 2010-11-27  
用antlr做,些技术含量。

用antlr定义语言容易,但现在还不能确定是否能用上antlr来定义普通文件,研究中

相关推荐

    小学语文近义词左思右想的近义词

    生活中,我们常常会有左思右想的时候,比如在梦境与现实中做决定的不同,有时候在梦里能轻易做出的选择,在现实中却需要深思熟虑。有时候,我们准备好了要说的话,但关键时刻却难以启齿。我们期待找到一个人,见到他...

    扫雷 (含源码)

    以前看到别人玩“扫雷”时手脚麻利的样子总是羡慕不已,今年暑假,我脑子一热,决定要用Delphi 编出自己的扫雷出来,于是就着手开始构思,想在扫雷里加入一些新增的功能,前思后想,还是觉得不如完全模仿微软操作...

    扫雷 V0.93 (完整代码)

    以前看到别人玩“扫雷”时手脚麻利的样子总是羡慕不已,今年暑假,我脑子一热,决定要用Delphi 编出自己的扫雷出来,于是就着手开始构思,想在扫雷里加入一些新增的功能,前思后想,还是觉得不如完全模仿微软操作...

    三字词语ABB式(1).doc

    如“虎头蛇尾”比喻开始强大,结果弱小,“狐假虎威”表示倚仗他人势力,“守株待兔”批评投机取巧,“龙飞凤舞”形容书法或舞蹈的灵动,“杯弓蛇影”比喻因疑心生恐惧,“画蛇添足”表示做多余的事。动物成语常常...

    北师大版六年级毕业复习资料全.doc

    8. 含反义词的成语,如前赴后继、前思后想,表达对比和转折。 文档还整理了含“千”或“万”的成语,如千言万语、千军万马,以及含方位词的成语,如居高临下、里应外合,这些成语常常用来强调数量巨大或位置关系。...

    长春一年级下语文东西南北PPT学习教案.pptx

    进一步地,教师利用“前后因果”、“前仰后合”、“前思后想”等词语,使孩子们能够理解和掌握前后方向的概念。这样的教学策略不仅帮助孩子们在日常生活中更准确地定位方向,而且在无形中训练了他们的逻辑思维。 在...

    小学语文最全基础知识归类复习与练习题.doc

    “前思后想”的思想是近义词,类似的有“东张西望”、“南腔北调”等。同时,AABC、AABB、ABCC结构的词语如“栩栩如生”、“纷纷扬扬”、“小心翼翼”等。 10. **对应关系**:例如“棉花-棉布”、“面粉-面包”、...

    无答案版 第1单元【知识梳理+检测】.docx

    3. **含有反义词的词语**:天高地阔、大同小异、古往今来、前思后想、惊天动地。 4. **形容霸道的词语**:飞扬跋扈、横行霸道、强词夺理、蛮不讲理。 5. **量词**:一道装饰、一对石狮子、两根旗杆、一株花、一派...

Global site tag (gtag.js) - Google Analytics