1931:"A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
1353:. A class is an abstraction; we can talk about it independent of its formation. We can talk about term, independent of its definition, as being added or subtracted in expr. We can talk about a term being a specific data type and how an expr is to be evaluated having specific combinations of data types, or even reordering an expression to group data types and evaluation results of mixed types. The natural-language supplement provided specific details of the language class semantics to be used by a compiler implementation and a programmer writing an ALGOL program. Natural-language description further supplemented the syntax as well. The integer rule is a good example of natural and metalanguage used to describe syntax:
1169:, first on the languages committee that became the IAL group and eventually led to ALGOL. He was the first managing editor of the Communications of the ACM. BNF was first used as a metalanguage to talk about the ALGOL language in the ALGOL 60 report. That is how it is explained in ALGOL programming course material developed by Peter Naur in 1962. Early ALGOL manuals by IBM, Honeywell, Burroughs and Digital Equipment Corporation followed the ALGOL 60 report using it as a metalanguage. Saul Rosen in his book describes BNF as a metalanguage for talking about ALGOL. An example of its use as a metalanguage would be in defining an arithmetic expression:
1957:"|" | " " | "!" | "#" | "$ " | "%" | "&" | "(" | ")" | "*" | "+" | "," | "-" | "." | "/" | ":" | ";" | ">" | "=" | "<" | "?" | "@" | "" | "^" | "_" | "`" | "{" | "}" | "~"
1444:
171:
32:
116:
73:
471:
Applying rules in this manner can produce longer and longer sequences, so many BNF definitions allow for a special "delete" symbol to be included in the specification. We can specify a rule that allows us to replace some symbols with this "delete" symbol, which is meant to indicate that we can remove
1423:
and using quoted strings for symbols of the target language. Arithmetic-like grouping provided a simplification that removed using classes where grouping was its only value. The META II arithmetic expression rule shows grouping use. Output expressions placed in a META II rule are used to output code
1024:
Another example from the ALGOL 60 report illustrates a major difference between the BNF metalanguage and a
Chomsky context-free grammar. Metalinguistic variables do not require a rule defining their formation. Their formation may simply be described in natural language within the <> brackets.
1399:
There are no specifics on white space in the above. As far as the rule states, we could have space between the digits. In the natural language we complement the BNF metalanguage by explaining that the digit sequence can have no white space between the digits. English is only one of the possible
396:
BNFs describe how to combine different symbols to produce a syntactically correct sequence. BNFs consist of three components: a set of non-terminal symbols, a set of terminal symbols, and rules for replacing non-terminal symbols with a sequence of symbols. These so-called "derivation rules" are
1019:
Sequences of characters enclosed in the brackets <> represent metalinguistic variables whose values are sequences of symbols. The marks "::=" and "|" (the latter with the meaning of "or") are metalinguistic connectives. Any mark in a formula, which is not a variable or a connective,
1329:
These changes enabled META II and its derivative programming languages to define and extend their own metalanguage, at the cost of the ability to use a natural language description, metalinguistic variable, language construct description. Many spin-off metalanguages were inspired by BNF. See
1120:
equations that are, and were at the time, used in logic-circuit design. Backus was a mathematician and the designer of the FORTRAN programming language. Studies of
Boolean algebra is commonly part of a mathematics curriculum. Neither Backus nor Naur described the names enclosed in
1221:
The first symbol of an alternative may be the class being defined, the repetition, as explained by Naur, having the function of specifying that the alternative sequence can recursively begin with a previous alternative and can be repeated any number of times. For example, above
1410:
Some, like "A Syntax
Directed Compiler for ALGOL 60" developed by Edgar T. Irons and "A Compiler Building System" Developed by Brooker and Morris, directly used BNF. Others, like the Schorre Metacompilers, made it into a programming language with only a few changes.
1125:
as non-terminals. Chomsky's terminology was not originally used in describing BNF. Naur later described them as classes in ALGOL course materials. In the ALGOL 60 report they were called metalinguistic variables. Anything other than the metasymbols
1089:
Equivalence here means that any of the three structures shown in the left column may be replaced, in any occurrence outside of strings, by the symbol shown in the same line in the right column without any effect on the action of the program.
2521:, denote classes whose members are sequences of basic symbols. Class designations of this kind are found in any description of a language. For describing ordinary natural languages designation like word, verb, noun, are used. .
365:. Backus–Naur form is applied wherever exact descriptions of languages are needed, such as in official language specifications, in manuals, and in textbooks on programming language theory. BNF can be used to describe
2988:
If the target processor is System/360, or related, even up to z/System, and the target language is similar to PL/I (or, indeed, XPL), then the required code "emitters" may be adapted from XPL's "emitters" for
2327:
Analyzer, a tool which accepts simplified BNF for a language and produces a parser for that language in XPL; it may be integrated into the supplied SKELETON program, with which the language may be debugged (a
2383:
BNF Converter (BNFC), operating on a variant called "labeled Backus–Naur form" (LBNF). In this variant, each production for a given non-terminal is given a label, which can be used as a constructor of an
873:
In
Western society, grammar was long regarded as a subject for teaching, rather than scientific study; descriptions were informal and targeted at practical usage. In the first half of the 20th century,
2152:
There are many variants and extensions of BNF, generally either for the sake of simplicity and succinctness, or to adapt it to a specific application. One common feature of many variants is the use of
846:
Note that many things (such as the format of a first-name, apartment number, ZIP-code, and Roman numeral) are left unspecified here. If necessary, they may be described using additional BNF rules.
1403:
The origin of BNF is not as important as its impact on programming language development. During the period immediately following the publication of the ALGOL 60 report BNF was the basis of many
1345:
A BNF class describes a language construct formation, with formation defined as a pattern or the action of forming the pattern. The class name expr is described in a natural language as a
2171:
Another common extension is the use of square brackets around optional items. Although not present in the original ALGOL 60 report (instead introduced a few years later in
2234:
Many BNF specifications found online today are intended to be human-readable and are non-formal. These often include many of the following syntax rules and extensions:
1944:"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
134:
3314:
3248:
2722:
3362:
3081:
2133:. These two lists consists of some terms (three terms and two terms, respectively). Each term in this particular rule is a rule-name.
925:, combined linguistics and mathematics by taking what is essentially Thue's formalism as the basis for the description of the syntax of
235:
1241:, the BNF recursive repeat construct is replaced by a sequence operator and target language symbols defined using quoted strings. The
2690:
207:
380:
Over time, many extensions and variants of the original Backus–Naur notation have been created; some are exactly defined, including
2745:
2129:. The other part of that rule (aside from a line-end) is an expression, which consists of two lists separated by a vertical bar
214:
3012:
862:, an ancient Indian Sanskrit grammarian and a revered scholar in Hinduism who lived sometime between the 6th and 4th century
188:
45:
2537:
453:
221:
1166:
2942:
3413:
3355:
2913:
2624:
2442:
2306:
83:
272:
254:
203:
152:
59:
1424:
and labels in an assembly language. Rules in META II are equivalent to a class definitions in BNF. The Unix utility
1114:
448:
consists of one or more sequences of either terminal or nonterminal symbols where each sequence is separated by a
2197:
2172:
1020:
denotes itself. Juxtaposition of marks or variables in a formula signifies juxtaposition of the sequence denoted.
3449:
3383:
3330:
2542:
2406:
2393:
2193:
957:
As proposed by Backus, the formula defined "classes" whose names are enclosed in angle brackets. For example,
385:
338:
192:
3398:
3348:
3324:
3294:
3290:
2723:"The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference"
2424:
2412:
2270:
Terminals may appear in bold rather than italics, and non-terminals in plain text rather than angle brackets.
2165:
2147:
2089:
842:
An opt-apt-num consists of a prefix "Apt" followed by an apartment number, or an empty string (i.e. nothing).
381:
2969:
1029:
For the purpose of including text among the symbols of a program the following "comment" conventions hold:
989:
800:
3408:
3274:
2292:
2513:
The meaning of syntactic formula may be further explained by saying that words enclosed in the brackets
947:
of "metalinguistic formulas" to describe the syntax of the new programming language IAL, known today as
3302:
3270:
3258:
2207:
20:
3056:
228:
3444:
829:
51:
2556:
443:
130:
90:
3393:
2448:
2418:
181:
2902:
954:
BNF is a notation for
Chomsky's context-free grammars. Backus was familiar with Chomsky's work.
817:
A street address consists of a house number, followed by a street name, followed by an optional
3454:
1400:
natural languages. Translations of the ALGOL reports were available in many natural languages.
898:
887:
374:
1025:
The following ALGOL 60 report section 2.3 comments specification, exemplifies how this works:
3423:
2457:
3174:
2244:
Items existing 0 or more times are enclosed in curly brackets or suffixed with an asterisk (
2673:
2388:
representing that nonterminal. The converter is capable of producing types and parsers for
2201:
930:
803:
in BNFs, covering the case of people who use multiple first and middle names and initials).
362:
342:
3282:
8:
2768:
2385:
1428:
is based on BNF with code production similar to META II. yacc is most commonly used as a
993:
870:
word structure is equivalent in power to that of Backus and has many similar properties.
481:
1146:
is used to separate alternative definitions and is interpreted as "or". The metasymbols
2857:
2816:
2741:
2647:
2600:
2223:
2211:
2153:
2125:. Each line or unbroken grouping of lines is a rule; for example one rule begins with
2118:
are to be substituted with a declared rule's name/label or literal text, respectively.
918:
879:
3320:
3008:
3001:
2909:
2329:
1404:
3133:
2861:
2820:
2651:
2604:
2541: prior to 1 November 2008 and incorporated under the "relicensing" terms of the
2196:(ABNF) and Routing Backus–Naur form (RBNF) are extensions commonly used to describe
440:
means that the symbol on the left must be replaced with the expression on the right.
3157:
3147:
2847:
2806:
2691:"A COURSE OF ALGO L 60 PROGRAMMING with special reference to the DASK ALGOL system"
2639:
2590:
2219:
2107:
1429:
926:
894:
296:
286:
2484:
2389:
2321:
XACT X4MR System, a rule-based expert system for programming language translation
1117:
467:
Apply derivation rules to this start symbol and the ensuing sequences of symbols.
370:
366:
346:
3212:
3161:
3151:
2655:
2613:-Backus Form, to give due credit to Pāṇini as the earliest independent inventor.
3193:
3184:
2718:
2436:
2368:
2215:
1448:
836:
799:, or a personal part followed by a name part (this rule illustrates the use of
472:
the symbols from our sequence and still have a syntactically correct sequence.
460:
All syntactically correct sequences must be generated in the following manner:
3438:
2948:
2643:
2312:
883:
863:
792:
2876:
2610:
2374:
Racket's parser tools, lex and yacc-style parsing (Beautiful Racket edition)
2259:
Items existing 1 or more times are suffixed with an addition (plus) symbol,
1005:
929:. He also introduced a clear distinction between generative rules (those of
859:
3044:
2790:
2078:
1339:
1151:
1094:
Naur changed two of Backus's symbols to commonly available characters. The
981:
944:
914:
855:
449:
3169:
Information technology – Syntactic metalanguage – Extended BNF
2852:
2835:
2811:
2794:
2595:
2578:
2559:. School of Mathematics and Statistics, University of St Andrews, Scotland
3254:
936:
910:
875:
796:
777:
430:
350:
1435:
BNF today is one of the oldest computer-related languages still in use.
3371:
3340:
2897:
1162:
1155:
973:
807:
358:
354:
3164:— Routing BNF: A Syntax Used in Various Protocol Specifications.
2532:
2121:
In the U.S. postal address example above, the entire block-quote is a
1454:
BNF's syntax itself may be represented with a BNF like the following:
3334:
3234:
3199:(the latter is missing the cover page, but is otherwise much cleaner)
3029:
2928:
2727:
Proceedings of the
International Conference on Information Processing
2358:
2282:
1443:
1335:
906:
902:
886:
started attempts to formalize the description of language, including
818:
788:
456:, the whole being a possible substitution for the symbol on the left.
2309:, program analysis and transformation system for arbitrary languages
170:
3108:
2348:, Java Compiler Compiler tm (JavaCC tm) - The Java Parser Generator
969:
948:
867:
835:
An opt-suffix-part consists of a suffix, such as "Sr.", "Jr." or a
781:
464:
Initialize the sequence so that it just contains one start symbol.
3218:
2975:
2908:. McGraw Hill Computer Science Series. New York/NY: McGraw Hill.
2452:
2430:
2273:
Where items are grouped, they are enclosed in simple parentheses.
2099:
1331:
1238:
811:
3281:"Free Programming Language Grammars for Compiler Construction",
2609:
Ingerman suggests that the Backus Normal Form be renamed to the
3139:
3114:
2345:
2342:
bnf2xml, Markup input with XML tags using advanced BNF matching
2297:
1000:
was also once suggested in view of the fact that the expansion
423:
325:
787:
A name-part consists of either: a personal-part followed by a
3418:
3298:
2288:
2103:
1150:
are delimiters enclosing a class name. BNF is described as a
965:
951:(1959). His notation was first used in the ALGOL 60 report.
3228:
3403:
3306:
3060:
2377:
2364:
2301:
2188:
2176:
1425:
1078:<any sequence not containing 'end' or ';' or 'else'>
825:
434:
variable that is always enclosed between the pair <>.
311:
2318:
RPA BNF parser. Online (PHP) demo parsing: JavaScript, XML
1138:
are symbols of the language being defined. The metasymbol
3240:
2324:
2179:
definition), the notation is now universally recognised.
1011:
BNF is described by Peter Naur in the ALGOL 60 report as
961:. Each of these names denotes a class of basic symbols.
940:
922:
305:
2300:, compiler generator accepting an attributed grammar in
1008:
had independently developed a similar notation earlier.
776:
A postal address consists of a name-part, followed by a
2999:
McKeeman, W. M.; Horning, J.J.; Wortman, D. B. (1970).
854:
The idea of describing the structure of language using
3154:— Augmented BNF for Syntax Specifications: ABNF.
2998:
2380:
Sense, a BI tool, uses a variant of BNF for scripting
2106:, carriage-return, line-feed or both depending on the
901:
were introduced and studied by mathematicians such as
2421:– a more expressive alternative to BNF used in Prolog
2250:<word> ::= <letter> {<letter>}
480:
As an example, consider this possible BNF for a U.S.
322:
314:
308:
299:
2254:<word> ::= <letter> <letter>*
2092:
is necessary for proper interpretation of the rule.
832:, followed by a ZIP-code followed by an end-of-line.
302:
1165:became involved in the activities of the fledgling
319:
195:. Unsourced material may be challenged and removed.
125:
may be too technical for most readers to understand
3000:
2901:
2339:bnfparser, a universal syntax verification utility
2283:Software that accepts BNF (or a superset) as input
1415:became symbol identifiers, dropping the enclosing
992:in the conventional sense", unlike, for instance,
3135:BNF and EBNF: What are they and how do they work?
2277:
3436:
3227:"BNF grammars for SQL-92, SQL-99 and SQL-2003",
2367:, parser generator (most commonly used with the
2084:The original BNF did not use quotes as shown in
2589:(3). Association for Computing Machinery: 137.
1237:In some later metalanguages, such as Schorre's
2625:"Three models for the description of language"
3356:
2713:
2711:
2531:This article is based on material taken from
2433:– an early compiler writing tool and notation
1142:is to be interpreted as "is defined as". The
2742:"Compiler Basics: Extended Backus Naur Form"
2238:Optional items enclosed in square brackets:
2766:
2332:contributed program, which was preceded by
858:can be traced back to at least the work of
60:Learn how and when to remove these messages
16:Formalism to describe programming languages
3363:
3349:
3313:"BNF files related to the STEP standard",
2896:
2868:
2708:
2665:
2214:notations to form an alternative class of
1256:for mathematical grouping were added. The
1154:for talking about ALGOL by Peter Naur and
828:-name, followed by a comma, followed by a
3269:, freely available BNF grammars for SQL,
2851:
2810:
2795:"Backus Normal Form vs. Backus Naur Form"
2594:
2478:
2476:
2474:
1065:<any sequence not containing ';'>;
1049:<any sequence not containing ';'>;
984:argued that BNF should rather be read as
273:Learn how and when to remove this message
255:Learn how and when to remove this message
153:Learn how and when to remove this message
137:, without removing the technical details.
3370:
2833:
2576:
1442:
3082:"Script Syntax - Qlik Sense on Windows"
2767:Fulton, III, Scott M. (20 March 2007).
2739:
2671:
2622:
2509:
2507:
2505:
2503:
2501:
2499:
2497:
3437:
2717:
2632:IRE Transactions on Information Theory
2471:
2451:– used in preference to BNF to define
917:, teaching linguistics to students of
821:specifier, followed by an end-of-line.
3344:
3080:
2874:Revised ALGOL 60 report section. 1.1.
2789:
2577:Ingerman, Peter Zilahy (March 1967).
2265:<word> ::= <letter>+
1805:'"' | "'"
939:, a programming language designer at
806:A personal-part consists of either a
337:) is a notation used to describe the
135:make it understandable to non-experts
3239:, freely available BNF grammars for
3210:
3204:
2688:
2538:Free On-line Dictionary of Computing
2494:
839:, or an empty string (i.e. nothing).
735:"Sr." | "Jr." |
193:adding citations to reliable sources
164:
109:
66:
25:
3131:
2482:
2352:
1438:
1432:, and its roots are obviously BNF.
1249:brackets were removed. Parentheses
1167:Association for Computing Machinery
933:) and transformation rules (1956).
13:
2307:DMS Software Reengineering Toolkit
972:. In the committee's 1963 report,
795:(Jr. Sr., or dynastic number) and
772:This translates into English as:
14:
3466:
3125:
2904:Programming Systems and Languages
2740:Farrell, James A. (August 1995).
2460:– an alternative to BNF from 1977
93:and remove advice or instruction.
41:This article has multiple issues.
3182:
2836:""Pāṇini Backus Form" suggested"
2748:from the original on 5 June 2011
2579:""Pāṇini-Backus Form" Suggested"
2392:in several languages, including
2291:, a parser generator written in
1260:rule would appear in META II as
1106:symbol was originally the word "
295:
169:
114:
71:
30:
3323:), Source forge, archived from
3100:
3074:
3049:
3038:
3021:
2992:
2982:
2961:
2934:
2922:
2890:
2827:
2783:
2760:
2733:
2198:Internet Engineering Task Force
1035:The sequence of basic symbols:
180:needs additional citations for
49:or discuss these issues on the
2769:"John W. Backus (1924 - 2007)"
2682:
2616:
2570:
2549:
2524:
2443:Translational Backus–Naur form
2278:Software using BNF or variants
1134:, and class names enclosed in
1004:may not be accurate, and that
1:
2464:
2413:Compiler Description Language
2156:repetition operators such as
2696:. Copenhagen: Regnecentralen
357:. BNF can be described as a
7:
3409:Syntax Definition Formalism
3088:. QlikTech International AB
2729:. UNESCO. pp. 125–132.
2400:
2208:Parsing expression grammars
2136:
2098:represents the appropriate
2088:rule. This assumes that no
866:. His notation to describe
391:
10:
3471:
2407:Augmented Backus–Naur form
2194:Augmented Backus–Naur form
2186:
2145:
2127:<name-part> ::=
1351:<addop> <term>
1232:<addop> <term>
1230:followed by any number of
849:
475:
386:augmented Backus–Naur form
18:
3379:
2840:Communications of the ACM
2799:Communications of the ACM
2583:Communications of the ACM
2425:Extended Backus–Naur form
2229:
2166:extended Backus–Naur form
2148:Extended Backus–Naur form
976:called Backus's notation
824:A zip-part consists of a
437:
382:extended Backus–Naur form
2834:Ingerman, P. Z. (1967).
2644:10.1109/TIT.1956.1056813
2315:, a BNF parser generator
2168:(EBNF) is a common one.
1456:
1356:
1263:
1172:
1110:" (with a bar over it).
1098:symbol was originally a
791:followed by an optional
486:
399:
19:Not to be confused with
3394:Definite clause grammar
3289:, freely available BNF/
3257:: Unige, archived from
2545:, version 1.3 or later.
2449:Van Wijngaarden grammar
2419:Definite clause grammar
2218:, which is essentially
2182:
2141:
1349:followed by a sequence
1113:BNF is very similar to
964:Further development of
375:communication protocols
3173:"Publicly available",
3167:ISO/IEC 14977:1996(E)
3132:Garshol, Lars Marius,
2672:Chomsky, Noam (1957).
2623:Chomsky, Noam (1956).
1451:
1092:
1022:
1013:metalinguistic formula
899:formal logical systems
895:string rewriting rules
349:. It was developed by
21:Boyce–Codd normal form
3450:Compiler construction
3424:Wirth syntax notation
2853:10.1145/363162.363165
2812:10.1145/355588.365140
2596:10.1145/363162.363165
2458:Wirth syntax notation
2361:, GNU version of yacc
2210:build on the BNF and
1979:| "'"
1446:
1027:
1017:
931:context-free grammars
363:context-free grammars
343:programming languages
3331:parts 11, 14, and 21
3293:grammars for C/C++,
3003:A Compiler Generator
2689:Naur, Peter (1961).
2678:. The Hague: Mouton.
2675:Syntactic Structures
2334:A Compiler Generator
2077:Note that "" is the
2001:| '"'
780:part, followed by a
189:improve this article
91:rewrite this article
3223:, the original BNF.
3110:Language technology
2483:Janikow, Cezary Z.
2386:algebraic data type
1815:"'"
1772:| "<"
994:Chomsky normal form
745:| ""
3287:, The free country
2557:"Panini biography"
2439:– railroad diagram
2212:regular expression
2154:regular expression
1782:">"
1452:
1413:<class name>
1002:Backus normal form
998:Pāṇini Backus form
988:, as it is "not a
978:Backus normal form
919:information theory
880:Leonard Bloomfield
814:followed by a dot.
335:Backus normal form
204:"Backus–Naur form"
3432:
3431:
3205:Language grammars
3200:
3171:, available from
3014:978-0-13-155077-3
3007:. Prentice-Hall.
2112:<rule-name>
1795:'"'
1529:">"
1519:"<"
1405:compiler-compiler
1087:
1086:
1038:is equivalent to
452:"|" indicating a
283:
282:
275:
265:
264:
257:
239:
163:
162:
155:
108:
107:
84:a manual or guide
64:
3462:
3445:Formal languages
3389:Backus–Naur form
3365:
3358:
3351:
3342:
3341:
3337:(STEP) standard.
3328:
3288:
3268:
3267:
3266:
3247:"BNF Web Club",
3238:
3222:
3198:
3197:
3191:
3180:
3143:
3119:
3118:
3104:
3098:
3097:
3095:
3093:
3078:
3072:
3071:
3069:
3068:
3059:. Archived from
3053:
3047:
3042:
3036:
3035:
3025:
3019:
3018:
3006:
2996:
2990:
2986:
2980:
2979:
2974:, archived from
2965:
2959:
2958:
2957:
2956:
2947:, archived from
2938:
2932:
2926:
2920:
2919:
2907:
2894:
2888:
2887:
2885:
2883:
2872:
2866:
2865:
2855:
2831:
2825:
2824:
2814:
2791:Knuth, Donald E.
2787:
2781:
2780:
2778:
2776:
2764:
2758:
2757:
2755:
2753:
2737:
2731:
2730:
2715:
2706:
2705:
2703:
2701:
2695:
2686:
2680:
2679:
2669:
2663:
2662:
2660:
2654:. Archived from
2629:
2620:
2614:
2608:
2598:
2574:
2568:
2567:
2565:
2564:
2553:
2547:
2546:
2533:Backus-Naur+Form
2528:
2522:
2520:
2516:
2511:
2492:
2491:
2489:
2480:
2353:Similar software
2266:
2262:
2255:
2251:
2247:
2240:
2163:
2159:
2132:
2128:
2124:
2117:
2113:
2108:operating system
2097:
2087:
2073:| "-"
2072:
2069:
2066:
2062:
2059:
2056:
2053:
2050:
2047:
2044:
2041:
2038:
2035:
2032:
2029:
2026:
2022:
2019:
2016:
2013:
2010:
2007:
2004:
2000:
1997:
1994:
1991:
1988:
1985:
1982:
1978:
1975:
1972:
1969:
1966:
1963:
1960:
1956:
1953:
1950:
1947:
1943:
1940:
1937:
1934:
1930:
1927:
1924:
1921:
1918:
1915:
1912:
1908:
1905:
1902:
1898:
1895:
1892:
1889:
1886:
1883:
1880:
1877:
1874:
1871:
1868:
1865:
1862:
1858:
1855:
1852:
1849:
1846:
1843:
1840:
1837:
1834:
1831:
1827:
1824:
1821:
1818:
1814:
1811:
1808:
1804:
1801:
1798:
1794:
1791:
1788:
1785:
1781:
1778:
1775:
1771:
1768:
1765:
1762:
1759:
1756:
1753:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1729:
1726:
1722:
1719:
1716:
1713:
1710:
1707:
1704:
1701:
1698:
1695:
1692:
1689:
1686:
1682:
1679:
1676:
1673:
1670:
1667:
1664:
1661:
1658:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1633:
1630:
1627:
1624:
1621:
1618:
1614:
1611:
1608:
1605:
1602:
1599:
1596:
1593:| ""
1592:
1589:
1586:
1582:
1579:
1576:
1573:
1570:
1567:
1564:
1561:
1558:
1555:
1552:
1549:
1546:
1542:
1538:
1535:
1532:
1528:
1525:
1522:
1518:
1515:
1512:
1509:
1506:
1503:
1500:
1497:
1494:
1491:
1488:
1485:
1482:
1478:
1475:
1472:
1469:
1466:
1463:
1460:
1439:Further examples
1430:parser generator
1422:
1418:
1414:
1394:
1391:
1388:
1385:
1382:
1378:
1375:
1372:
1369:
1366:
1363:
1360:
1352:
1348:
1324:
1321:
1318:
1315:
1312:
1309:
1306:
1303:
1300:
1297:
1294:
1291:
1288:
1285:
1282:
1279:
1276:
1273:
1270:
1267:
1259:
1255:
1252:
1248:
1244:
1233:
1229:
1226:is defined as a
1225:
1216:
1213:
1210:
1207:
1204:
1201:
1198:
1194:
1191:
1188:
1185:
1182:
1179:
1176:
1149:
1145:
1141:
1137:
1133:
1129:
1124:
1109:
1105:
1101:
1097:
1032:
1031:
986:Backus–Naur form
960:
927:natural language
909:(1920s–40s) and
888:phrase structure
767:
764:
761:
758:"Apt"
757:
754:
751:
748:
744:
741:
738:
734:
731:
728:
725:
722:
719:
716:
713:
710:
707:
704:
701:
698:
694:
691:
688:
685:
682:
679:
676:
673:
670:
667:
664:
661:
658:
655:
652:
649:
646:
643:
640:
637:
634:
631:
628:
624:
621:
618:
614:
611:
608:
605:
602:
599:
596:
593:
590:
587:
584:
581:
578:
574:
571:
568:
565:
562:
559:
556:
553:
550:
547:
544:
541:
538:
535:
532:
529:
526:
523:
520:
517:
514:
511:
508:
505:
502:
499:
496:
493:
490:
446:
439:
427:
412:
409:
406:
403:
371:instruction sets
367:document formats
347:formal languages
332:
331:
328:
327:
324:
321:
317:
316:
313:
310:
307:
304:
301:
291:Backus–Naur form
287:computer science
278:
271:
260:
253:
249:
246:
240:
238:
197:
173:
165:
158:
151:
147:
144:
138:
118:
117:
110:
103:
100:
94:
82:is written like
75:
74:
67:
56:
34:
33:
26:
3470:
3469:
3465:
3464:
3463:
3461:
3460:
3459:
3435:
3434:
3433:
3428:
3375:
3369:
3312:
3280:
3264:
3262:
3246:
3226:
3207:
3189:
3172:
3128:
3123:
3122:
3106:
3105:
3101:
3091:
3089:
3079:
3075:
3066:
3064:
3055:
3054:
3050:
3043:
3039:
3028:"BNF parser²",
3027:
3026:
3022:
3015:
2997:
2993:
2987:
2983:
2967:
2966:
2962:
2954:
2952:
2941:"Online demo",
2940:
2939:
2935:
2927:
2923:
2916:
2895:
2891:
2881:
2879:
2875:
2873:
2869:
2832:
2828:
2805:(12): 735–736.
2788:
2784:
2774:
2772:
2771:. BetaNews. Inc
2765:
2761:
2751:
2749:
2738:
2734:
2716:
2709:
2699:
2697:
2693:
2687:
2683:
2670:
2666:
2658:
2627:
2621:
2617:
2575:
2571:
2562:
2560:
2555:
2554:
2550:
2530:
2529:
2525:
2518:
2514:
2512:
2495:
2487:
2481:
2472:
2467:
2403:
2390:abstract syntax
2355:
2285:
2280:
2264:
2260:
2253:
2249:
2245:
2239:
2232:
2191:
2185:
2161:
2157:
2150:
2144:
2139:
2130:
2126:
2122:
2115:
2111:
2095:
2086:<literal>
2085:
2075:
2074:
2070:
2067:
2064:
2060:
2057:
2054:
2051:
2048:
2045:
2042:
2039:
2036:
2033:
2030:
2027:
2024:
2020:
2017:
2014:
2011:
2008:
2005:
2002:
1998:
1995:
1992:
1989:
1986:
1983:
1980:
1976:
1973:
1970:
1967:
1964:
1961:
1958:
1954:
1951:
1948:
1945:
1941:
1938:
1935:
1932:
1928:
1925:
1922:
1919:
1916:
1913:
1910:
1906:
1903:
1900:
1896:
1893:
1890:
1887:
1884:
1881:
1878:
1875:
1872:
1869:
1866:
1863:
1860:
1859:"" |
1856:
1853:
1850:
1847:
1844:
1841:
1838:
1835:
1832:
1829:
1828:"" |
1825:
1822:
1819:
1816:
1812:
1809:
1806:
1802:
1799:
1796:
1792:
1789:
1786:
1783:
1779:
1776:
1773:
1769:
1766:
1763:
1760:
1757:
1754:
1751:
1748:
1745:
1742:
1739:
1736:
1733:
1730:
1727:
1724:
1720:
1717:
1714:
1711:
1708:
1705:
1702:
1699:
1696:
1693:
1690:
1687:
1684:
1680:
1677:
1674:
1671:
1668:
1665:
1662:
1659:
1656:
1653:
1650:
1647:
1644:
1641:
1638:
1635:
1631:
1628:
1625:
1622:
1619:
1616:
1612:
1609:
1606:
1603:
1600:
1597:
1594:
1590:
1587:
1584:
1580:
1577:
1574:
1571:
1568:
1565:
1562:
1559:
1556:
1553:
1550:
1547:
1544:
1540:
1536:
1533:
1530:
1526:
1523:
1520:
1516:
1513:
1510:
1507:
1504:
1501:
1498:
1495:
1492:
1489:
1486:
1483:
1480:
1476:
1473:
1470:
1467:
1464:
1461:
1458:
1441:
1420:
1416:
1412:
1397:
1396:
1395:
1392:
1389:
1386:
1383:
1380:
1376:
1373:
1370:
1367:
1364:
1361:
1358:
1350:
1346:
1327:
1326:
1325:
1322:
1319:
1316:
1313:
1310:
1307:
1304:
1301:
1298:
1295:
1292:
1289:
1286:
1283:
1280:
1277:
1274:
1271:
1268:
1265:
1257:
1253:
1250:
1246:
1242:
1231:
1227:
1223:
1219:
1218:
1217:
1214:
1211:
1208:
1205:
1202:
1199:
1196:
1192:
1189:
1186:
1183:
1180:
1177:
1174:
1147:
1143:
1139:
1135:
1131:
1127:
1122:
1118:Boolean algebra
1107:
1103:
1099:
1095:
958:
856:rewriting rules
852:
770:
769:
768:| ""
765:
762:
759:
755:
752:
749:
746:
742:
739:
736:
732:
729:
727:opt-suffix-part
726:
723:
720:
717:
714:
711:
708:
705:
702:
699:
696:
692:
689:
686:
683:
680:
677:
674:
671:
668:
665:
662:
659:
656:
653:
650:
647:
644:
641:
638:
635:
632:
629:
626:
625:"."
622:
619:
616:
612:
609:
606:
603:
600:
597:
594:
591:
588:
585:
582:
579:
576:
572:
569:
566:
563:
561:opt-suffix-part
560:
557:
554:
551:
548:
545:
542:
539:
536:
533:
530:
527:
524:
521:
518:
515:
512:
509:
506:
503:
500:
497:
494:
491:
488:
478:
444:
421:
415:
414:
413:__expression__
410:
407:
404:
401:
394:
318:
298:
294:
279:
268:
267:
266:
261:
250:
244:
241:
198:
196:
186:
174:
159:
148:
142:
139:
131:help improve it
128:
119:
115:
104:
98:
95:
88:
76:
72:
35:
31:
24:
17:
12:
11:
5:
3468:
3458:
3457:
3452:
3447:
3430:
3429:
3427:
3426:
3421:
3416:
3411:
3406:
3401:
3396:
3391:
3386:
3380:
3377:
3376:
3368:
3367:
3360:
3353:
3345:
3339:
3338:
3310:
3278:
3244:
3224:
3206:
3203:
3202:
3201:
3183:Kuhn, Marcus,
3165:
3155:
3145:
3127:
3126:External links
3124:
3121:
3120:
3099:
3073:
3048:
3037:
3020:
3013:
2991:
2981:
2960:
2933:
2921:
2915:978-0070537088
2914:
2889:
2867:
2826:
2782:
2759:
2732:
2707:
2681:
2664:
2661:on 2010-09-19.
2615:
2569:
2548:
2523:
2493:
2485:"What is BNF?"
2469:
2468:
2466:
2463:
2462:
2461:
2455:
2446:
2440:
2437:Syntax diagram
2434:
2428:
2422:
2416:
2410:
2402:
2399:
2398:
2397:
2381:
2375:
2372:
2362:
2354:
2351:
2350:
2349:
2343:
2340:
2337:
2322:
2319:
2316:
2310:
2304:
2295:
2284:
2281:
2279:
2276:
2275:
2274:
2271:
2268:
2257:
2242:
2231:
2228:
2226:in character.
2216:formal grammar
2187:Main article:
2184:
2181:
2146:Main article:
2143:
2140:
2138:
2135:
2123:<syntax>
2102:specifier (in
1737:opt-whitespace
1669:opt-whitespace
1639:opt-whitespace
1634:"|"
1629:opt-whitespace
1588:opt-whitespace
1583:" "
1575:opt-whitespace
1548:opt-whitespace
1534:opt-whitespace
1514:opt-whitespace
1457:
1449:syntax diagram
1440:
1437:
1357:
1355:
1264:
1262:
1173:
1171:
1115:canonical-form
1085:
1084:
1079:
1072:
1071:
1066:
1056:
1055:
1050:
1040:
1039:
1036:
851:
848:
844:
843:
840:
833:
822:
815:
804:
785:
778:street-address
695:","
630:street-address
513:street-address
492:postal-address
487:
482:postal address
477:
474:
469:
468:
465:
458:
457:
445:__expression__
441:
435:
400:
393:
390:
281:
280:
263:
262:
177:
175:
168:
161:
160:
122:
120:
113:
106:
105:
79:
77:
70:
65:
39:
38:
36:
29:
15:
9:
6:
4:
3:
2:
3467:
3456:
3455:Metalanguages
3453:
3451:
3448:
3446:
3443:
3442:
3440:
3425:
3422:
3420:
3417:
3415:
3412:
3410:
3407:
3405:
3402:
3400:
3397:
3395:
3392:
3390:
3387:
3385:
3382:
3381:
3378:
3373:
3366:
3361:
3359:
3354:
3352:
3347:
3346:
3343:
3336:
3332:
3327:on 2012-12-25
3326:
3322:
3318:
3317:
3311:
3308:
3304:
3300:
3296:
3292:
3286:
3285:
3279:
3276:
3272:
3261:on 2007-01-24
3260:
3256:
3252:
3251:
3245:
3242:
3236:
3232:
3231:
3225:
3221:: LRZ München
3220:
3216:
3215:
3209:
3208:
3195:
3188:
3187:
3178:
3177:
3170:
3166:
3163:
3159:
3156:
3153:
3149:
3146:
3141:
3137:
3136:
3130:
3129:
3116:
3112:
3111:
3103:
3087:
3083:
3077:
3063:on 2013-06-08
3062:
3058:
3052:
3046:
3041:
3033:
3032:
3024:
3016:
3010:
3005:
3004:
2995:
2985:
2978:on 2013-01-29
2977:
2973:
2972:
2964:
2951:on 2012-11-02
2950:
2946:
2945:
2937:
2930:
2925:
2917:
2911:
2906:
2905:
2899:
2893:
2878:
2871:
2863:
2859:
2854:
2849:
2845:
2841:
2837:
2830:
2822:
2818:
2813:
2808:
2804:
2800:
2796:
2792:
2786:
2770:
2763:
2747:
2743:
2736:
2728:
2724:
2720:
2719:Backus, J. W.
2714:
2712:
2692:
2685:
2677:
2676:
2668:
2657:
2653:
2649:
2645:
2641:
2638:(3): 113–24.
2637:
2633:
2626:
2619:
2612:
2606:
2602:
2597:
2592:
2588:
2584:
2580:
2573:
2558:
2552:
2544:
2540:
2539:
2534:
2527:
2510:
2508:
2506:
2504:
2502:
2500:
2498:
2486:
2479:
2477:
2475:
2470:
2459:
2456:
2454:
2450:
2447:
2444:
2441:
2438:
2435:
2432:
2429:
2426:
2423:
2420:
2417:
2414:
2411:
2408:
2405:
2404:
2395:
2391:
2387:
2382:
2379:
2376:
2373:
2371:preprocessor)
2370:
2366:
2363:
2360:
2357:
2356:
2347:
2344:
2341:
2338:
2335:
2331:
2326:
2323:
2320:
2317:
2314:
2311:
2308:
2305:
2303:
2299:
2296:
2294:
2290:
2287:
2286:
2272:
2269:
2258:
2256:respectively.
2243:
2237:
2236:
2235:
2227:
2225:
2221:
2217:
2213:
2209:
2205:
2203:
2199:
2195:
2190:
2180:
2178:
2174:
2169:
2167:
2155:
2149:
2134:
2119:
2109:
2105:
2101:
2093:
2091:
2082:
2080:
1455:
1450:
1445:
1436:
1433:
1431:
1427:
1408:
1406:
1401:
1354:
1343:
1341:
1337:
1333:
1261:
1240:
1235:
1170:
1168:
1164:
1159:
1157:
1153:
1119:
1116:
1111:
1091:
1083:
1080:
1077:
1074:
1073:
1070:
1067:
1064:
1061:
1058:
1057:
1054:
1051:
1048:
1045:
1042:
1041:
1037:
1034:
1033:
1030:
1026:
1021:
1016:
1014:
1009:
1007:
1003:
999:
995:
991:
987:
983:
979:
975:
971:
967:
962:
955:
952:
950:
946:
943:, proposed a
942:
938:
934:
932:
928:
924:
920:
916:
912:
908:
904:
900:
896:
891:
889:
885:
884:Zellig Harris
881:
877:
871:
869:
865:
861:
857:
847:
841:
838:
837:roman-numeral
834:
831:
827:
823:
820:
816:
813:
809:
805:
802:
798:
794:
790:
786:
783:
779:
775:
774:
773:
740:roman-numeral
598:personal-part
580:personal-part
543:personal-part
485:
483:
473:
466:
463:
462:
461:
455:
451:
447:
442:
436:
433:
432:
425:
420:
419:
418:
398:
389:
387:
383:
378:
376:
372:
368:
364:
361:notation for
360:
356:
352:
348:
344:
340:
336:
330:
292:
288:
277:
274:
259:
256:
248:
245:December 2023
237:
234:
230:
227:
223:
220:
216:
213:
209:
206: –
205:
201:
200:Find sources:
194:
190:
184:
183:
178:This article
176:
172:
167:
166:
157:
154:
146:
143:December 2023
136:
132:
126:
123:This article
121:
112:
111:
102:
99:December 2023
92:
87:
85:
80:This article
78:
69:
68:
63:
61:
54:
53:
48:
47:
42:
37:
28:
27:
22:
3388:
3329:. Includes
3325:the original
3315:
3283:
3263:, retrieved
3259:the original
3249:
3229:
3214:Algol-60 BNF
3213:
3185:
3175:
3168:
3134:
3109:
3102:
3090:. Retrieved
3085:
3076:
3065:. Retrieved
3061:the original
3051:
3040:
3031:Source forge
3030:
3023:
3002:
2994:
2984:
2976:the original
2970:
2963:
2953:, retrieved
2949:the original
2943:
2936:
2924:
2903:
2900:(Jan 1967).
2892:
2880:. Retrieved
2870:
2843:
2839:
2829:
2802:
2798:
2785:
2773:. Retrieved
2762:
2750:. Retrieved
2735:
2726:
2698:. Retrieved
2684:
2674:
2667:
2656:the original
2635:
2631:
2618:
2586:
2582:
2572:
2561:. Retrieved
2551:
2536:
2526:
2333:
2233:
2222:rather than
2206:
2192:
2170:
2151:
2120:
2116:<text>
2094:
2083:
2079:empty string
2076:
1453:
1434:
1409:
1402:
1398:
1347:<term>
1344:
1340:Metacompiler
1328:
1258:<expr>
1236:
1228:<term>
1224:<expr>
1220:
1160:
1152:metalanguage
1112:
1093:
1088:
1081:
1075:
1068:
1062:
1059:
1052:
1046:
1043:
1028:
1023:
1018:
1012:
1010:
1001:
997:
996:. The name
985:
982:Donald Knuth
977:
963:
956:
953:
945:metalanguage
935:
915:Noam Chomsky
892:
872:
853:
845:
771:
479:
470:
459:
450:vertical bar
429:
416:
395:
379:
334:
290:
284:
269:
251:
242:
232:
225:
218:
211:
199:
187:Please help
182:verification
179:
149:
140:
124:
96:
89:Please help
81:
57:
50:
44:
43:Please help
40:
3284:Source code
3250:DB research
2989:System/360.
2096:<EOL>
1305:'-'
1281:'+'
990:normal form
937:John Backus
911:Alan Turing
905:(in 1914),
893:Meanwhile,
797:end-of-line
750:opt-apt-num
660:opt-apt-num
651:street-name
431:nonterminal
397:written as
384:(EBNF) and
351:John Backus
3439:Categories
3372:Metasyntax
3316:Exp engine
3265:2007-01-25
3211:Bernhard,
3117:: Chalmers
3092:10 January
3067:2013-09-25
2955:2011-07-03
2898:Saul Rosen
2877:"ALGOL 60"
2846:(3): 137.
2563:2014-03-22
2519:<ab>
2465:References
2263:, such as
2248:) such as
2224:generative
2090:whitespace
1984:character2
1962:character1
1864:character2
1833:character1
1648:expression
1598:expression
1557:expression
1163:Saul Rosen
1156:Saul Rosen
974:Peter Naur
959:<ab>
830:state code
808:first name
700:state-code
610:first-name
359:metasyntax
355:Peter Naur
333:) (BNF or
215:newspapers
46:improve it
3374:notations
3335:ISO 10303
3186:Iso 14977
3176:Standards
3034:(project)
2971:Act world
2968:"Tools",
2882:April 18,
2515:< >
2359:GNU bison
2202:protocols
2046:rule-char
2037:rule-char
2028:rule-name
2006:rule-name
1996:character
1974:character
1882:character
1777:rule-name
1524:rule-name
1407:systems.
1336:TREE-META
1148:< >
1136:< >
1123:< >
913:(1936).
907:Emil Post
903:Axel Thue
876:linguists
819:apartment
801:recursion
789:last name
690:town-name
642:house-num
589:name-part
552:last-name
531:name-part
504:name-part
345:or other
52:talk page
3181:or from
3107:"BNFC",
3086:Qlik.com
3057:"JavaCC"
2862:52817672
2821:47537431
2793:(1964).
2746:Archived
2721:(1959).
2700:26 March
2652:19519474
2605:52817672
2401:See also
2396:and Java
2220:analytic
2137:Variants
2100:line-end
1697:line-end
1688:line-end
1657:line-end
1566:line-end
1387:><
1323:'));
1209:><
1203:><
1161:In 1947
970:ALGOL 60
949:ALGOL 58
878:such as
868:Sanskrit
782:zip-code
709:ZIP-code
678:zip-part
522:zip-part
392:Overview
388:(ABNF).
3333:of the
3045:bnf2xml
2752:May 11,
2535:at the
2517:, like
2453:Algol68
2431:Meta-II
2394:Haskell
2200:(IETF)
1787:literal
1767:literal
1543:"
1384:integer
1362:integer
1332:META II
1239:META II
1063:comment
1047:comment
968:led to
850:History
812:initial
763:apt-num
620:initial
476:Example
417:where:
229:scholar
129:Please
3303:Ada 95
3295:Pascal
3230:Savage
3160:
3150:
3142:: Priv
3011:
2912:
2860:
2819:
2775:Jun 3,
2650:
2611:Pāṇini
2603:
2445:(TBNF)
2427:(EBNF)
2409:(ABNF)
2346:JavaCC
2298:Coco/R
2230:Others
2164:. The
2058:letter
2018:letter
1949:symbol
1923:letter
1914:symbol
1894:letter
1539:"
1493:syntax
1462:syntax
1338:, and
1317:('
1299:')
1293:('
1102:. The
1006:Pāṇini
860:Pāṇini
810:or an
793:suffix
454:choice
424:symbol
405:symbol
373:, and
339:syntax
231:
224:
217:
210:
202:
3419:OMeta
3299:COBOL
3237:: Net
3196:: CAM
3190:(PDF)
3179:, ISO
2944:RPatk
2858:S2CID
2817:S2CID
2694:(PDF)
2659:(PDF)
2648:S2CID
2628:(PDF)
2601:S2CID
2488:(PDF)
2415:(CDL)
2330:SHARE
2289:ANTLR
2104:ASCII
2068:digit
1936:digit
1904:digit
1873:text2
1851:text2
1842:text1
1820:text1
1810:text2
1800:text1
1390:digit
1374:digit
1308:TERM
1284:TERM
1272:TERM
1266:EXPR
1206:addop
1069:begin
1060:begin
966:ALGOL
784:part.
428:is a
236:JSTOR
222:books
3414:TBNF
3404:JSGF
3399:EBNF
3384:ABNF
3307:PL/I
3291:EBNF
3275:Java
3162:5511
3152:5234
3094:2022
3009:ISBN
2929:RBNF
2910:ISBN
2884:2015
2777:2014
2754:2011
2702:2015
2543:GFDL
2378:Qlik
2365:Yacc
2313:GOLD
2302:EBNF
2293:Java
2189:ABNF
2183:ABNF
2177:PL/I
2160:and
2142:EBNF
2114:and
2071:>
2065:<
2061:>
2055:<
2049:>
2043:<
2040:>
2034:<
2031:>
2025:<
2021:>
2015:<
2009:>
2003:<
1999:>
1993:<
1987:>
1981:<
1977:>
1971:<
1965:>
1959:<
1952:>
1946:<
1939:>
1933:<
1926:>
1920:<
1917:>
1911:<
1907:>
1901:<
1897:>
1891:<
1885:>
1879:<
1876:>
1870:<
1867:>
1861:<
1854:>
1848:<
1845:>
1839:<
1836:>
1830:<
1823:>
1817:<
1813:>
1807:<
1803:>
1797:<
1790:>
1784:<
1780:>
1774:<
1770:>
1764:<
1758:>
1755:term
1752:<
1749:>
1746:list
1743:<
1740:>
1734:<
1731:>
1728:term
1725:<
1721:>
1718:term
1715:<
1709:>
1706:list
1703:<
1700:>
1694:<
1691:>
1685:<
1681:>
1675:<
1672:>
1666:<
1660:>
1654:<
1651:>
1645:<
1642:>
1636:<
1632:>
1626:<
1623:>
1620:list
1617:<
1613:>
1610:list
1607:<
1601:>
1595:<
1591:>
1585:<
1578:>
1572:<
1569:>
1563:<
1560:>
1554:<
1551:>
1545:<
1537:>
1531:<
1527:>
1521:<
1517:>
1511:<
1505:>
1502:rule
1499:<
1496:>
1490:<
1487:>
1484:rule
1481:<
1477:>
1474:rule
1471:<
1465:>
1459:<
1447:BNF
1426:yacc
1421:>
1417:<
1393:>
1381:<
1377:>
1371:<
1365:>
1359:<
1247:>
1245:and
1243:<
1215:>
1212:term
1200:expr
1197:<
1193:>
1190:term
1187:<
1181:>
1178:expr
1175:<
882:and
826:town
766:>
760:<
753:>
747:<
743:>
737:<
730:>
724:<
721:>
715:<
712:>
706:<
703:>
697:<
693:>
687:<
681:>
675:<
672:>
666:<
663:>
657:<
654:>
648:<
645:>
639:<
633:>
627:<
623:>
617:<
613:>
607:<
601:>
595:<
592:>
586:<
583:>
577:<
573:>
567:<
564:>
558:<
555:>
549:<
546:>
540:<
534:>
528:<
525:>
519:<
516:>
510:<
507:>
501:<
495:>
489:<
426:>
422:<
408:>
402:<
353:and
326:aʊər
208:news
3321:SVN
3271:Ada
3241:SQL
3158:RFC
3148:RFC
2848:doi
2807:doi
2640:doi
2591:doi
2369:Lex
2325:XPL
2252:or
2175:'s
2173:IBM
2110:).
2052:::=
2012:::=
1990:::=
1968:::=
1955:::=
1942:::=
1929:::=
1888:::=
1857:::=
1826:::=
1793:::=
1761:::=
1712:::=
1678:EOL
1663:::=
1604:::=
1581:::=
1541:::=
1508:::=
1468:::=
1368:::=
1320:SUB
1314:OUT
1296:ADD
1290:OUT
1184:::=
1140:::=
1128:::=
1096:::=
1082:end
1076:end
941:IBM
923:MIT
921:at
897:as
756:::=
733:::=
718:EOL
684:::=
669:EOL
636:::=
604:::=
570:EOL
537:::=
498:::=
438:::=
411:::=
341:of
289:,
285:In
191:by
133:to
3441::
3305:,
3301:,
3297:,
3273:,
3255:CH
3253:,
3235:AU
3233:,
3219:DE
3217:,
3194:UK
3192:,
3140:NO
3138:,
3115:SE
3113:,
3084:.
2856:.
2844:10
2842:.
2838:.
2815:.
2801:.
2797:.
2744:.
2725:.
2710:^
2646:.
2634:.
2630:.
2599:.
2587:10
2585:.
2581:.
2496:^
2473:^
2204:.
2081:.
2063:|
2023:|
1909:|
1899:|
1723:|
1683:|
1615:|
1479:|
1419:,
1342:.
1334:,
1275:$
1234:.
1158:.
1130:,
1108:or
1100::≡
1015::
980:.
890:.
864:BC
615:|
575:|
484::
377:.
369:,
55:.
3364:e
3357:t
3350:v
3319:(
3309:.
3277:.
3243:.
3144:.
3096:.
3070:.
3017:.
2931:.
2918:.
2886:.
2864:.
2850::
2823:.
2809::
2803:7
2779:.
2756:.
2704:.
2642::
2636:2
2607:.
2593::
2566:.
2490:.
2336:)
2267:.
2261:+
2246:*
2241:.
2162:+
2158:*
2131:|
1379:|
1311:.
1302:|
1287:.
1278:(
1269:=
1254:)
1251:(
1195:|
1144:|
1132:|
1104:|
1053:;
1044:;
329:/
323:n
320:ˈ
315:s
312:ə
309:k
306:æ
303:b
300:ˌ
297:/
293:(
276:)
270:(
258:)
252:(
247:)
243:(
233:·
226:·
219:·
212:·
185:.
156:)
150:(
145:)
141:(
127:.
101:)
97:(
86:.
62:)
58:(
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.