DEVELOPING A MESSAGE PARSER TO BUILD THE TEST CASE GENERATOR

Similar documents
Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML

Java EE 7: Back-end Server Application Development 4-2

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

The Xlint Project * 1 Motivation. 2 XML Parsing Techniques

The XML Metalanguage

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Introduction to XML. XML: basic elements

SDMX self-learning package XML based technologies used in SDMX-IT TEST

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

COMP9321 Web Application Engineering

XML. Objectives. Duration. Audience. Pre-Requisites

XML Extensible Markup Language

COMP9321 Web Application Engineering

The Extensible Markup Language (XML) and Java technology are natural partners in helping developers exchange data and programs across the Internet.

11. EXTENSIBLE MARKUP LANGUAGE (XML)

XML Parsers. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

Agenda. Summary of Previous Session. XML for Java Developers G Session 6 - Main Theme XML Information Processing (Part II)

Chapter 1: Getting Started. You will learn:

XML: some structural principles

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

XML: Managing with the Java Platform

XML: Extensible Markup Language

M359 Block5 - Lecture12 Eng/ Waleed Omar

Introduction to XML 3/14/12. Introduction to XML

Intro to XML. Borrowed, with author s permission, from:

Chapter 2 XML, XML Schema, XSLT, and XPath

CHAPTER 2 LITERATURE SURVEY 2. FIRST LOOK ON WEB SERVICES Web Services

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

CS6501 IP Unit IV Page 1

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web

Acceleration Techniques for XML Processors

Syntax Analysis. Chapter 4

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id

extensible Markup Language (XML) Basic Concepts

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline

.. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar..

XML. extensible Markup Language. Overview. Overview. Overview XML Components Document Type Definition (DTD) Attributes and Tags An XML schema

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

COMP9321 Web Application Engineering. Extensible Markup Language (XML)

CSE 12 Abstract Syntax Trees

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional

XML for Java Developers G Session 2 - Sub-Topic 1 Beginning XML. Dr. Jean-Claude Franchitti

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1

XML. Jonathan Geisler. April 18, 2008

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year


Lesson 5 Web Service Interface Definition (Part II)

KNSP: A Kweelt - Niagara based Quilt Processor Inside Cocoon over Apache

Data Presentation and Markup Languages

SOAP, WSDL, HTTP, XML, XSD, DTD, UDDI - what the?

XML ELECTRONIC SIGNATURES

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

COMPILER CONSTRUCTION LAB 2 THE SYMBOL TABLE. Tutorial 2 LABS. PHASES OF A COMPILER Source Program. Lab 2 Symbol table

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS

SDMX self-learning package No. 3 Student book. SDMX-ML Messages

SOAP Messages with Attachments

CSCI B522 Lecture 11 Naming and Scope 8 Oct, 2009

Programming Web Services in Java

Chapter 13 XML: Extensible Markup Language

Chapter 10: Understanding the Standards

IT6801-SERVICE ORIENTED ARCHITECTURE

Shankersinh Vaghela Bapu Institue of Technology

We recommend you review this before taking an ActiveVOS course or before you use ActiveVOS Designer.

Programming Languages Third Edition. Chapter 7 Basic Semantics

CSC Web Technologies, Spring Web Data Exchange Formats

XML. Presented by : Guerreiro João Thanh Truong Cong

7.1 Introduction. 7.1 Introduction (continued) - Problem with using SGML: - SGML is a meta-markup language

STARCOUNTER. Technical Overview

Some more XML applications and XML-related standards (XLink, XPointer, XForms)

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

SDPL : XML Basics 2. SDPL : XML Basics 1. SDPL : XML Basics 4. SDPL : XML Basics 3. SDPL : XML Basics 5

What is XML? XML is designed to transport and store data.

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0

XML. Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior

Markup Languages SGML, HTML, XML, XHTML. CS 431 February 13, 2006 Carl Lagoze Cornell University

User Interaction: XML and JSON

