pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

  • <i id='hJkdW'><tr id='hJkdW'><dt id='hJkdW'><q id='hJkdW'><span id='hJkdW'><b id='hJkdW'><form id='hJkdW'><ins id='hJkdW'></ins><ul id='hJkdW'></ul><sub id='hJkdW'></sub></form><legend id='hJkdW'></legend><bdo id='hJkdW'><pre id='hJkdW'><center id='hJkdW'></center></pre></bdo></b><th id='hJkdW'></th></span></q></dt></tr></i><div class="ucqscok" id='hJkdW'><tfoot id='hJkdW'></tfoot><dl id='hJkdW'><fieldset id='hJkdW'></fieldset></dl></div>

    1. <small id='hJkdW'></small><noframes id='hJkdW'>

      <tfoot id='hJkdW'></tfoot>

      1. <legend id='hJkdW'><style id='hJkdW'><dir id='hJkdW'><q id='hJkdW'></q></dir></style></legend>
          <bdo id='hJkdW'></bdo><ul id='hJkdW'></ul>

        如何用 C# 編寫解析器?

        How to write a Parser in C#?(如何用 C# 編寫解析器?)
        <legend id='zmyxS'><style id='zmyxS'><dir id='zmyxS'><q id='zmyxS'></q></dir></style></legend>
        • <bdo id='zmyxS'></bdo><ul id='zmyxS'></ul>

          <small id='zmyxS'></small><noframes id='zmyxS'>

          <tfoot id='zmyxS'></tfoot>

              <tbody id='zmyxS'></tbody>
            • <i id='zmyxS'><tr id='zmyxS'><dt id='zmyxS'><q id='zmyxS'><span id='zmyxS'><b id='zmyxS'><form id='zmyxS'><ins id='zmyxS'></ins><ul id='zmyxS'></ul><sub id='zmyxS'></sub></form><legend id='zmyxS'></legend><bdo id='zmyxS'><pre id='zmyxS'><center id='zmyxS'></center></pre></bdo></b><th id='zmyxS'></th></span></q></dt></tr></i><div class="cwco2w0" id='zmyxS'><tfoot id='zmyxS'></tfoot><dl id='zmyxS'><fieldset id='zmyxS'></fieldset></dl></div>
                • 本文介紹了如何用 C# 編寫解析器?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  如何在 C# 中編寫解析器(遞歸下降?)?現在我只想要一個簡單的解析器來解析算術表達式(并讀取變量?).雖然后來我打算寫一個 xml 和 html 解析器(用于學習目的).我這樣做是因為解析器有用的東西范圍很廣:Web 開發、編程語言解釋器、內部工具、游戲引擎、地圖和瓷磚編輯器等.那么編寫解析器的基本理論是什么,我該怎么做在 C# 中實現一個?C# 是解析器的正確語言嗎(我曾經用 C++ 編寫了一個簡單的算術解析器,它很高效.JIT 編譯會證明同樣好嗎?).任何有用的資源和文章.最重要的是,代碼示例(或代碼示例的鏈接).

                  How do I go about writing a Parser (Recursive Descent?) in C#? For now I just want a simple parser that parses arithmetic expressions (and reads variables?). Though later I intend to write an xml and html parser (for learning purposes). I am doing this because of the wide range of stuff in which parsers are useful: Web development, Programming Language Interpreters, Inhouse Tools, Gaming Engines, Map and Tile Editors, etc. So what is the basic theory of writing parsers and how do I implement one in C#? Is C# the right language for parsers (I once wrote a simple arithmetic parser in C++ and it was efficient. Will JIT compilation prove equally good?). Any helpful resources and articles. And best of all, code examples (or links to code examples).

                  注意:出于好奇,回答這個問題的人是否曾經在 C# 中實現過解析器?

                  Note: Out of curiosity, has anyone answering this question ever implemented a parser in C#?

                  推薦答案

                  我已經用 C# 實現了幾個解析器 - 手寫和工具生成.

                  I have implemented several parsers in C# - hand-written and tool generated.

                  一個非常好的一般解析入門教程是讓我們構建一個編譯器 - 它演示了如何構建遞歸下降解析器;對于任何有能力的開發人員,這些概念很容易從他的語言(我認為是 Pascal)翻譯成 C#.這將教您遞歸下降解析器的工作原理,但是手動編寫完整的編程語言解析器是完全不切實際的.

                  A very good introductory tutorial on parsing in general is Let's Build a Compiler - it demonstrates how to build a recursive descent parser; and the concepts are easily translated from his language (I think it was Pascal) to C# for any competent developer. This will teach you how a recursive descent parser works, but it is completely impractical to write a full programming language parser by hand.

                  您應該研究一些工具來為您生成代碼 - 如果您決心編寫 經典遞歸下降解析器 (TinyPG, Coco/R, 諷刺).請記住,現在還有其他編寫解析器的方法,它們通常性能更好 - 并且定義更簡單(例如 TDOP解析或一元解析).

                  You should look into some tools to generate the code for you - if you are determined to write a classical recursive descent parser (TinyPG, Coco/R, Irony). Keep in mind that there are other ways to write parsers now, that usually perform better - and have easier definitions (e.g. TDOP parsing or Monadic Parsing).

                  關于 C# 是否適合這項任務 - C# 有一些最好的文本庫.今天的許多解析器(在其他語言中)都有大量的代碼來處理 Unicode 等.我不會對 JITted 代碼發表太多評論,因為它可能會變得非常虔誠——但是你應該沒問題.IronJS 是 CLR 上的解析器/運行時的一個很好的例子(盡管它是用 F# 編寫的)及其性能略遜于 Google V8.

                  On the topic of whether C# is up for the task - C# has some of the best text libraries out there. A lot of the parsers today (in other languages) have an obscene amount of code to deal with Unicode etc. I won't comment too much on JITted code because it can get quite religious - however you should be just fine. IronJS is a good example of a parser/runtime on the CLR (even though its written in F#) and its performance is just shy of Google V8.

                  旁注:與語言解析器相比,標記解析器是完全不同的野獸——在大多數情況下,它們是手工編寫的——并且在掃描器/解析器級別非常簡單;它們通常不是遞歸下降的——特別是在 XML 的情況下,最好不要編寫遞歸下降解析器(以避免堆棧溢出,并且因為可以在 SAX/推送模式下使用平面"解析器).

                  Side Note: Markup parsers are completely different beasts when compared to language parsers - they are, in the majority of the cases, written by hand - and at the scanner/parser level very simple; they are not usually recursive descent - and especially in the case of XML it is better if you don't write a recursive descent parser (to avoid stack overflows, and because a 'flat' parser can be used in SAX/push mode).

                  這篇關于如何用 C# 編寫解析器?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Ignore whitespace while reading XML(讀取 XML 時忽略空格)
                  XML to LINQ with Checking Null Elements(帶有檢查空元素的 XML 到 LINQ)
                  Reading XML with unclosed tags in C#(在 C# 中讀取帶有未閉合標簽的 XML)
                  Parsing tables, cells with Html agility in C#(在 C# 中使用 Html 敏捷性解析表格、單元格)
                  delete element from xml using LINQ(使用 LINQ 從 xml 中刪除元素)
                  Parse malformed XML(解析格式錯誤的 XML)
                      <tbody id='m7M36'></tbody>

                      <small id='m7M36'></small><noframes id='m7M36'>

                    1. <i id='m7M36'><tr id='m7M36'><dt id='m7M36'><q id='m7M36'><span id='m7M36'><b id='m7M36'><form id='m7M36'><ins id='m7M36'></ins><ul id='m7M36'></ul><sub id='m7M36'></sub></form><legend id='m7M36'></legend><bdo id='m7M36'><pre id='m7M36'><center id='m7M36'></center></pre></bdo></b><th id='m7M36'></th></span></q></dt></tr></i><div class="okqs0aw" id='m7M36'><tfoot id='m7M36'></tfoot><dl id='m7M36'><fieldset id='m7M36'></fieldset></dl></div>
                      <tfoot id='m7M36'></tfoot>

                          <bdo id='m7M36'></bdo><ul id='m7M36'></ul>

                            <legend id='m7M36'><style id='m7M36'><dir id='m7M36'><q id='m7M36'></q></dir></style></legend>
                          • 主站蜘蛛池模板: 广州网站建设_小程序开发_番禺网站建设_佛山网站建设_粤联网络 | 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 美能达分光测色仪_爱色丽分光测色仪-苏州方特电子科技有限公司 | 上海佳武自动化科技有限公司| 江苏远邦专注皮带秤,高精度皮带秤,电子皮带秤研发生产 | 粒米特测控技术(上海)有限公司-测功机_减速机测试台_电机测试台 | 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 上海三信|ph计|酸度计|电导率仪-艾科仪器 | 十字轴_十字轴万向节_十字轴总成-南京万传机械有限公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 水稻烘干机,小麦烘干机,大豆烘干机,玉米烘干机,粮食烘干机_巩义市锦华粮食烘干机械制造有限公司 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | ORP控制器_ORP电极价格-上优泰百科 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 | 自动螺旋上料机厂家价格-斗式提升机定制-螺杆绞龙输送机-杰凯上料机 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 吹塑加工_大型吹塑加工_滚塑代加工-莱力奇吹塑加工有限公司 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 大行程影像测量仪-探针型影像测量仪-增强型影像测量仪|首丰百科 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | NM-02立式吸污机_ZHCS-02软轴刷_二合一吸刷软轴刷-厦门地坤科技有限公司 | 红外光谱仪维修_二手红外光谱仪_红外压片机_红外附件-天津博精仪器 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 无锡网站建设_小程序制作_网站设计公司_无锡网络公司_网站制作 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 下水道疏通_管道疏通_马桶疏通_附近疏通电话- 立刻通 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 涂层测厚仪_漆膜仪_光学透过率仪_十大创新厂家-果欧电子科技公司 | 工业风机_环保空调_冷风机_工厂车间厂房通风降温设备旺成服务平台 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 臭氧灭菌箱-油桶加热箱-原料桶加热融化烘箱-南京腾阳干燥设备厂 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 合肥废气治理设备_安徽除尘设备_工业废气处理设备厂家-盈凯环保 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 磁棒电感生产厂家-电感器厂家-电感定制-贴片功率电感供应商-棒形电感生产厂家-苏州谷景电子有限公司 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 苗木价格-苗木批发-沭阳苗木基地-沭阳花木-长之鸿园林苗木场 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 |