Bootstrap

flex入门之词法分析器生成器Flex

flex入门之Flex与Flash的关系
  首先这里想说的是,Flash并非只是一个单纯的矢量动画创作工具,而是一个凭借脚本语言ActionScript在功能和定位上不断演变的网络应用开发工具。早在FlashMX的时候就已经成为macroemdia推广RIA战略的工具。但是毕竟Flash最初的定位是面向美术动画设计师的矢量动画创作工具,并不适合传统的开发人员。于是Flex成为开发者们的首选。
  Flex和Flash都以ActionScript作为其核心编程语言,并被编译成swf文件运行于Flashplayer虚拟机里。因此Flex也继承了Flash在表示层上先天性的美感、除了视觉上的舒适感外,还天生具备方便的矢量图形、动画和媒体处理接口。
  虽然Flex和Flash有众多的相似点,但是不同之处仍然很多:
  1.尽管公用ActionScript,但是使用的库并不完全相同,更合适的说法是两者使用着两套具有极大“功能重叠”范围的库。
  2.Flash偏向的是美术动画设计师人员,所以更容易发挥特效处理的优势,Flex偏向开发人员,所以容易做出具有丰富交互功能的应用程序。
  3.Flash只能以ActionScript脚本的形式开发(舞台被关联到一个称之为documentclass的类里),另外舞台元素也是可以绑定脚本的,不过从软件工程的角度讲不建议这样用,Flex还可以使用称作mxml的标记语言来描述应用的外观和行为,mxml中可以直接嵌入ActionScript脚本。
  4.由于第三点而造成的两者市场定位不同,Flex是面向企业级的网络应用程序,Flash则面向诸如平面动画、广告设计等多媒体展示程序。
  5.借助FlashLite这一移动设备上的Flashplayer,Flash可以开发移动应用,Flex则不行。
  6.Flash的编程模型是基于时间轴的,Flex的则是基于窗体,虽然它运行在网页里。
flex入门之Flex的技术框架
  Flex技术包括以下几个主要技术框架:
  1.描述应用程序界面的XML语言(MXML);
  2.符合ECMA规范的脚本语言(ActionScript),处理用户和系统的事件,构建复杂的数据模型;
  3.一个基础类库;
  4.运行时的即时服务;
  5.由MXML与ActionScript文件生成swf文件的编译器。
flex入门之词法分析器生成器Flex
  Flex(fastlexicalanalysergenerator)是Lex的另一个替代品。它经常和自由软件Bison语法分析器生成器一起使用。Flex最初由VernPaxson于1987年用C语言写成。
  Flex手册里对Flex描述如下:
  “Flex是一个生成扫描器的工具,能够识别文本中的词法模式。Flex读入给定的输入文件,如果没有给定文件名的话,则从标准输入读取,从而获得一个关于需要生成的扫描器的描述。此描述叫做规则,由正则表达式和C代码对组成。Flex的输出是一个C代码文件——lex.yy.c——其中定义了yylex()函数。编译输出文件并且和-lfl库链接生成一个可执行文件。当运行可执行文件的时候,它分析输入文件,为每一个正则表达式寻找匹配。当发现一个匹配时,它执行与此正则表达式相关的C代码。”
  一个相似的,用C++语言的词法分析器生成器是Flex++,包含在Flex软件包里。
  Flex不是GNU工程,但是GNU为Flex写了手册。
;