Inventions on using LDAP for different purposes- Part-3

Session [2] Information Modeling with XSD and DTD

Architectural Design. Architectural Design. Software Architecture. Architectural Models

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

CS415 Compilers. Syntax Analysis. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

Distributed Multitiered Application

IT6503 WEB PROGRAMMING. Unit-I

Introduction to Parsing

x ide xml Integrated Development Environment Specifications Document 1 Project Description 2 Specifi fications

Data Exchange. Hyper-Text Markup Language. Contents: HTML Sample. HTML Motivation. Cascading Style Sheets (CSS) Problems w/html

Java J Course Outline

XML for Java Developers G Session 3 - Main Theme XML Information Modeling (Part I) Dr. Jean-Claude Franchitti

XML Metadata Standards and Topic Maps

Chapter 7: XML Namespaces

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions

Part VII. Querying XML The XQuery Data Model. Marc H. Scholl (DBIS, Uni KN) XML and Databases Winter 2005/06 153

Introduction to XML. An Example XML Document. The following is a very simple XML document.

1Z Oracle. Java Platform Enterprise Edition 6 Web Services Developer Certified Expert

extensible Markup Language

What do Compilers Produce?

Transcription:

CHAPTER 3 DEVELOPING A MESSAGE PARSER TO BUILD THE TEST CASE GENERATOR 3.1 Introduction In recent times, XML messaging has grabbed the eyes of everyone. The importance of the XML messages with in the application has grown significantly. As a result, different parsing mechanisms to parse the XML messages are in place. Most applications use the XML parsing or the XML Name Space parsing within their applications. One of the main limitations of XML Parser is its performance is low compared to others. The processing performance of XML Parser can be increased by analyzing the memory characteristics of XML parser. One such method is proposed in [55] i.e., by reducing the overheads in garbage collection. As all of us are aware both the parsers have several limitations with respect to performance. In this description, a new approach is mentioned and anticipated to construct a squashed parser which improves the performance and also provides a flexible, model-driven method to parse the XML messages. Proposed parser helps us build a more compact structured tree and optimizes memory utilization for handling the large messages. Parser is like a compiler which is used to parse the XML messages. In general, the two XML parsers DOM &SAX are considered as safe and secured. These parsers perform validation of syntax and schema of XML document. In this description we presented the features of the different XML parsers. Based on limitations of XML parsers described, a new approach is proposed to parse XML messages by squashing the parser (Squashed Parser) to achieve better performance. This squashed parser optimizes memory utilization and generates compact message tree. 49

XML Messaging A message is a group of fields of data sent instantly or received altogether among different applications of software. A message usually has an element-header (which stocks information control about the active message) and an active payload (the real data of the message). To perform some kind of functions, the system of giving different messages helps us to interact with different high-potential systems. This type of communication by sending and receiving message is often called as message oriented communication to execute the said operation, in disparity to a Remote Procedure Call - RPC. For Example an e-mail for web-based applications, the idea of giving messages holds so many attributes of folks sending emails to the persons. David Gulbransen explains about XML messaging in detail in [52]. The process of sending messages be either synchronous which is considered two-way or asynchronous and uses various web-based protocols like HTTP or SMTP. Messaging in terms of SOAP is identified as the XML massaging /RPC standard to allow the passive interchange of information also provides a frame work for XML messaging. SOAP messaging framework This framework says that SOAP messages have an envelope that contains a header and a body. <SOAP_ENV: Envelop XMLs: soap_env = http://schemas, Xml soap.org/soap/envelop/ <soap_env:encoding style=http://schemas.xmlsoap.org/soap/encoding//> <soap_env: header> <soap_env:header> <soap_env:body> <soap_env:body> <soap_env:envelope> In the procedure of SOAP we will identify profound usage of namespaces of XML. For example, the namespace called SOAP_ENV mentioned above denotes theoretical rudiments that are related to its message envelope, optional header and fixed body. SOAP messaging framework is further explained in [53]. 50

