[發明專利]一種生成富文本的方法、裝置、介質和電子設備有效
| 申請號: | 202010322375.5 | 申請日: | 2020-04-22 |
| 公開(公告)號: | CN111539200B | 公開(公告)日: | 2023-08-18 |
| 發明(設計)人: | 劉豐愷 | 申請(專利權)人: | 北京字節跳動網絡技術有限公司 |
| 主分類號: | G06F40/253 | 分類號: | G06F40/253;G06F8/30;G06F8/36;G06F8/41 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司 11315 | 代理人: | 馬瑞 |
| 地址: | 100041 北京市石景山區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 生成 文本 方法 裝置 介質 電子設備 | ||
本公開提供了一種生成富文本的方法、裝置、介質和電子設備。所述方法:包括:在跨平臺框架下,基于預設顯示邏輯從富文本集合中獲取第一富文本;確定所述第一富文本的語法類型;基于所述語法類型獲取對應的語法分析模型;基于所述語法分析模型分析所述第一富文本中的代碼,獲取對應的第一抽象語法樹;基于統一描述語法生成模型分析所述第一抽象語法樹,生成基于統一描述語法撰寫的第二富文本。該方法能夠有效提高跨平臺框架對描述語法的兼容性。
技術領域
本公開涉及計算機技術領域,具體而言,涉及一種生成富文本的方法、裝置、介質和電子設備。
背景技術
目前跨平臺式開發框架憑借其具有的跨平臺性、高保真性和高性能等優點,已經被廣泛適用,跨平臺式開發框架提供豐富的組件、接口,方便開發者能夠開發一套代碼可適用于多種平臺中。
以Flutter框架為例,其是一種開源的移動應用開發框架,基于Flutter框架開發的可運行程序的一套代碼可運行在iOS平臺或Android平臺。
Flutter框架采用Dart語言作為開發語言,Dart語言是一種使用特定Dart?VM虛擬機運行的靜態語言,提供高速的運行前編譯(英文全稱Ahead?Of?Time,簡稱AOT)方案與強調動態性的及時動態編譯(英文全稱just-in-time?compiliation,簡稱JIT)方案。AOT方案程序運行前,直接把源碼文件編譯成本地機器碼的過程。JIT方案在運行時把類文件字節碼編譯成本地機器碼的過程。
目前Flutter框架下的富文本引擎對富文本組件方案支持不足,解耦性功能單一,無法支持其他語音的開發,如此限制了富文本的開發。
發明內容
提供該發明內容部分以便以簡要的形式介紹構思,這些構思將在后面的具體實施方式部分被詳細描述。該發明內容部分并不旨在標識要求保護的技術方案的關鍵特征或必要特征,也不旨在用于限制所要求的保護的技術方案的范圍。
本公開的目的在于提供一種生成富文本的方法、裝置、介質和電子設備,能夠解決上述提到的至少一個技術問題。具體方案如下:
根據本公開的具體實施方式,第一方面,本公開提供一種生成富文本的方法,包括:
在跨平臺框架下,基于預設顯示邏輯從富文本集合中獲取第一富文本;所述富文本集合中包括第一富文本,且所述第一富文本包括基于一種描述語法撰寫的代碼;
確定所述第一富文本的語法類型;
基于所述語法類型獲取對應的語法分析模型;
基于所述語法分析模型分析所述第一富文本中的代碼,獲取對應的第一抽象語法樹;
基于統一描述語法生成模型分析所述第一抽象語法樹,生成基于統一描述語法撰寫的第二富文本;所述統一描述語法包括所述跨平臺框架下富文本引擎支持的語法。
根據本公開的具體實施方式,第二方面,本公開提供一種生成富文本的裝置,包括:
獲取第一富文本單元,用于在跨平臺框架下,基于預設顯示邏輯從富文本集合中獲取第一富文本;所述富文本集合中包括第一富文本,且所述第一富文本包括基于一種描述語法撰寫的代碼;
確定語法類型單元,用于確定所述第一富文本的語法類型;
獲取語法分析模型單元,用于基于所述語法類型獲取對應的語法分析模型;
獲取第一抽象語法樹單元,用于基于所述語法分析模型分析所述第一富文本中的代碼,獲取對應的第一抽象語法樹;
生成第二富文本單元,用于基于統一描述語法生成模型分析所述第一抽象語法樹,生成基于統一描述語法撰寫的第二富文本;所述統一描述語法包括所述跨平臺框架下富文本引擎支持的語法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京字節跳動網絡技術有限公司,未經北京字節跳動網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010322375.5/2.html,轉載請聲明來源鉆瓜專利網。





