Wirth Syntax Notation
   HOME
*





Wirth Syntax Notation
Wirth syntax notation (WSN) is a metasyntax, that is, a formal way to describe formal languages. Originally proposed by Niklaus Wirth in 1977 as an alternative to Backus–Naur form (BNF). It has several advantages over BNF in that it contains an explicit iteration construct, and it avoids the use of an explicit symbol for the empty string (such as or ε). WSN has been used in several International Organization for Standardization, international standards, starting with ISO 10303-21. It was also used to define the syntax of ISO 10303-11, EXPRESS, the data modelling language of ISO 10303, STEP. WSN defined in itself SYNTAX = . PRODUCTION = IDENTIFIER "=" EXPRESSION "." . EXPRESSION = TERM . TERM = FACTOR . FACTOR = IDENTIFIER , LITERAL , "[" EXPRESSION "]" , "(" EXPRESSION ")" , "" . IDENTIFIER = letter . LITERAL = """" character """" . The equals sign indicates a production. The element on the left ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Metasyntax
In logic and computer science, a metasyntax describes the allowable structure and composition of phrases and sentences of a metalanguage, which is used to describe either a natural language or a computer programming language.Sellink, Alex, and Chris Verhoef.Development, assessment, and reengineering of language descriptions" Software Maintenance and Reengineering, 2000. Proceedings of the Fourth European. IEEE, 2000. Some of the widely used formal metalanguages for computer languages are Backus–Naur form (BNF), extended Backus–Naur form (EBNF), Wirth syntax notation (WSN), and augmented Backus–Naur form (ABNF). These metalanguages have their own metasyntax each composed of terminal symbols, nonterminal symbols, and ''metasymbols''. A terminal symbol, such as a word or a token, is a stand-alone structure in a language being defined. A nonterminal symbol represents a syntactic category, which defines one or more valid phrasal or sentence structure consisted of an n-element subs ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


ISO 10303
ISO 10303 is an ISO standard for the computer-interpretable representation and exchange of product manufacturing information. It is an ASCII-based format. Its official title is: ''Automation systems and integration — Product data representation and exchange''. It is known informally as "STEP", which stands for "Standard for the Exchange of Product model data". ISO 10303 can represent 3D objects in Computer-aided design (CAD) and related information. Overview The objective of the international standard is to provide a mechanism that is capable of describing product data throughout the life cycle of a product, independent from any particular system. The nature of this description makes it suitable not only for neutral file exchange, but also as a basis for implementing and sharing product databases and archiving. STEP can be typically used to exchange data between CAD, computer-aided manufacturing, computer-aided engineering, product data management/enterprise data modelin ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Syntax Diagram
Syntax diagrams (or railroad diagrams) are a way to represent a context-free grammar. They represent a graphical alternative to Backus–Naur form, EBNF, Augmented Backus–Naur form, and other text-based grammars as metalanguages. Early books using syntax diagrams include the "Pascal User Manual" written by Niklaus Wirth (diagrams start at page 47) and the Burroughs CANDE Manual. In the compilation field, textual representations like BNF or its variants are usually preferred. BNF is text-based, and used by compiler writers and parser generators. Railroad diagrams are visual, and may be more readily understood by laypeople, sometimes incorporated into graphic design. The canonical source defining the JSON data interchange format provides yet another example of a popular modern usage of these diagrams. Principle of syntax diagrams The representation of a grammar is a set of syntax diagrams. Each diagram defines a "nonterminal" stage in a process. There is a main diagram whic ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Kludge
A kludge or kluge () is a workaround or quick-and-dirty solution that is clumsy, inelegant, inefficient, difficult to extend and hard to maintain. This term is used in diverse fields such as computer science, aerospace engineering, Internet slang, evolutionary neuroscience, and government. It is similar in meaning to the naval term ''jury rig''. Etymology The word has alternate spellings (''Wikt:kludge, kludge'' and ''Wikt:kluge, kluge''), pronunciations ( and , rhyming with ''judge'' and ''stooge'', respectively), and several proposed etymologies. Jackson W. Granholm The ''Oxford English Dictionary'' (2nd ed., 1989), cites Jackson W. Granholm's 1962 "How to Design a Kludge" article in the American computer magazine ''Datamation''. kludge Also kluge. [J. W. Granholm's jocular invention: see first quot.; cf. also ''bodge'' v., ''fudge'' v.]'An ill-assorted collection of poorly-matching parts, forming a distressing whole' (Granholm); esp. in ''Computing'', a machine, system, ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Whitespace (computer Science)
In computer programming, whitespace is any character or series of characters that represent horizontal or vertical space in typography. When rendered, a whitespace character does not correspond to a visible mark, but typically does occupy an area on a page. For example, the common whitespace symbol (also ASCII 32) represents a blank space punctuation character in text, used as a word divider in Western scripts. Overview With many keyboard layouts, a whitespace character may be entered by pressing . Horizontal whitespace may also be entered on many keyboards with the key, although the length of the space may vary. Vertical whitespace may be input by typing , which creates a 'newline' code sequence in most programs. On older keyboards, this key may instead be labeled , a holdover from typewriter keyboards' carriage return keys, which generated an electromechanical return to the left stop (Unicode character ) and a move to the next line (). Many early computer games used whitesp ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Alphanumeric
Alphanumericals or alphanumeric characters are a combination of alphabetical and numerical characters. More specifically, they are the collection of Latin letters and Arabic digits. An alphanumeric code is an identifier made of alphanumeric characters. Merriam-Webster suggests that the term "alphanumeric" may often additionally refer to other symbols, such as punctuation and mathematical symbols. In the POSIX/C locale, there are either 36 (A–Z and 0–9, case insensitive) or 62 (A–Z, a–z and 0–9, case-sensitive) alphanumeric characters. Subsets of alphanumeric used in human interfaces When a string of mixed alphabets and numerals is presented for human interpretation, ambiguities arise. The most obvious is the similarity of the letters I, O and Q to the numbers 1 and 0. Therefore, depending on the application, various subsets of the alphanumeric were adopted to avoid misinterpretation by humans. In passenger aircraft, aircraft seat maps and seats were designated by ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

