小探正则
转载注:http://www.52php.cn/article/p-hdtuzgal-cm.html SubLime Text 2中的正则测试: 获取包信息 获取取import信息 获取private/protected/public合并写法 获取方法信息 获取类信息 获取嵌入类信息 测试采样数据: package nParticleSys.sadfas.asdasdf.fdas.asdf {
import flash.display.Bitmap;
import flash.geom.Matrix;
import starling.utils.Util;
/** * [description] * @author Jave.Lin * @date 2016-7-20 * */
public class Particle extends ExtCls implements IT1,IT2,IT3 {
private static var _pool:Array = [];
public static function getPs():Particle {
var result:Particle;
if (_pool.length > 0)
{
result = _pool.pop();
}
else
{
result = new Particle();
}
return result;
}
public static function recyclePs(ps:Particle):void {
_pool.push(ps);
}
public static function init(ps:Particle):void {
ps.x = ps.y = 0;
ps.angle = 0;
ps.scale = 1;
ps.alpha = 1;
ps.vx = ps.vy = 0;
ps.angleV = 0;
ps.scaleV = 0;
ps.alphaV = 0;
ps.elapsedTime = 0;
ps.totalTime = 1;
ps.transform = new Matrix();
ps.enabled = true;
}
public var x:Number,y:Number;
public var angle:Number;
public var scale:Number;
public var alpha:Number;
public var vx:Number,vy:Number;
public var angleV:Number;
public var scaleV:Number;
public var alphaV:Number;
public var elapsedTime:Number;
public var totalTime:Number;
public var texture:Bitmap;
public var transform:Matrix;
public var enabled:Boolean;
public function applyTransform():void {
transform.identity();
if (texture)
{
if (texture.bitmapData)
{
transform.translate(texture.bitmapData.width * -0.5,texture.bitmapData.height * -0.5);
}
transform.scale(scale,scale);
transform.rotate(angle);
transform.translate(x,y);
texture.transform.matrix = transform;
texture.alpha = Util.clamp(alpha,0,1);
}
}
public function recycle():void {
elapsedTime = 0;
totalTime = 0;
enabled = false;
transform = null;
if (texture)
{
if (texture.parent)
{
texture.parent.removeChild(texture);
}
texture.bitmapData = null;
texture = null;
}
}
}
}
class Name {
}
距离写语法分析还有很长距离; <?P<groupName1>
然后在正则中的引用 <?P=groupName1>
但在别的一些语言中,对正则的封装使用可能就不一样了。 如:在as3中,就没有别名组匹配 ==================== 然后今天搜索:编译原理相关内容,发现语法解析使用一个类似:Scaner的东西,逐字符扫描处理; 最后描述出来的是一个树结构的结果:叫语法树 在描述的过程中就可以得出语法异常; 如果能成功返回语法树对象,说明已成功编译完成; 要作的就是将:语法树,转为对应执行平台需要的指令集即可; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |