XML Representation & Validation of a Context-Free Grammar: xml, XML,cfg, CFG, schema, LL(1),ll(1), compiler, grammar, left-recursive
Book Details
Author(s)Ahmed Shihab AL-Bahri
PublisherAhmed Shihab Ahmed AL-Bahri
ISBN / ASINB00O75K5FE
ISBN-13978B00O75K5F1
MarketplaceFrance 🇫🇷
Description
The growth in computing power and the proliferation of the internet have made XML providing a unifying set of concepts and tools for representation, exchanging, and transforming data and documents (1) (2) (3). The compiler is a traditional basic software system that is indispensable for developing software (4). Context-Free Grammars (CFGs) are the most important type of Chomsky’s classification that relevant in compiler construction (5) (6) (7) .
Tools that handle all CFGs exist, but they can insure a severe speed penalty, which is why most parser generators restrict the class of input grammars. An efficient XML parser generator using compiler technique is an important need to create an XML tools that can handle all CFGs in order to get rid of speed penalty by using it to enhance compiler performance.
XML Is useful in building compiler, if we get an abstract syntax tree in XML, we can build easily new developing tools using existing XML utilities. According to comparison works, the generated XML reader showed faster performance than other libraries when building compilers (4) . The author of (8) in his study presents an externalization extension that adds XML capabilities when construct compilers, which enables to use powerful features and tools.
Firstly, after applying several attempts, we were trying to use XML utilities to work with an ambiguity of CFGs. But to determine whether grammar is an ambiguous or not this is “Undecidable†(9), this makes what we trying to Prove apparently are impossible. Therefore we tried the LL(1) grammar which is specific type of CFGs .
In this thesis we will take the viewpoint of a software engineer as we attempt to create and build global schema for a specific type of CFGs which is LL(1) grammar by using XML structure, its consider specific (mini) compiler for LL(1) grammars and an alternative of XML Schema that can handle all this type of Context-Free Grammars.
By implementing a complicated codes for two theoretical algorithms used in GFGs, first one is to eliminated left-recursive of the grammar and the second is for testing whether its LL(1) grammar or not by collecting several steps as we will see in (chapter 3). As a result, we create a distinct representation and validation of LL(1) grammars through XML format. We describe XML as an internal built into compiler front-ends and its application to quick reverse engineering tool development. Sadly, LL(1) grammar works only for somewhat restricted class of grammars and not work for all Context-Free Grammars.
Tools that handle all CFGs exist, but they can insure a severe speed penalty, which is why most parser generators restrict the class of input grammars. An efficient XML parser generator using compiler technique is an important need to create an XML tools that can handle all CFGs in order to get rid of speed penalty by using it to enhance compiler performance.
XML Is useful in building compiler, if we get an abstract syntax tree in XML, we can build easily new developing tools using existing XML utilities. According to comparison works, the generated XML reader showed faster performance than other libraries when building compilers (4) . The author of (8) in his study presents an externalization extension that adds XML capabilities when construct compilers, which enables to use powerful features and tools.
Firstly, after applying several attempts, we were trying to use XML utilities to work with an ambiguity of CFGs. But to determine whether grammar is an ambiguous or not this is “Undecidable†(9), this makes what we trying to Prove apparently are impossible. Therefore we tried the LL(1) grammar which is specific type of CFGs .
In this thesis we will take the viewpoint of a software engineer as we attempt to create and build global schema for a specific type of CFGs which is LL(1) grammar by using XML structure, its consider specific (mini) compiler for LL(1) grammars and an alternative of XML Schema that can handle all this type of Context-Free Grammars.
By implementing a complicated codes for two theoretical algorithms used in GFGs, first one is to eliminated left-recursive of the grammar and the second is for testing whether its LL(1) grammar or not by collecting several steps as we will see in (chapter 3). As a result, we create a distinct representation and validation of LL(1) grammars through XML format. We describe XML as an internal built into compiler front-ends and its application to quick reverse engineering tool development. Sadly, LL(1) grammar works only for somewhat restricted class of grammars and not work for all Context-Free Grammars.
