Programming language processing system with program translation performed by term rewriting with pattern matching
First Claim
1. A programming language processing system for use as a computer language processing system wherein a program described in a high level programming language is translated into a program written in a low level programming language, comprising:
- means for inputting a program described according to a specification of a programming language in which basic words are classified by parts-of-speech including nouns, adjectives, conjunctions, and logic words;
processing means for converting said program described according to said specification into an internal expression form based on a sentence structure of a type that can be converted to a binary tree, and for converting a logical meaning expressed by said internal expression form, according to program logic for term-rewriting based on pattern collation, to a low level program description in which said parts-of-speech are deleted.
1 Assignment
0 Petitions
Accused Products
Abstract
A programming language processing system for a computer language processing system wherein a program described in a high level programming language is translated into another program written in lower level programming language. In one embodiment of the invention, a specification of a programming language incorporates a concept of handling various basic words classified by parts-of-speech including nouns, adjectives, conjunctions, and various logic words. The program described by the programming language is converted into an internal expression form based on a sentence structure which can be converted to a binary tree. In accordance with a logic synthesis rule for term-rewriting based on a pattern collation, a logic expressed by the internal expression form is subject to conversion to a lower level program description wherein the parts-of-speech are deleted.
71 Citations
5 Claims
-
1. A programming language processing system for use as a computer language processing system wherein a program described in a high level programming language is translated into a program written in a low level programming language, comprising:
-
means for inputting a program described according to a specification of a programming language in which basic words are classified by parts-of-speech including nouns, adjectives, conjunctions, and logic words; processing means for converting said program described according to said specification into an internal expression form based on a sentence structure of a type that can be converted to a binary tree, and for converting a logical meaning expressed by said internal expression form, according to program logic for term-rewriting based on pattern collation, to a low level program description in which said parts-of-speech are deleted. - View Dependent Claims (2)
-
-
3. A programming language processing system for use as a computer language processing system wherein a first program described in a high level programming language is translated into a second program written in low level programming language, comprising:
-
means for inputting a synchronization conjunction having a well-formed formula described on the basis of a propositional logic or a predicate logic written as a synchronization condition, said synchronization conjunction being used as a basic word in a programming language; and processing means for generating, when said synchronization conjunction is detected at a time of translating the high level programming language and according to a logic synthesizer rule, a row of statements comprising; a first statement for checking an establishment of said synchronization condition, a second statement for executing a specified process when said synchronization condition has been completed, and a third statement for holding wait while said synchronization condition has not yet been completed, said processing means converting said first program, based on said row of statements, to said second program.
-
-
4. A programming language processing system for use as a computer language processing system wherein a first program described in a high level programming language is translated into a second program written in low level programming language, comprising:
-
means for inputting logic quantifiers with a set operation, said logic quantifiers being used as a basic word of a programming language; and processing means for receiving said logic quantifiers, for converting a sentence including said logic quantifiers into a statement which is reduced to a basic operation when said logic quantifiers in said sentence are detected at the time of translating said high level programming language, in accordance with a logic synthesis rule for rewriting said programming language into a plurality of said basic operations formed by said low level programming language and for judging truth or falsehood by a propositional logic formula which represents a condition judgment and acting to provide a change of a state by an act logic formula, said judging and said acting being performed when the second program is run. - View Dependent Claims (5)
-
Specification