Why do we model messages? In general, messages don t have the nature of self-describing. Moreover, an accent model is required to start its parsing process to parse this message bit stream. For example, an active message which is created with the help of a program preferably C is a series of or stream of binary data. Hence, it is pointless, until some probable astuteness is required to understand it. Such validation does require a model in order to identify whether all the messages are correctly structured or not. 3.2 How to parse XML Messages We can use any parser to parse an XML document that contains messages. You should verify your parser s compliance with the XML specification. If you want to build and parse XML messages, you can use a model called DOM often mentioned as Document Object Model, which is a in-house standard of W3C and many languages support the DOM API, which allow you to build and parse XML messages. We need a DOM parser to parse XML from strings into DOM trees. DOM Parser permits you to retrieve any slice of the document frequently and alter the structure of the DOM tree. We can also parse XML with SAX. This parser cannot make by instance any core structure. But it receipts the incidences of elements of an input based document as events, and conveys to the appropriate client about what it want to read. Even though a lot number of XML parsers are obtainable, selecting the appropriate one is a challenging prospect. Actually there are 3 types of interesting parsing techniques of XML which are very much accepted and are utilized for java. An XML parser usually accepts a string which is serialized as a unrefined input and basically conduct collection of operations. Firstly, the verification of XML data is done for syntactical errors and identifying well its well forming nature. It verifies whether the starting tag and ending tag match with each other or not. As we discussed earlier, the 3 parsing techniques of XML are DOM, SAX and StAX [63]. 51

XML name space parsing: XML namespace gives a technique to evade the conflicts of element name. The namespace declaration syntax is: xmlns: def-prefix= URI Example: <h:table xmlns:h=http://www.tanishqgold.org/tr/htm14/> <h:tr> <h?td>oranges</h:td> <hd:td>pomegranets</h:td> </h:tr> </h:table> xmlns: XML declaration example The xmlns parser creates a tree structure that represents an xml declaration. An xml declaration is considered to be a document of XML and contain its version as 1.0 encoding= UTF-8, standalone values as yes. The Figure 3.1 is the tree structure that is created by xmlns parser for this declaration. Xml declaration Value of the version= 1.0 Value of encoding= UTF-8 Value of standalone= yes Figure 3.1: Tree structure Source: http://publib.boulder.ibm.com/infocenter/wmbhelp 52

Performance limitations of XML parsers and xmlns parser 1. In general XML parsing is recognized to have deprived performance characteristics. 2. XML processing needs parsing of xml document, more often CPU interactive 3. The real performance of numerous xml operations is identified by XML parser 4. Performance of a parser normally based on distinctiveness of the document. XML parser often contains backtracking mechanism in it which reduces the performance. A schema specific XML parsing mechanism is proposed in [64] which reduces the space and time required resulting in High performance XML parsing. XMLNSC Parser The XMLNSC parser [54] provides high performance with optional XML Schema validation. In model driven mode XMLNC parser provides extra features to parse XML documents. Enhancements to the XMLNSC domain A new high speed parser was developed by IBM research where the domain of XMLNSC is shifted to use this fresh parser. The name of the parser is IBM s Xerces parser. Analyzing the performance of a parser We do not get good performance by transferring and parsing a huge group of XML files; because usage of XML is memory, CPU and network intensive. We should not create a new parser every time we want to parse; rather we have to reuse the parser instance. A group of reusable parser instances can be used if we have multiple threads to parse The configuration of the parser may affect the parser performance.for example, if we are interested in evaluating the performance of a parser with DTDS we can use DTD configuration. Various types of parsers DOM, SAX and StAX are studied and their operational and performance characteristics are explained in [57]. 3.3 Methodology In this chapter, we mentioned the methodology called Opaque parsing methodology. It is a performance feature that is offered by the XMLNSC domain. When you are designing the message flow certain elements in a particular message were not referenced by the message flow, 53

