Compiler Compiler System Separating Syntax and Semantics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current compiler compiler technologies require manual intervention and complex parsing tree management, falling short of fully automated source code generation from formal descriptions, limiting efficiency and flexibility in compiler development.

Innovation Solution

A compiler compiler system that separates parsing results processing from semantics processing, representing parsing results as entities like Context, Name, Symbol, and Rule, and their relationships, enabling automatic generation of target parsers and compilers across multiple platforms, with a binary format for data exchange and transformation capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If conventional compiler compiler technology is used to generate parsers from grammar specifications, then parsers can be generated automatically, but manual intervention is still required for writing code in terms of parsing trees and attributes, preventing fully automated source code generation

Engineering Contradiction:
Improveautomation of source code generationVSAvoidcomplexity of parsing tree management
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent extracts and eliminates the parsing tree representation from the compiler development process. Instead of requiring developers to write code in terms of parsing trees and attributes, the system directly generates source code from grammar specifications through a template-based approach, removing the intermediate parsing tree management step that caused complexity and prevented full automation

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the compiler generation process into distinct components: grammar specification, parser generation, code generation templates, and source code output. This segmentation allows each component to be independently configured and optimized, enabling fully automated source code generation without requiring manual parsing tree management

Inventive Principle:
Principle #1Segmentation

2Productivity

If parsing results are represented in the form of parsing trees, then the structure is intuitive for traditional compiler development, but manual management of parsing trees is required, reducing efficiency and automation

Engineering Contradiction:
Improveefficiency of compiler developmentVSAvoidease of parsing tree management
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent uses template-based code generation that copies and adapts predefined patterns directly from grammar specifications to source code. Instead of manually managing parsing trees, the system uses templates that automatically generate the necessary code structures, significantly improving both productivity and ease of operation by eliminating manual tree management while maintaining the benefits of structured code generation

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If compiler compilers are designed for specific platforms, then they can provide optimized performance for that platform, but they lack multiplatform compatibility and flexibility

Engineering Contradiction:
Improvemultiplatform compatibilityVSAvoidplatform-specific optimization
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent designs the compiler compiler system with universal templates and grammar specification formats that can target multiple programming languages and platforms. The same core system can generate parsers for different platforms by utilizing platform-specific template variations, achieving multiplatform compatibility without sacrificing reliability through proven template patterns that work across platforms

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8464232B2Compiler compiler system with syntax-controlled runtime and binary application programming interfaces
Publication Date: 2013.06.11 URAKHCHIN ALEKSANDR F
  • US8464232B2 patent drawing
  • US8464232B2 patent drawing
  • US8464232B2 patent drawing

AI summary

A compiler compiler system with a design paradigm different from traditional compiler compiler systems in many aspects. First, instead of parsing tree, compiler compiler runtime and binary are designed according to compiler compiler parsing model. Second, any semantics processing is totally separated from syntax processing. Third, the whole compilation process is defined as syntax processing and semantics processing followed by syntax processing performed under compiler compiler management supervision. Fourth, syntax processing has two phases: building compiler compiler runtime, and converting compiler compiler runtime into compiler compiler binary with available option to convert back compiler compiler binary to compiler compiler runtime. Fifth, compiler compiler runtime and binary syntax-controlled APIs are defined in terms of syntax. Sixth, there are formal methods de-compiling compiler compiler runtime and/or binary into original program text accordingly to syntax. Seventh, compiler compiler runtime and binary with their syntax-controlled APIs serve as a multiplatform for obfuscation, security, binary files processing, and program-to-program communication.