String manipulation is a concept beneath NLP's general term, which refers to the process of changing or modifying strings, in order to manipulate data or text and reach the required format.
- Rearranging white spaces
- Positioning punctuation marks
- Removing duplicated words
- Correcting spelling and grammar rules
- Finding substrings & concatenating strings
What we are trying to do here is creating a command line interface -Text Editor- which also has the ability to perform some string manipulation techniques
STRINGIFY is a String manipulation program that we developed in 8086 assembly language to perform some common text manipulation processes.
STRINGIFY program consists of main.asm file where we reference and include all other files and functions and we also have four files more which are :
-
ui.inc ------->>The main file used for rendering the program, also includes rendering related functions such as function implement delay.
-
caps.inc ---->>Includes functions to capitalize the beginning of the sentence and be sure that the rest of the sentence litters is lowercase.
-
spaces.inc -->>Includes functions to remove extra white spaces and also add white space after common punctuation marks.
-
dups.inc ---->>Includes functions to remove successive duplicates words.
-
files.inc ---->>Includes functions to handle and deal with files.
Program Flow-chart |
---|
- File handling (Data Reading and Writing to and from Files directly)
- Make the first character in the sentence capitalized and make the rest of the letters small
- Remove extra white spaces and add spaces after punctuation marks
- Remove successive duplicate words
- Implementing spelling Corrections and grammar rules validation
- Add more text processing capabilities
- Fix the limitation of 256B size
Note: STRINGIFY program has an input data size limitation of 256 bytes which means that the data processed by the program can't be more than 256 character or we will face an overflow exception if size exceeds the limitation
Correct capitalization rules | Remove & add white spaces |
---|---|
Remove successive duplicate words | Execute all operations together |
---|---|
1- Clone the project
git clone https://github.com/MohamadSalamaMouse/STRINGIFY
2- Go to the project directory
cd STRINGIFY
3- Run the main.asm using any 8086 assembler. Note: Turbo Assembler is preferred cause we built project using it.
To get more information we uploaded a demo video for more explanation, which you can access by pressing Here
Project done under supervision of Prof. @Sara El-Metwally by:
- @Mohamad Salama Mousa | section 8
- @Ahmed Mohsen Awad | Section 1
- @Mohamed Abo El-Seoud | Section 8