and then we can say that these elements are parsed opaquely. This procedure can reduce the expenses of doing parsing and abruptly writing these messages and may get better presentation of some parts of the message flow. Even though an opaque element represents a sub tree in the XML document, it has no child elements in the message tree. Parser Parser is treated as set of instructions, usually basic slice of a well-known compiler which takes input in the form of consecutive source program commands, communicating online commands, and markup tags and finally decomposing them into slices which are accomplished by other constituents in compiler. The main hindrance to evolution of parsers is time delay caused due to statistical data collected by lengthy training phases. New techniques are being invented in indexing techniques that reduce the length of training phases. One such technique is explained in [59]. Types of Parsers The parser which uses parsing contains Top-down parsers and bottom-up parsers. Parsing in terms of Top-down has: Recursive descent parser LL parser Early parser Parsing with-respect-to Bottom-up has: Precedence parser Operator precedence parser Simple precedence parser BC parsing i) LR parser [61,62] ii) CYK parser Various types of parsers are explained in detail in [57,58,59,60,61]. 3.4 Scope The scope of the description is to analyze different parsers and identifying how we can get the DST (Domain structure trees), where it is used in XML and also identifying a parser that shows high performance nothing but a Squashed parser. 54

3.5 Advantages and disadvantages of XML parsers and parsers in Java The attitude of the XML parser is to transform an XML document into a DOM object of XML normally be operated with a java script. The difference between DOM and SAX parser can be described in terms of performance. Basically a DOM parser creates a tree structure in the residential memory from the document that contains raw input and sometimes pauses for requests from an authenticated client. In fact a DOM parser continuously assists the client application with the whole document keeping in mind about how much amount is really desirable by the client. It is very easy to use for the programmer, but could be too much overhead for large documents. SAX (Simple API for XML) parser read through document once and creates a stream of events SAX parser assists the application of the client only with parts of the abstract document at any point of time. Disadvantage of SAX is each and every incoming event should be implemented by event handlers. Anyway, we have not mentioned Anagram which is an example for java parser. 3.6 Difference between a DOM parser and SAX parser As mentioned above DOM parser makes a tree structure in the residential memory, but a SAX parser does not make any core structure. Both SAX and DOM parser have their benefits and difficulties and which is well be contingent on the characteristics of your application. SAX parser can get better speed because it serves client with only pieces of data instead of entire document. An API which is tree based resides on a tree structure and thereafter supplies core interfaces on constituents of a tree which is a DOM document such as document interface, node interface, element interface, attar interface and so on. A DOM parser is rich in functionality. Actually there won t be any space when the document is too large. 55

3.7 XML Parsing The XML parser is the processor that reads the XML document and by defining entities we ll get parsed data and unparsed data thereby specifying character data along with mark up. 3.7.1 Parsing Process Moreover, a different lexical analyzer is used by the parser to make tokens in compliance to and from the sequence of input typescript. The parsing is an activity done by a parser to convert a series or stream of tokens from a scanner to a parse tree. And encoding and decoding of strings with HTML type script parameters. The process of parsing converts the given text into a core data structure, normally a tree, which is appropriate for future processing and which arrests the implicit hierarchy in particular and classification of the input. Generally, most of the parsers function in two different stages, first recognizing the expressive tokens in the predefined input, and then constructing a parse tree from the identified tokens. This behavior is shown in Figure 3.2. XML Parser (Processor) XML Document parameters Data parsed Data not parsed Type script Type script data Mark up Figure 3.2: Parsing Process 56

