IP Library › Granted Patent US 10,929,106
Granted Patent B1
US 10,929,106 · App. 16/534,105 · Granted Feb 23, 2021

Semantic analyzer with grammatical-number enforcement within a namespace

Inventor: Bharath Sridhar (Cupertino, CA)
Assignee: Zoho Coroporation Private Limited
G06F8/33G06F40/253G06F40/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,929,106
App. No.
16/534,105
Granted
Feb 23, 2021
Kind
B1
Abstract

A software development environment supports grammatical-number enforcement on the names of different data types. The development environment, a computer system that programmers use to create and maintain a computer program, employs a namespace of symbolic names that are unique within a set of expressions available to the program. A type checker ensures that each name identifying an expression in a namespace does not have more than one data type. Thus, for instance, the variable “chair” cannot be both an integer and a character string. A grammatical-number enforcer with access to a dictionary enforces a naming convention within the namespace that groups grammatical-number name variants by data type to reduce type errors and thus speeds up the development environment.

Claims (34)

1. A method of enforcing a naming convention within a namespace of expressions, the method comprising:

receiving a first request to create, in the namespace of expressions, a first expression of a grammatical number and a first data type, the first request including a descriptive name of the first expression and the grammatical number;

adding, responsive to the first request, the first expression of the grammatical number and the first data type to the namespace of expressions;

receiving a second request to create in the namespace of expressions a second expression of a second data type different from the first data type, the second request including a grammatical-number variant of the descriptive name; and

issuing an error message response to the second request.

2. The method of claim 1 , further comprising adding, responsive to the first request, a third expression of a second grammatical number and the first data type to the namespace of expressions, the third expression including the grammatical-number variant of the descriptive name.

3. The method of claim 2 , further comprising adding, responsive to the first request, a fourth expression of the first data type to the namespace of expressions, the fourth expression including a second grammatical-number variant of the descriptive name.

4. The method of claim 1 , wherein the grammatical number is one.

5. The method of claim 1 , wherein the grammatical number is more than one.

6. The method of claim 1 , the first request further comprising a component name of the first expression, the component name of a first component-name data type.

7. The method of claim 6 , further comprising:

receiving a third request to create in the namespace of expressions a third expression with a grammatical-number variant of the component name; and

issuing a second error message responsive to the third request.

8. The method of claim 7 , the grammatical-number variant of the component name having a second component-name data type, the method further comprising comparing the first component-name data type with the second component-name data type.

9. The method of claim 8 , further comprising issuing a second error message response to a mismatch between the first component-name data type and the second component-name data type.

10. The method of claim 1 , wherein the first request is authored by a first programmer and the second request is authored by a second programmer.

11. A software-development environment instantiated on a computer system including a processor and a memory, the computer system having access to a namespace of expressions in the memory, the software-development environment comprising:

an editor to receive a source-code expression of a computer program; and

a semantic analyzer coupled to the editor, the semantic analyzer to extract from the source-code expression:

a first request to create, in the namespace of expressions, a first expression of a grammatical number and a first data type, the first request including a descriptive name of the first expression and the grammatical number; and

a second request to create, in the namespace of expressions, a second expression of a second data type different from the first data type, the second request including a grammatical-number variant of the descriptive name;

the semantic analyzer including a grammatical-number enforcer to issue an error message responsive to the second request.

12. The software-development environment of claim 11 , the grammatical-number enforcer to add to the namespace of expressions, responsive to the first request, a third expression of the first data type and including the grammatical-number variant of the descriptive name of the first expression.

13. The software-development environment of claim 11 , the semantic analyzer to add the descriptive name to the namespace of expressions responsive to the first request.

14. The software-development environment of claim 13 , the semantic analyzer to add the grammatical-number variant of the descriptive name to the namespace of expressions responsive to the first request.

15. The software-development environment of claim 14 , the semantic analyzer to add the grammatical-number variant of the descriptive name to the namespace of expressions responsive to a third request.

16. A computer-implemented method for creating and maintaining data in memory for a computer program, the method comprising:

receiving a request to associate a data type for the computer program with a first expression having a descriptive name;

determining, responsive to the request to associate the data type for the computer program with the first expression, a grammatical number of the descriptive name and a grammatical-number variant of the descriptive name;

reserving the first expression of the data type and the descriptive name in the memory; and

reserving a second expression of the data type in the memory, the second expression including the grammatical-number variant of the descriptive name.

17. The computer-implemented method of claim 16 , further comprising adding the descriptive name to a namespace responsive to the request to associate the data type for the computer program with the first expression.

18. The computer-implemented method of claim 17 , further comprising adding the grammatical-number variant of the descriptive name to the namespace responsive to the request to associate the data type for the computer program with the first expression.

19. The computer-implemented method of claim 17 , further comprising adding the grammatical-number variant of the descriptive name to the namespace responsive to a second request to associate the data type for the computer program with the grammatical-number variant of the descriptive name.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2019
From: SRIDHAR, BHARATH
To: ZOHO CORPORATION PRIVATE LIMITED
Reel/Frame 050177/0643 →
Continuity (1)
Provisional Application 62718056 · Aug 13, 2018
Cited By (3)
US 12,386,597 US 12,417,133 US 12,639,053