musicList.xml
<?xml version="1.0" encoding="utf-8"?> <musicList> <root label="音乐地区分类"> <root label="内地音乐" id="depart"></root> <root label="港台音乐" id="user"></root> <root label="韩国音乐" id="perm"></root> <root label="欧美音乐" id="role"></root> </root> <root label="音乐类型分类"> <root label="流行音乐" id="getService"></root> <root label="古典音乐" id="serviceMonitor"></root> <root label="摇滚音乐" id="serverInspect"></root> </root> <root label="音乐心情分类"> <root label="快乐" id="VisitLog"></root> <root label="激情" id="SafeLog"></root> <root label="寂静" id="MonitorLog"></root> <root label="浪漫" id="OnlineLog"></root> <root label="悲伤" id="AlarmLog"></root> </root> </musicList>
.mxml文件
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" initialize="init()" > <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.http.HTTPService; [Bindable] public var xmlListColl:XMLList=new XMLList(); [Bindable]public var userXmlListColl:ArrayCollection; function init(){ getMenuList(); } public function getMenuList():void { var configService:HTTPService = new HTTPService(); configService.url = "musicList.xml"; configService.resultFormat = "xml"; configService.addEventListener(ResultEvent.RESULT, configResult); configService.addEventListener(FaultEvent.FAULT, configFault); configService.send(); } private function configFault(event:mx.rpc.events.FaultEvent):void { Alert.show("加载菜单树异常"); } private function configResult(event:ResultEvent):void { try { var configXML:XML = new XML(event.result.toString()); departTree.dataProvider=configXML; // beginAlarm(); }catch(error:Error){ } } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <mx:Tree x="9" y="8" horizontalScrollPolicy="on" width="180" height="100%" id="departTree" labelField="@label" useRollOver="true" textAlign="left" chromeColor="#F7F6F6" contentBackgroundColor="#F7F6F6" rollOverColor="#DBDEDA" selectionColor="#BBEEFB" color="#000000" showRoot="false" > </mx:Tree> </s:Application>
相关推荐
根据提供的文件信息,本文将对“Flex Tree 源码”进行详细解析,重点解读如何通过 Flex、Java 和 Tree 代码结合 XMLList 来生成 XML 文件,并构建树形数据结构。 ### 一、理解 Flex、Java 和 Tree 代码 #### 1.1 ...
6. 将这个自定义类的全限定名赋值给Tree组件的`itemRenderer`属性。 标签“Flex 树 tree 线条”进一步强调了这个主题关注的是Flex中的Tree组件,以及与线条相关的自定义渲染。 至于压缩包中的文件“Flex Tree 加...
2. **语法分析**:根据语言的上下文无关文法(Context-Free Grammar, CFG)进行解析,构建抽象语法树(Abstract Syntax Tree, AST)。对于赋值语句,这可能涉及到一个非终结符(例如,ASSIGN)和对应的规则,如 `...
接着,bison是一款语法分析器生成器,它根据用户定义的上下文无关文法(Context-Free Grammar, CFG)规则,对词法分析器提供的词法单元进行组合,形成抽象语法树(Abstract Syntax Tree, AST)。在我们的案例中,...
- **基本组件使用**:树 (`Tree`)、数据网格 (`DataGrid`)、标题窗口 (`TitleWindow`)、视图堆栈 (`ViewStack`)。 - **读写XML**:使用 `XML` 类进行读取和写入操作。 - **读写ShareObject**:用于持久化数据,即使...
根据给定文件的信息,我们可以总结出一系列与Flex和ActionScript 3(AS3)相关的知识点。下面的内容将针对每一个问题进行详细的解答。 ### Flex及AS3基础知识 #### 1. AS3语言中,Array里面是不是可以放不同类型?...
2. **Bison(语法分析器)**:Bison用于生成语法分析器,它根据上下文无关文法(Context-Free Grammar, CFG)解析token流并构建抽象语法树(Abstract Syntax Tree, AST)。`calc.y`文件定义了计算器的语法规则,如...
- **Tree and rtl**:GCC使用两种主要的数据结构来表示程序:树结构(tree)和寄存器传输语言(rtl)。树结构用于表示中间语言,而rtl用于生成最终的目标代码。 #### 5. Installing the GCC 安装GCC通常包括下载...
如果数据是静态的,也可以在初始化时直接赋值给`root`属性。 5. **监听事件**:EXTJS提供多种事件监听,如`itemclick`、`beforeload`、`load`等,可用于处理用户交互和数据加载的逻辑。 6. **调试与测试**:确保你...
实验可能涉及到编写词法分析器(例如用Flex工具)、语法分析器(如Bison或ANTLR)和中间代码生成器,也可能涉及到调试和优化编译器输出的中间代码。 在Windows2.4这个压缩包文件中,可能包含了实验相关的资源,如源...
这通常通过解析树(parse tree)或者抽象语法树(Abstract Syntax Tree, AST)来完成。 4. **上下文无关文法(Context-Free Grammar, CFG)**:PL 0语言的语法规则可以用上下文无关文法表示。例如,一个简单的PL 0...
- **二元式展示**:在词法分析器(通常使用lex或flex工具生成)中,我们可以通过在每个识别到的符号后的动作中添加输出语句,如`printf`,来展示词法单元及其类型。这有助于调试和理解词法分析器的工作过程。 - **...
在实际开发中,这两个步骤常常与解析器(Parser Generator)工具如ANTLR、Flex和Bison结合使用,这些工具能自动生成词法分析器和语法分析器的代码,简化编译器的构建工作。 此外,了解编译原理对于优化代码性能、...
接着,语法分析(也称为解析)处理标记流,根据语言的上下文无关文法(Context-Free Grammar, CFG)构建抽象语法树(Abstract Syntax Tree, AST)。这个过程涉及将标记序列转换为结构化表示,以验证代码是否符合语言...
在这个实验中,你需要构建一个语法分析器,它能够理解PL/0语言的语法规则,比如声明、赋值、条件语句和循环语句等。Bison或者Flex工具可以帮助你生成相应的解析器代码,但理解语法规则和如何生成解析树是至关重要的...
LLVM的核心是中间表示(IR,Intermediate Representation),这是一种静态单赋值形式(SSA,Static Single Assignment Form)的中间代码,适用于各种优化操作。LLVM IR允许我们独立于目标架构进行编译和优化,为实现...
例如,在C语言中,“int”是关键字,“main”是标识符,“=”是赋值运算符。这些标记随后被作为输入传递给语法分析器。 接着,我们讨论**语法分析**。语法分析器,也叫解析器,负责检查标记序列是否符合编程语言的...
例如,在C++中,"int"是关键字,"main"是标识符,"="是赋值运算符。 2. **语法分析(Syntax Analysis)**: 语法分析阶段处理词法分析生成的词素流,检查它们是否符合编程语言的语法规则。这一阶段通常使用上下文...
语法分析完成后,生成的是抽象语法树(Abstract Syntax Tree, AST),它是源代码的结构化表示。这个树形结构方便后续的语义分析和代码生成。 解释执行(Interpreted Execution)阶段,顾名思义,是不生成目标代码...
4. **语法分析**:设计语法分析器,解析标记流,构建抽象语法树(AS Tree)。 5. **语义分析**:检查程序是否符合语言规则,进行类型检查等。 6. **代码生成**:将抽象语法树转换为目标代码(C代码)。 7. **代码优化**...