3.7.2 Parsing with DOM DOM parsing depends on a tree-based structure which constructs the whole tree in the residential memory. Normally DOM somewhat looks like a basic structure of tree type and the XML document is treated as the root from this the original DOM trees are formed; and we know that the root element has minimum of one child node, and more often the root maintains these rudiments that keep them within the model code. All the elements which are in the catalogue have child nodes, which can be used as elements. A new technique for data retrieval is presented in [66] which use traditional DOM parsing technique along with cache to speed up the data retrieval resulting in high performance. Creating a DOM tree The program of the DOM initially obtains the original filename of XML and constructs a DOM based tree. It often uses a predefined function called getelementsbytagname ( ) to find all elements of DOM nodes which are used as the elements of the title. It also uses the function getfirstchild ( ) method, if at all there are numerous children. Key Points: 1. Usually the initial child element is kept between the starting and ending tags of an element. 2. The Data Object Model tree usually consumes lot of memory. A new type of DOM parser is explained in [67] which increase the performance by reducing the modeling time. 3.7.3 Parsing with SAX SAX parsing [69] depends on the flow of set of events and it is purely a model which is based on events to process the documents of XML. Despite the fact that it is not an official standard affirmed by consortium W3C, but this has become so popular outline of an API. It constructs the whole tree in order to signify the data and where this parser out streams or outlined a preorder sequence of events during a casual reading of the document. The mentioned set of identified events is moved to the handlers. Event handlers can offer right of entry to the data of the XML document. In fact the following are the 3 types of event handlers: 57

1. DTD handler- often used to access the data. 2. Error handler which is used to access the errors. 3. Content handler often used to access the content. Parallelism is introduced in SAX parser to increase the performance as explained in [68]. 3.7.4 XML Syntax Validation The syntax validation is being conducted or done based on 3 different methods. 1. Plain XML 2. Content based (against schema) 3. Content and value based (data) According to the industry standards, the people who are managing large projects or small projects have two different types of parsing. They are: Instant or abrupt (Immediate) Immediate parsing is all about validating whatever that you see on the screen or display device, Overall or absolute (Complete): Overall or complete is validation of all Childs and nodes. The actual work includes: 1. Starting up by taking WSDL (Web Services Description language) file 2. Parsing checking the correctness of the input messages and syntax validation. 3. Constructing DST (Domain Structured Tree) Then validation is done according to the 3 methods of that we mentioned earlier. Validation against Schema Actually the MRM parser uses the concept of validation cannot adapt precisely to w3c standard of XML schema specification. In fact, the MRM also provides standards-compliant schema validation. If the selection of validation is done then we have to give the suitable name of the message set related to the selection. 58

3.7.5 Java Architecture for XML binding The Figure 3.3 explains marshal where it is the process of creating an XML document from a content tree; and unmarshal is creating a tree of content objects that represents the content and organization of the XML document. Unmarshal is not a DOM tree. XML Schema Bind compiler Classes and interfaces derived by Schema XML document JAXB API Objects of content 3.7.6 XML Parser for java Figure 3.3: Architecture for marshal and unmarshal in java DTD Parsed XML XML Document DOM Parser XSLT Processor Transformed XML document schema XSL Style sheet XML commands parsed Figure 3.4: Giving XML document as input 59

The Figure3.4 talks about giving XML document stringently as an input often to the XML parser for java. The interface of the parser immediately parses the given XML document and the XML which is parsed is moved to the application for future processing. After that the parser contains an integrated processor like XSL Transformation (XSLT) is required for identifying this XML data by using different XSL Style Sheets. With the help of this processor, we can thereafter convert XML document from core XML to core XML or from core XML to core HTML. 3.8 Migrating to Squashed Parser If we are using an XML domain parsing, to have the advantages of standard-compliant XML schema validations, one can use the approach of squashing a parser, which will help us in reducing the usage of the processor. Squashed parser differs from a normal parser in the following way: 1. It constructs/builds a squashed message tree. 2. It uses different field style constants. 3. It casts inline DTD. 3.9 Reasons for Migration If a message uses the XML domain, you have to migrate to squash to take the advantage of the XML schema validations. Moreover, if our message flow uses MRM domain, you might migrate to squash to obtain standard-complaint validation. The messages in this domain are parsed by MRM parser. When it comes to XMLNSC, it offers high performance and also the standardscompliant XML schema validation in a message flow at any point. If our conceptual internet pages are the well-known standards compliant of W3C, we can put forward our so called internet pages for immediate validation of HTML in the link http://validator.w3.org/ which is apt for validation. 60

