Automatic Syntax Correction for Invalid Token Strings

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Converting code from one programming language to another can be difficult and error-prone, especially for users unfamiliar with the target language, as they may input syntactically incorrect text that conventional environments cannot parse correctly, leading to frustration and resource wastage.

Innovation Solution

A technical computing environment (TCE) with a client device provides feedback and automatic correction of input code, suggesting syntactically correct program code by identifying and replacing invalid token strings, thereby assisting users in writing code in unfamiliar languages and preventing execution of incorrect code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional programming environments are used, then users can write code in their familiar language, but the code may be syntactically incorrect for the target language and cannot be parsed correctly

Engineering Contradiction:
Improveease of code inputVSAvoidsyntax correctness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediary system that includes a parser, tokenizer, and pattern matching engine. This intermediary sits between the user's code input and the target programming language environment, automatically translating and correcting syntax from one language to another while maintaining the user's intent, thus resolving the contradiction between ease of input and syntax correctness

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the parser analyzes input code, identifies syntax errors, and provides suggestions for correction. The pattern matching engine compares the input against known language patterns and returns feedback about what corrections are needed, allowing users to iteratively refine their code until it is syntactically correct for the target language

Inventive Principle:
Principle #23Feedback

2Productivity

If users attempt to execute incorrect code, then they may learn from errors, but computing resources are wasted on failed execution attempts

Engineering Contradiction:
Improvelearning efficiencyVSAvoidcomputing resource wastage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by performing syntax validation and pattern matching before code execution. The system checks code correctness in advance using parsers and pattern engines, identifying and correcting errors before they can waste computational resources during execution, thus preserving both learning opportunities and computing resources

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system skips the wasteful step of executing incorrect code by implementing pre-execution validation. The pattern matching engine rapidly identifies syntax errors and prevents execution of obviously incorrect code, allowing users to quickly move past errors without consuming unnecessary computing resources on doomed execution attempts

Inventive Principle:
Principle #21Skipping (Rushing through)

3Reliability

If automatic correction is implemented, then syntax errors are fixed, but the complexity of the programming environment increases

Engineering Contradiction:
Improvecode correctnessVSAvoidenvironment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the code correction functionality into distinct modular components: a tokenizer that breaks code into tokens, a parser that analyzes syntax, a pattern matching engine that identifies language patterns, and a correction generator that suggests fixes. This segmentation allows each component to be independently developed and maintained, managing complexity while providing comprehensive automatic correction

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9304743B1Converting from incorrect program code to correct program code
Publication Date: 2016.04.05 MATHWORKS INC
  • US9304743B1 patent drawing
  • US9304743B1 patent drawing
  • US9304743B1 patent drawing

AI summary

A device may receive input text via a programming environment associated with a programming language. The device may tokenize the input text to generate tokenized text. The device may identify an invalid token string, based on the tokenized text, that is invalid for the programming language. The device may identify a token category pattern based on the invalid token string. The token category pattern may be a first sequence of token categories. The device may identify a replacement pattern based on the token category pattern. The replacement pattern may be a second sequence of token categories that is different from the first sequence of token categories. The device may identify a replacement token string based on the replacement pattern. The device may determine valid program code, associated with the programming language, based on the replacement token string. The device may provide the valid program code.