MEV - Software Development PartnerMEV - Software Development Partner
HealthcareLife Science
Services
Services
Software Application Support & MaintenanceSoftware Product DevelopmentStaff Augmentation and POD TeamsTechnology Consulting
Discover All
Solutions
Solutions
Legacy Software Repair ServiceInnovation Lab as a ServiceDigital TransformationM&A Technical Due DiligenceProduct Development AccelerationSoftware Health Check Service
Discover All
PortfolioBlogCareer
Contact UsContact Us
Contact UsContact Us
MEV logoMEV logo white
Contact Us
Contact Us
Healthcare
Life Science
Services
Discover All
Software Application Support & MaintenanceSoftware Product DevelopmentStaff Augmentation and POD TeamsTechnology Consulting
Solutions
Discover All
Legacy Software Repair ServiceInnovation Lab as a ServiceDigital TransformationM&A Technical Due DiligenceProduct Development AccelerationSoftware Health Check Service
Portfolio
Blog
Career
Back to Blog
March 12, 2024

Transforming Textual Data into Real Estate Visualizations

...
...
Share:

We can use ANTLR beyond building an individual query language. In our next use case, we use it to transform textual data into plans and visualizations for real estate.

The Goal: Visualize Textual Data from Government Institutions

Our task was to create visualizations of real estate planning based on textual data from government institutions. Here’s what we were able to achieve by leveraging ANTLR4.

Visualize Textual Data from Government Institutions

In the left column, we have input data: seemingly unclear textual data describing real estate planning in government institutions at first glance. In simple terms, these textual data define the direction of a line, which ultimately reflects comprehensive planning.

In the right column, we have transformed the input data into a real estate visualization, considering all the necessary parameters.

The Solution: Decoding Textual Data

To develop our visualization, we first must decode the textual data. We begin with the following input data: CU14R2U17R20D17R2D14L24A1CR20X14A2R10D14CR10X4H.

If we break the input into separate parts, which can be considered as rooms, they would look like this:

  • Room A: “CU14R2U17R20D17R2D14L24”
  • Room B: “CR20X14”
  • Room C: “AR10D14CR10X4”

Understanding the symbolic language is crucial for the effective interpretation and transformation of textual data. 

  • The symbols “U” - up, “D” - down, “L” - left, and “R” - right represent the direction of the line's movement, and the number following them indicates its length.
  • The symbol “C” identifies the starting point for drawing figures that will constitute a part of the building.
  • The symbol “A” indicates that the next figures, until the “C” symbol is encountered, will be connected to the position from which the drawing should begin.
  • The symbol “X” is an identifier for a rectangle with the dimensions of two opposite sides, with conditionally specified dimensions of 10 and 4.

After defining each rule, we decided to use a visitor pattern, overriding methods corresponding to each grammar rule. After processing by the visitors, we obtain a structure of objects. The parser class transforms textual data input into a list of objects representing shapes that will later be drawn.

Revisiting Our Example

So, we have the input data “CU14R2U17R20D17R2D14L24A1CR20X14A2R10D14CR10X4H” and need to transform it into a list of objects that can be visualized later. Let’s consider Room A: “CU14R2U17R20D17R2D14L24”.

After defining each room’s paths, the final stage is to convert the obtained list of lines with lengths and directions for visualization into [x, y] coordinates of the start and end of each line, considering that each room (Path) should be drawn from the zero point. 

After that, choose a suitable graphics framework, such as Java AWT or a more modern Java FX, to draw the coordinates obtained, adding fill color for each room and displaying the length of each side additionally. The resulting canvas can be exported to the image format of your choice (.png, .jpg, etc.).

Using ANTLR, with its grammar and symbol recognition rules, we deciphered unreadable text into understandable shapes and lines representing a real estate plan. It's essential to emphasize that understanding the symbolic language used in the original text data is crucial for effectively transforming information. 

Creating a grammar and rules that reflect the real nature of the data allowed us to interpret their essence accurately. Essentially, we transformed textual data into real estate plans and visualized them, providing a clear and convenient form for perception.

Additional ANTLR4 Capabilities

You can use ANTLR4 for various tasks depending on your project goals. Some uses of ANTLR4 include:

  • Programming language development: Creating grammars and parsers for programming languages. You can define the syntax of a language and generate a parser to transform code written in that language into a structured tree or AST.
  • Parsing and processing structured text: Parsing configuration files, data formats, query languages, etc. You can define a grammar for this text and generate a parser for parsing and further processing.
  • Language tool development: Creating language tools such as syntax-highlighting editors, autocompletion, error checking, etc. Using ANTLR4, you can analyze input code and provide users with useful features during editing.
  • Code generation for different programming languages: Defining a grammar that describes source code and generating a parser that parses this code and generates equivalent code in the target language.
  • Validation of structured data: Defining a grammar for this data and generating a parser that validates compliance with your code's rules.

Our solution-oriented team can lend practical expertise to help you achieve your goals with tools like ATNLR. Reach out today to learn more about our software product development solutions.

Roman Romanenko
Senior Software Engineer at MEV
Software development company

Related Articles

April 29, 2025

Building Faster with No-Code: A Real-World Prototype Delivered in Four Days

All
All
AI
This is some text inside of a div block.
Development Tools
This is some text inside of a div block.
April 22, 2025

Dealmaking Returns to Healthcare—With New Rules

All
All
M&A
This is some text inside of a div block.
Technical Due Diligence
This is some text inside of a div block.
April 9, 2025

Tools and Platforms that Facilitate M&A Due Diligence

All
All
Technical Due Diligence
This is some text inside of a div block.
M&A
This is some text inside of a div block.
Read more articles
Get Your Free Technology DD Checklist
Just share your email to download it for free!
Thank you!
Your free Technology DD checklist is ready for download now.
Open the Сhecklist
Oops! Something went wrong while submitting the form.
MEV company
Contact us
212-933-9921solutions@mev.com
Location
1212 Broadway Plaza, 2nd floor, Walnut Creek, CA
Socials
FacebookInstagramX
Linkedin
Explore
Services
Solutions
PortfolioBlogCareerContactPrivacy Policy
Services
Software Product DevelopmentStaff Augmentation and POD TeamsSupport and MaintenanceTechnology Consulting
Solutions
Innovation Lab as a ServiceDigital TransformationProduct Development AccelerationCustom Solutions DevelopmentM&A Technical Due DiligenceLegacy Software RepairSoftware Health Check Service
Collaboration models
Augmented StaffIntegrated TeamDedicated Team
© 2025 - All Rights Reserved.

We use cookies to bring best personalized experience for you. Check our Privacy Policy to learn more about how we process your personal data

Accept All
Preferences

Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website. More information

Accept all cookies