Consider the basic concept of a created language of programming. Highlight the key features and expected functionality. Select paradigm (object-oriented, logical, etc.), which will follow the language and its computational model. Clearly answer the questions about how it will differ from existing analogues, what their traits to borrow.
Consider a system of data types. Answer the question about whether this language programming with static or dynamic typing. Indicate the list of built-in and ways to define new types. Declare the methods for the determination of the data structures. Describe other possibilities. So, if you create an object-oriented language programming, highlight possible ways of inheritance (for example, direct implementation inheritance, aggregation, etc.).
Thoroughly consider the concept of computing. Proceed, following the knowledge of the paradigm and computational models. For example, for a procedural-oriented language will need to identify the means of transmission control (function calls, conditional transitions, cycles, etc.), the principles of evaluation of expressions (a list of operations, their priority), etc.
Fully describe the syntax of the language. Based on the knowledge obtained in the previous stages of design, formal specificerede syntax for all possible structures. For example, the syntax for defining data types and structures, control structures, records, arithmetic expressions, literal definition of data objects. Use the entry in the form of bekus-Naur form (BNF) or the rules of regular grammar.
Determine the document character set with the source code in the generated language programming. Specify the possible rules and restrictions in the use of symbols. For example, the recording of the languages'structures may be limited to only ASCII characters, but in comments and string literals be allowed the use of the symbols of the full range of UTF.
Create a set of specifications, fully describing the language programming. Include information about the syntax and semantics of all designs. Use formal methods of recording and detailed explanations.