The standards-compliant has basically two uses: Whether the web site s mark-up is in compliance to the standards given by the w3c for the mark-up languages used may be either HTML or XHTML. With respect to the browser - whether the browser interprets these standards properly. 3.10 Disadvantages of xmlns Parser Message tree is very compact. The opaque parsing is partial means that support from ESQL is only to parse a single element opaquely. There is no ultra high performance. No schema validation. It is not a model-driven parser. And it does not use an XML schema when parsing XML documents. 3.11 Disadvantages of xmlnsc Parser 1. The schema validation is optional. 2. The in-line DTD support is also partial, where DTD s are processed, but discarded. 3. The XML data model compliance is partial. Key Points: In a model driven mode, the XMLNSC parser is guided by the schema of XML, which explains about the original makeup and formation of the message tree. (This can be called logical model). Some body parsers are model-driven which means that they use predefined messages from a message set when parsing and writing a parser. When we use a model-driven parser we have to specify the message set. 3.12 A Squashed Parser A parser which is squashed (a squashed parser) has very good features and also offers best performance features for most of the applications. 61

1. If we want to get a squashed parser; we have to consider the schema validation and even sometimes syntax validation as optional where most of the users are spending their time, money and effort. 2. Microsoft has already defined a parser; it is not required to create a new parser. If we use a schema (with xml/serialized) it simplifies the coding process. Moreover, when compared with DOM parser, a SAX parser or pull parser gives you much better performance. 3. Custom validation is performed when the request document processes from the document queue. 4. In our parser we have considered schema validation as optional. 5. And we know that opaque parsing is a performance feature that is offered by XMLNS domain. If we want to specify that parsing an XML element opaquely, we have to use ESQL CREATE statement with a PARSE clause to parse the XML document. 6. In the case of XMLNS parser if you want to parse a message by using XMLNS domain, select message domain as XMLNS on the appropriate node in the message flow. The SQUASHED parser differs from the traditional parser in the following ways: 1. The parser which is squashed creates a very compact message tree. (Less memory is used when building a tree). 2. It uses different field type constants. 3. It discards inline DTDs 4. The SQUASHED parser uses field types to identify the XML constructs in the message tree. 5. When writing a message tree, the Squashed parser selects namespace prefixes by detecting and using xmlns attributes in the message tree. 3.13 Features of a Squashed Parser If namespace is present, information related to namespace can be used. 1. It supports on-demand parsing which is nothing but partial parsing. 2. It creates a very compact (uses less memory) message tree. 62

3. It supports opaque parsing and gives high performance. The concept of squashed parser is explained in detailed in [73]. 3.14 On-Demand Parsing On-demand parsing [72] is also called partial parsing, where an input message is parsed only when it is necessary that a reference is resolved to a part of its data or content. If within the message flow, there is no referencing of message content (i.e) no message content manipulation is done, then the body of the message is not parsed. The property of parse timing of a node of the message flow controls the on-demand behavior of the parser, instead of immediately parsing the bit stream. We can set the parse timing property to either on-demand (which is by default), Instant or Absolute. 3.15 Conclusion The term parsing always is understood as the division of complex and compound structures into their basic predefined parts, and the basic parsing well-framed technology as the tools, formal methods and the required software to immediately parse XML document without human intervention. It is understood that the concept of parsing is a chief area of research being conducted in the automatic basic processing of human language. In fact, the parsers are used in many areas of different applications. For instance, question and answer sessions, withdrawal of report from text, speech recognition and basic understanding of its details, and machine translation. Brand new expansions in the concept of parsing technology are therefore extensively relevant and applicable. And here we have given an approach how a parser can be squashed to achieve optimum performance. After a long time analysis of parsers and their advantages and disadvantages, it is highly recommended to select a high speed parser so that it works more efficiently like squashed parser. 63