亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? resourcestatement.java

?? 外國(guó)人寫的c#語(yǔ)法解析器
?? JAVA
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
      }

      while (node != null)
      {
        convertMenuItem(node, menuItemElement);
        node = node.getNextSibling();
      }
    }
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts a "messagetable" entry to XML.
   * 
   * @param sourceNode The node containing the AST data to convert.
   * @param resourceElement The entry to which the new nodes must be added.
   */
  private void convertMessageTableEntry(AST sourceNode, Element resourceElement)
  {
    resourceElement.setAttribute("type", "message-table");

    AST currentNode = sourceNode.getFirstChild();
    if (currentNode != null)
    {
      String filename = currentNode.getText();
      if (filename.startsWith("\""))
        filename = filename.substring(1, filename.length());
      resourceElement.setAttribute("file-name", filename);
    }    
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts a named resource entry (dialog, user defined data etc.) to XML.
   * 
   * @param target The XML node where to add the new content to.
   */
  private void convertNamedResourceEntry(Element target)
  {
    Element resourceElement = new Element("named-resource");
    target.addContent(resourceElement);

    AST resourceNode = getAstNode();
    if (resourceNode != null)
    {
      AST idNode = resourceNode.getFirstChild();
      if (idNode != null)
      {
        resourceElement.setAttribute("name", idNode.getText());
        
        AST resourceEntry = idNode.getNextSibling();
        if (resourceEntry != null)
        {
          Integer resourceType = (Integer) resourceMap.get(resourceEntry.getText().toLowerCase());
          if (resourceType == null)
            reportError("Unrecognized resource type: \"" + resourceEntry.getText() + "\".");
          else
          {
            AST entry = idNode.getNextSibling();
            if (entry != null)
            {
              switch (resourceType.intValue())
              {
                case RCParserTokenTypes.LITERAL_accelerators:
                {
                  convertAcceleratorsEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_bitmap:
                {
                  convertBitmapEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_cursor:
                {
                  convertCursorEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_dialog:
                {
                  convertDialogEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_dialogex:
                {
                  convertDialogExEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_font:
                {
                  convertFontEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_icon:
                {
                  convertIconEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_menu:
                {
                  convertMenuEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_menuex:
                {
                  convertMenuExEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_messagetable:
                {
                  convertMessageTableEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_rcdata:
                {
                  convertRCDataEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_versioninfo:
                {
                  convertVersionInfoEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_textinclude:
                {
                  convertTextincludeEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_designinfo:
                {
                  convertDesignInfoEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_toolbar:
                {
                  convertToolbarEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.LITERAL_dlginit:
                {
                  convertDlgInitEntry(entry, resourceElement);
                  break;
                }
                case RCParserTokenTypes.USER_DEFINED:
                {
                  convertUserDefinedEntry(entry, resourceElement);
                  break;
                }
              }
            }
          }
        }
      }
    }
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts a pragma code_page entry to XML.
   * 
   * @param target The XML node where to add the new content to.
   */
  private void convertPragmaEntry(Element target)
  {
    Element codepageElement = new Element("codepage");
    target.addContent(codepageElement);

    AST codepageNode = getAstNode().getFirstChild();
    if (codepageNode != null)
    {
      AST valueNode = codepageNode.getNextSibling();
      if (valueNode != null)
      {
        String codepageValue = valueNode.getText();
        if (!codepageValue.equalsIgnoreCase("default"))
        {  
          Object value = evaluate(codepageValue, valueNode.getLine(), valueNode.getColumn());
          if (value == null)
            reportError("Could not evaluate \"" + codepageValue + "\".");
          else
            codepageElement.setAttribute("value", ((Integer) value).toString());
        }
        else
          codepageElement.setAttribute("value", "default");
      }
    }
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts raw resource data to XML. Each entry can be either an integer or a string of data,
   * separated by comma.
   * Note: We are converting MSVC resource files here but Borland does uses the same rc format and 
   *       added (at least) one special feature not supported by MS. With BRCC you can specify a 
   *       list of hex numbers enclosed by single quotes. The parser is made to handled that and
   *       we simply pass the data along here.
   * 
   * @param node The node containing the raw data.
   * @param element The XML element to add the new nodes to.
   */
  private void convertRawDataToXML(AST node, Element element)
  {
    AST currentNode = node.getFirstChild();
    while (currentNode != null)
    {
      Element dataElement = new Element("entry");
      element.addContent(dataElement);
      dataElement.setAttribute("value", convertToString(currentNode.getText()));
      
      currentNode = currentNode.getNextSibling();
    }
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts a "rcdata" entry to XML.
   * 
   * @param sourceNode The node containing the AST data to convert.
   * @param resourceElement The entry to which the new nodes must be added.
   */
  private void convertRCDataEntry(AST sourceNode, Element resourceElement)
  {
    resourceElement.setAttribute("type", "rcdata");

    AST currentNode = sourceNode.getFirstChild();
    if (currentNode != null)
    {
      if (currentNode.getType() == RCParserTokenTypes.RESOURCE_ATTRIBUTES)
      {
        convertResourceAttributes(resourceElement, currentNode);
        currentNode = currentNode.getNextSibling();
      }
      
      // Optional common resource info part.
      if (currentNode != null)
      {
        while (currentNode.getType() == RCParserTokenTypes.COMMON_RESOURCE_INFO)
        {
          convertCommonResourceInfo(currentNode, resourceElement);
          currentNode = currentNode.getNextSibling();
        }
      }

      if (currentNode != null)
      {
        if (currentNode.getType() == RCParserTokenTypes.FILE_NAME)
        {
          String filename = currentNode.getFirstChild().getText();
          if (filename.startsWith("\""))
            filename = filename.substring(1, filename.length() - 1);
          resourceElement.setAttribute("file-name", filename);
        }
        else
        {
          // Must be raw data, e.g. single literals (string, character, integer etc.) or
          // a collection of hex numbers enclosed by single quotes.
          convertRawDataToXML(currentNode, resourceElement);
        }
      }
    }    
  }

  //------------------------------------------------------------------------------------------------

  /**
   * Converts resource attributes to XML.
   * 
   * @param element The XML element to add the new nodes to.
   * @param node The AST node to convert.
   */
  private void convertResourceAttributes(Element element, AST node)
  {
    Element attributesELement = new Element("resource-attributes");
    element.setContent(attributesELement);
    
    AST currentNode = node.getFirstChild();
    while (currentNode != null)
    {
      Element attributeElement = new Element("attribute");
      attributeElement.setAttribute("value", currentNode.getText());
      attributesELement.addContent(attributeElement);
      
      currentNode = currentNode.getNextSibling();
    }
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts a string table to XML.
   * 
   * @param target The XML node where to add the new content to.
   */
  private void convertStringTableEntry(Element target)
  {
    AST stringTableNode = getAstNode();

    Element stringTableElement = new Element("string-table");
    target.addContent(stringTableElement);

    // Check if there is are (optional) resource attributes.
    AST currentNode = stringTableNode.getFirstChild();
    if (currentNode.getType() == RCParserTokenTypes.RESOURCE_ATTRIBUTES)
    {
      convertResourceAttributes(stringTableElement, currentNode);
      currentNode = currentNode.getNextSibling();
    }
    
    while (currentNode != null)
    {
      AST symbolNode = currentNode.getFirstChild();

      Element entryElement = processEntryWithEvaluation(symbolNode, "string-entry", stringTableElement);
      
      AST valueNode = symbolNode.getNextSibling();
      String value = valueNode.getText();
      if (value.startsWith("\""))
        value = value.substring(1, value.length() - 1);
      entryElement.setAttribute("line", value);
      
      currentNode = currentNode.getNextSibling();
    }
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts a "textinclude" entry to XML. Not sure if this info is at all relevant for
   * converters and external tools, but it's there for completeness.
   * 
   * @param sourceNode The node containing the AST data to convert.
   * @param resourceElement The entry to which the new nodes must be added.
   */
  private void convertTextincludeEntry(AST sourceNode, Element resourceElement)
  {
    resourceElement.setAttribute("type", "text-include");
    
    AST currentNode = sourceNode.getFirstChild();
    if (currentNode != null)
    {
      if (currentNode.getType() == RCParserTokenTypes.RESOURCE_ATTRIBUTES)
      {
        convertResourceAttributes(resourceElement, currentNode);
        currentNode = currentNode.getNextSibling();
      }
    }    
    
    // Textinclude entries are just strings, simple to parse.
    while (currentNode != null)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www一区二区| 日韩女优毛片在线| 日韩黄色在线观看| 欧美国产1区2区| 在线观看视频欧美| 国产精品视频一区二区三区不卡| 成人午夜电影网站| 亚洲午夜一二三区视频| 久久久久久久国产精品影院| 色综合天天综合在线视频| 悠悠色在线精品| 欧美高清在线一区| 欧美顶级少妇做爰| 91麻豆精品视频| 激情文学综合网| 3d动漫精品啪啪1区2区免费| 韩国av一区二区三区在线观看| 亚洲精品日韩一| 国产日本一区二区| 日韩亚洲欧美在线| 国产成人综合亚洲91猫咪| 蜜桃精品视频在线观看| 亚洲欧美电影院| 久久精品亚洲国产奇米99| 欧美男生操女生| 欧美系列一区二区| 国产精品66部| 日韩一区精品视频| 亚洲免费观看高清完整| 国产情人综合久久777777| 精品国产精品一区二区夜夜嗨| 在线免费观看不卡av| 欧美一区二区三区免费大片| 国产成人久久精品77777最新版本| 日韩精品电影在线观看| 亚洲午夜久久久| 亚洲国产精品av| 国产精品色眯眯| 精品免费日韩av| 91精品国产91综合久久蜜臀| 色欧美片视频在线观看 | 91丨porny丨蝌蚪视频| 极品美女销魂一区二区三区| 奇米色777欧美一区二区| 亚洲一区二区在线视频| 国产三级一区二区三区| 日韩手机在线导航| 欧美一区永久视频免费观看| 777精品伊人久久久久大香线蕉| 99riav久久精品riav| 色综合天天做天天爱| 9人人澡人人爽人人精品| 麻豆国产精品一区二区三区| 美女视频黄a大片欧美| 三级久久三级久久久| 青青青爽久久午夜综合久久午夜| 午夜精品久久久久久久99水蜜桃| 国产精品久线在线观看| 国产精品久久免费看| 欧美国产1区2区| 亚洲欧洲日韩一区二区三区| 国产精品视频一二三区| 国产精品久久久久久久久果冻传媒| 国产日韩欧美精品一区| 久久亚洲欧美国产精品乐播| 欧美精品一区二区精品网| 久久先锋资源网| 国产日韩欧美a| 亚洲精品欧美专区| 天天色天天操综合| 国产盗摄一区二区| 成a人片国产精品| 波多野结衣中文一区| 欧美性猛交xxxx黑人交| 欧美三级日本三级少妇99| 欧美va亚洲va| 国产欧美日韩三区| 亚洲在线成人精品| 麻豆精品在线播放| 亚洲日本在线天堂| 日韩精品国产欧美| 亚洲成人在线免费| 国产精品888| 欧美国产一区二区| 一区二区三区日韩| 日韩欧美中文字幕一区| 26uuuu精品一区二区| 自拍av一区二区三区| 亚洲成人www| 国内外成人在线| 欧美私模裸体表演在线观看| 51久久夜色精品国产麻豆| 国产精品私房写真福利视频| 奇米四色…亚洲| 在线观看视频一区二区| 日韩精品一区二区三区三区免费 | 一区二区在线观看视频| 亚洲成人资源在线| 99视频精品在线| 欧美剧情片在线观看| 国产精品久久久久久久久快鸭| 午夜精品一区二区三区免费视频 | 亚洲麻豆国产自偷在线| 另类综合日韩欧美亚洲| av午夜一区麻豆| 欧美吻胸吃奶大尺度电影| 国产精品系列在线| 日韩高清一级片| 在线观看欧美精品| 久久久久久久久伊人| 国产精品美女久久久久aⅴ | 欧美性色黄大片手机版| 国产视频一区二区在线观看| 亚洲自拍与偷拍| 99re6这里只有精品视频在线观看| 在线综合+亚洲+欧美中文字幕| 中文字幕亚洲一区二区va在线| 免费看精品久久片| 欧美日韩亚洲综合一区| 国产日韩欧美麻豆| 国产一区二区三区在线观看免费| 色狠狠综合天天综合综合| 国产日韩欧美亚洲| 精品午夜久久福利影院| 91麻豆国产在线观看| 国产精品成人一区二区三区夜夜夜| 男男gaygay亚洲| 91精品国产综合久久久久| 亚洲一线二线三线视频| 色吊一区二区三区| 中文字幕一区二区三区在线不卡| 国产不卡视频在线观看| 精品久久国产97色综合| 蓝色福利精品导航| 欧美精品一二三| 亚洲午夜久久久久久久久久久 | 午夜精品久久久久久久蜜桃app| 国产suv一区二区三区88区| 26uuu亚洲综合色| 美女一区二区在线观看| 精品三级在线观看| 日韩激情视频网站| 欧美一卡2卡三卡4卡5免费| 亚洲.国产.中文慕字在线| 丰满亚洲少妇av| 国产亚洲成年网址在线观看| 婷婷丁香激情综合| 日韩小视频在线观看专区| 调教+趴+乳夹+国产+精品| 日韩一区二区视频| 奇米一区二区三区| 国产欧美日韩激情| 国产精品羞羞答答xxdd| 国产精品视频一区二区三区不卡| 风流少妇一区二区| 亚洲欧美日韩久久精品| 色婷婷av一区二区三区软件 | 久久五月婷婷丁香社区| 极品少妇xxxx偷拍精品少妇| 国产午夜亚洲精品午夜鲁丝片| 国产伦精一区二区三区| 精品成人在线观看| 国产91精品露脸国语对白| 日韩精品一区二区三区蜜臀| 国产毛片精品国产一区二区三区| 91精品久久久久久蜜臀| 国产美女精品在线| 国产精品成人一区二区艾草 | 色综合久久久网| 亚洲国产日产av| 在线观看成人免费视频| 免费成人在线视频观看| 精品国产成人在线影院| av成人免费在线| 亚洲自拍与偷拍| 2017欧美狠狠色| 99视频精品全部免费在线| 偷拍日韩校园综合在线| 欧美成人精品1314www| 日韩欧美不卡在线观看视频| 久久99精品久久久久久动态图 | 中文字幕日本乱码精品影院| 91网站最新网址| 青青青伊人色综合久久| 中文字幕成人av| 欧美精品自拍偷拍动漫精品| 国产麻豆视频一区| 夜夜揉揉日日人人青青一国产精品| 91精品国产丝袜白色高跟鞋| 国产精品影音先锋| 一区二区欧美视频| 久久久久久久久久美女| 一道本成人在线| 免费成人美女在线观看.| 中文字幕av一区二区三区| 4438成人网| 99久久精品国产导航| 五月天亚洲精品| 国产精品久99| 日韩美一区二区三区|