পৃষ্ঠাসমূহ

Search Your Article

CS

 

Welcome to GoogleDG – your one-stop destination for free learning resources, guides, and digital tools.

At GoogleDG, we believe that knowledge should be accessible to everyone. Our mission is to provide readers with valuable ebooks, tutorials, and tech-related content that makes learning easier, faster, and more enjoyable.

What We Offer:

  • 📘 Free & Helpful Ebooks – covering education, technology, self-development, and more.

  • 💻 Step-by-Step Tutorials – practical guides on digital tools, apps, and software.

  • 🌐 Tech Updates & Tips – simplified information to keep you informed in the fast-changing digital world.

  • 🎯 Learning Support – resources designed to support students, professionals, and lifelong learners.

    Latest world News 

     

Our Vision

To create a digital knowledge hub where anyone, from beginners to advanced learners, can find trustworthy resources and grow their skills.

Why Choose Us?

✔ Simple explanations of complex topics
✔ 100% free access to resources
✔ Regularly updated content
✔ A community that values knowledge sharing

We are continuously working to expand our content library and provide readers with the most useful and relevant digital learning materials.

📩 If you’d like to connect, share feedback, or suggest topics, feel free to reach us through the Contact page.

Pageviews

Monday, February 6, 2017

Rexx - Parsing

One of the most powerful features of Rexx is its ability to parse text values. You probably will not see this in any other programming languages.
The general format of the parse statement is as follows −

Syntax

PARSE {UPPER|LOWER|CASELESS} source {template} 
Where,
  • UPPER − The source is converted to upper case before parsing.
  • LOWER − The source is converted to lower case before parsing.
  • CASELESS − When this parameter is passed, the casing is ignored.
  • source − This is the source which needs to be parsed. There are many options available for this and can be any one of the following −
    • ARG − The arguments for the program or procedure can be used as the source.
    • LINEIN − The next line input can be used as the source.
    • SOURCE − The source information of the program can be used as the source.
    • VAR name − The value of a variable name can be used as the source.
  • template − This parameter specifies how to parse the source. There are many options available for this. Some of them are mentioned below.
    • variable name − This is the value assigned to the variable.
    • literal string − A literal string which can be used a pattern to split the strung.
    • # − An absolute character position within the source itself. So if you specify a value of 5, the 5th character will be used.
    • +# − A relative character position within the source itself. So if you specify a value of 5, the 5th character will be used relatively.
Let’s look at a simple example of how parsing can be accomplished in Rexx.

Example

/* Main program */ 
parse value 'This is a Tutorial' with word1 word2 word3 word4 
say "'"word1"'" 
say "'"word2"'" 
say "'"word3"'" 
say "'"word4"'" 
The above program parses the words in the phrase. When a value consists of words that are separated by only one space, and there are no leading or trailing spaces, the value is easy to parse into a known number of words as follows.
The parse function is used in Rexx to take a string value and then break them down into words. In the above example, the words are then split and then stored in the word variables.
The output of the above program would be as follows −
'This' 
'is' 
'a' 
'Tutorial' 
Another example of parsing is shown in the following program. This time we are using a while clause to do the parsing.

Example

/* Main program */ 
phrase = 'This is a Tutorial' 

do while phrase <> '' 
   parse var phrase word phrase 
   say "'"word"'" 
   end 
The above program will give the following output −
'This' 
'is' 
'a' 
'Tutorial' 

Positional Parsing

Rexx also allows one to work with positional parsing. Let’s see an example of how we can achieve positional parsing with the parse statement.

Example

/* Main program */ 
testString = "Doe       John M.   03/03/78  Mumbai              India"; 
parse var testString name1 11 name2 21 birthday 31 town 51 country 
say name1 
say name2 
say birthday 
say town 
say country
From the above example, you can note that along with the variable name, we are also specifying where the string should end. So for name1, we should end by the 11th character and then starting parsing name2.
The output of the above program will be as follows −
Doe 
John M. 
03/03/78 
Mumbai 
India
You can also use relative positional parsing in this case.

Example

/* Main program */ 
testString = "Doe       John M.   03/03/78  Mumbai              India"; 
parse var testString name1 +10 name2 +10 birthday +10 town +20 country 
say name1 
say name2 
say birthday 
say town 
say country
The output of the above program will be as shown below.
Doe 
John M. 
03/03/78 
Mumbai 
India 

No comments:

Post a Comment