Hyperpiler
An improved method for generating complex formal language documents from simple input values, reducing the barrier to formal communications. The techniques described may be applied to different domains to generate different types of documents requiring formal language. For illustration, this disclosure focuses on generating a computer program document as programming languages are among the most formal.
1 . A non-transitory computer-readable medium storing instructions which cause a processor to:
read a plurality of entities;
select a first entity from the plurality of entities which satisfies a first condition;
add a new entity to the plurality of entities;
populate the new entity with at least one value comprising a value from the first entity;
populate the new entity with at least one value ordering the new entity among the plurality of entities;
populate the new entity with at least one value identifying another entity from the plurality of entities;
and populate the new entity with at least one value identifying a segment of a document.
2 . The medium of claim 1 , further storing instructions which cause a processor to:
select a second entity from the plurality of entities which satisfies a second condition;
and populate the new entity with at least one value comprising a value from the second entity.
3 . The medium of claim 2 , wherein the second condition comprises at least one value from the first entity.
4 . A non-transitory computer-readable medium storing instructions which cause a processor to:
read a plurality of entities;
select a first entity from the plurality of entities which satisfies a first condition;
form a second condition comprising at least one value from the first entity;
select a second entity from the plurality of entities which satisfies the second condition;
and form an entity comprising at least one value from the first entity and at least one value from the second entity.
5 . The medium of claim 4 , wherein the formed entity further comprises:
at least one value ordering the formed entity among the plurality of entities;
at least one value identifying another entity from the plurality of entities;
and at least one value identifying a segment of a document.
6 . A non-transitory computer-readable medium storing instructions which cause a processor to read a plurality of entities and form an entity comprising:
at least one value from a first entity;
at least one value from a second entity;
at least one value ordering the entity among the plurality of entities;
at least one value identifying another entity from the plurality of entities;
and at least one value identifying a segment of a document.
7 . The medium of claim 6 , wherein the second entity is selected by satisfying a condition comprising at least one value from the first entity.
8 . The medium of claim 1 , wherein: the segment of a document comprises legal language.
9 . The medium of claim 1 , wherein: the segment of a document comprises computer programming language.
10 . The medium of claim 9 , wherein: the segment of a document comprises multiple commands in at least one computer programming language.
11 . The medium of claim 3 , wherein: the segment of a document comprises legal language.
12 . The medium of claim 3 , wherein: the segment of a document comprises computer programming language.
13 . The medium of claim 12 , wherein: the segment of a document comprises multiple commands in at least one computer programming language.
14 . The medium of claim 5 , wherein: the segment of a document comprises legal language.
15 . The medium of claim 5 , wherein: the segment of a document comprises computer programming language.
16 . The medium of claim 15 , wherein: the segment of a document comprises multiple commands in at least one computer programming language.
17 . The medium of claim 6 , wherein: the segment of a document comprises legal language.
18 . The medium of claim 6 , wherein: the segment of a document comprises computer programming language.
19 . The medium of claim 18 , wherein: the segment of a document comprises multiple commands in at least one computer programming language.