ASCII
ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of technical limitations of computer systems at the time it was invented, ASCII has just 128 code points, of which only 95 are , which severely limited its scope. All modern computer systems instead use Unicode, which has millions of code points, but the first 128 of these are the same as the ASCII set. The Internet Assigned Numbers Authority (IANA) prefers the name US-ASCII for this character encoding. ASCII is one of the List of IEEE milestones, IEEE milestones. Overview ASCII was developed from telegraph code. Its first commercial use was as a seven-bit teleprinter code promoted by Bell data services. Work on the ASCII standard began in May 1961, with the first meeting of the American Standards Association's (ASA) (now the American Nat ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Extended Backus–Naur Form
In computer science, extended Backus–Naur form (EBNF) is a family of metasyntax notations, any of which can be used to express a context-free grammar. EBNF is used to make a formal description of a formal language such as a computer programming language. They are extensions of the basic Backus–Naur form (BNF) metasyntax notation. The earliest EBNF was developed by Niklaus Wirth, incorporating some of the concepts (with a different syntax and notation) from Wirth syntax notation. Today, many variants of EBNF are in use. The International Organization for Standardization adopted an EBNF Standard, ISO/IEC 14977, in 1996. According to Zaytsev, however, this standard "only ended up adding yet another three dialects to the chaos" and, after noting its lack of success, also notes that the ISO EBNF is not even used in all ISO standards. Wheeler argues against using the ISO standard when using an EBNF and recommends considering alternative EBNF notations such as the one from the W ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Data Modelling
Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques. Overview Data modeling is a process used to define and analyze data requirements needed to support the business processes within the scope of corresponding information systems in organizations. Therefore, the process of data modeling involves professional data modelers working closely with business stakeholders, as well as potential users of the information system. There are three different types of data models produced while progressing from requirements to the actual database to be used for the information system.Simison, Graeme. C. & Witt, Graham. C. (2005). ''Data Modeling Essentials''. 3rd Edition. Morgan Kaufmann Publishers. The data requirements are initially recorded as a conceptual data model which is essentially a set of technology independent specifications about the data and is used to discuss initial requirements with ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Formal Language
In logic, mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules. The alphabet of a formal language consists of symbols, letters, or tokens that concatenate into strings of the language. Each string concatenated from symbols of this alphabet is called a word, and the words that belong to a particular formal language are sometimes called ''well-formed words'' or ''well-formed formulas''. A formal language is often defined by means of a formal grammar such as a regular grammar or context-free grammar, which consists of its formation rules. In computer science, formal languages are used among others as the basis for defining the grammar of programming languages and formalized versions of subsets of natural languages in which the words of the language represent concepts that are associated with particular meanings or semantics. In computational complexity ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




ISO 10303-11
ISO is the most common abbreviation for the International Organization for Standardization. ISO or Iso may also refer to: Business and finance * Iso (supermarket), a chain of Danish supermarkets incorporated into the SuperBest chain in 2007 * Iso Omena ("Big Apple"), a shopping center in Finland * Incentive stock option, a type of employee stock option * Independent Sales Organization, a company that partners with an acquiring bank to provide merchant services * Insurance Services Office, an American insurance underwriter * Intermarket sweep order, a type of limit order on financial markets * Iso (automobile), an Italian car manufacturer Arts and entertainment * Isomorphic Algorithms (ISOs), a fictional race in the digital world of '' Tron: Legacy'' * Iso (comics), a Marvel comics character Music * ''Iso'' (album), an album by Ismaël Lô * Iceland Symphony Orchestra * Indianapolis Symphony Orchestra, Indiana, US * International Symphony Orchestra, of Sarnia, Ontario and Port Hur ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


ISO 10303-21
STEP-File is a widely used data exchange form of STEP. ISO 10303 can represent 3D objects in Computer-aided design (CAD) and related information. Due to its ASCII structure, a STEP-file is easy to read, with typically one instance per line. The format of a STEP-File is defined in ISO 10303-21 ''Clear Text Encoding of the Exchange Structure''. ISO 10303-21 defines the encoding mechanism for representing data conforming to a particular schema in the EXPRESS data modeling language specified in ISO 10303-11. A STEP-File is also called ''p21-File'' and ''STEP Physical File''. The file extensions ''.stp'' and ''.step'' indicate that the file contains data conforming to STEP Application Protocols while the extension ''.p21'' should be used for all other purposes. History Some details to take note of: * The first edition, ISO 10303-21:1994, had some bugs, which were corrected by a Technical Corrigendum. Therefore, it is recommended that users study the second edition instead (see b ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]