CINXE.COM

Augmented Backus–Naur form - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Augmented Backus–Naur form - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"796f8b24-d198-4e91-a036-b090822bbea2","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Augmented_Backus–Naur_form","wgTitle":"Augmented Backus–Naur form","wgCurRevisionId":1263711416,"wgRevisionId":1263711416,"wgArticleId":60476,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description matches Wikidata","Articles containing potentially dated statements from December 2010","All articles containing potentially dated statements","Formal languages","Metalanguages"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Augmented_Backus–Naur_form","wgRelevantArticleId":60476,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable" :true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":10000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q538050","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false, "wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init", "ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.16"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Augmented Backus–Naur form - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Augmented_Backus%E2%80%93Naur_form"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Augmented_Backus%E2%80%93Naur_form"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Augmented_Backus–Naur_form rootpage-Augmented_Backus–Naur_form skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Augmented+Backus%E2%80%93Naur+form" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Augmented+Backus%E2%80%93Naur+form" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Augmented+Backus%E2%80%93Naur+form" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Augmented+Backus%E2%80%93Naur+form" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Overview" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Overview"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Overview</span> </div> </a> <ul id="toc-Overview-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Terminal_values" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Terminal_values"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Terminal values</span> </div> </a> <ul id="toc-Terminal_values-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Operators" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Operators"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Operators</span> </div> </a> <button aria-controls="toc-Operators-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Operators subsection</span> </button> <ul id="toc-Operators-sublist" class="vector-toc-list"> <li id="toc-White_space" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#White_space"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>White space</span> </div> </a> <ul id="toc-White_space-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Comment" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Comment"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Comment</span> </div> </a> <ul id="toc-Comment-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Concatenation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Concatenation"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>Concatenation</span> </div> </a> <ul id="toc-Concatenation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Alternative" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Alternative"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.4</span> <span>Alternative</span> </div> </a> <ul id="toc-Alternative-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Incremental_alternatives" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Incremental_alternatives"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.5</span> <span>Incremental alternatives</span> </div> </a> <ul id="toc-Incremental_alternatives-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Value_range" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Value_range"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.6</span> <span>Value range</span> </div> </a> <ul id="toc-Value_range-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Sequence_group" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Sequence_group"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.7</span> <span>Sequence group</span> </div> </a> <ul id="toc-Sequence_group-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Variable_repetition" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Variable_repetition"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.8</span> <span>Variable repetition</span> </div> </a> <ul id="toc-Variable_repetition-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Specific_repetition" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Specific_repetition"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.9</span> <span>Specific repetition</span> </div> </a> <ul id="toc-Specific_repetition-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Optional_sequence" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Optional_sequence"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.10</span> <span>Optional sequence</span> </div> </a> <ul id="toc-Optional_sequence-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Operator_precedence" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Operator_precedence"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.11</span> <span>Operator precedence</span> </div> </a> <ul id="toc-Operator_precedence-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Core_rules" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Core_rules"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.12</span> <span>Core rules</span> </div> </a> <ul id="toc-Core_rules-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Example" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Example"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Example</span> </div> </a> <ul id="toc-Example-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Pitfalls" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Pitfalls"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Pitfalls</span> </div> </a> <ul id="toc-Pitfalls-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Augmented Backus–Naur form</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 6 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-6" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">6 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Roz%C5%A1%C3%AD%C5%99en%C3%A1_Backusova%E2%80%93Naurova_forma" title="Rozšířená Backusova–Naurova forma – Czech" lang="cs" hreflang="cs" data-title="Rozšířená Backusova–Naurova forma" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Angereicherte_Backus-Naur-Form" title="Angereicherte Backus-Naur-Form – German" lang="de" hreflang="de" data-title="Angereicherte Backus-Naur-Form" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Augmented_Backus-Naur_Form" title="Augmented Backus-Naur Form – French" lang="fr" hreflang="fr" data-title="Augmented Backus-Naur Form" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Pove%C4%87ani_Backus-Naurov_oblik" title="Povećani Backus-Naurov oblik – Croatian" lang="hr" hreflang="hr" data-title="Povećani Backus-Naurov oblik" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/ABNF" title="ABNF – Japanese" lang="ja" hreflang="ja" data-title="ABNF" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E6%89%A9%E5%85%85%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F" title="扩充巴科斯范式 – Chinese" lang="zh" hreflang="zh" data-title="扩充巴科斯范式" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q538050#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Augmented_Backus%E2%80%93Naur_form" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Augmented_Backus%E2%80%93Naur_form" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Augmented_Backus%E2%80%93Naur_form"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Augmented_Backus%E2%80%93Naur_form"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Augmented_Backus%E2%80%93Naur_form" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Augmented_Backus%E2%80%93Naur_form" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;oldid=1263711416" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Augmented_Backus%E2%80%93Naur_form&amp;id=1263711416&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FAugmented_Backus%25E2%2580%2593Naur_form"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FAugmented_Backus%25E2%2580%2593Naur_form"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Augmented_Backus%E2%80%93Naur_form&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q538050" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Metalanguage based on Backus–Naur Form (BNF)</div> <p>In <a href="/wiki/Computer_science" title="Computer science">computer science</a>, <b>augmented Backus–Naur form</b> (<b>ABNF</b>) is a <a href="/wiki/Metalanguage" title="Metalanguage">metalanguage</a> based on <a href="/wiki/Backus%E2%80%93Naur_form" title="Backus–Naur form">Backus–Naur form</a> (BNF) but consisting of its own syntax and derivation rules. The motive principle for ABNF is to describe a <a href="/wiki/Formal_system" title="Formal system">formal system</a> of a language to be used as a bidirectional <a href="/wiki/Communications_protocol" class="mw-redirect" title="Communications protocol">communications protocol</a>. It is defined by <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/std68"><i>Internet Standard 68</i></a> ("STD 68", type case sic), which as of December&#160;2010<sup class="plainlinks noexcerpt noprint asof-tag update" style="display:none;"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit">&#91;update&#93;</a></sup> was <style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><a href="/wiki/RFC_(identifier)" class="mw-redirect" title="RFC (identifier)">RFC</a>&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc5234">5234</a>, and it often serves as the definition language for <a href="/wiki/IETF" class="mw-redirect" title="IETF">IETF</a> communication protocols.<sup id="cite_ref-Internet_Standards_1-0" class="reference"><a href="#cite_note-Internet_Standards-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-STD_68_2-0" class="reference"><a href="#cite_note-STD_68-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </p><p><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/RFC_(identifier)" class="mw-redirect" title="RFC (identifier)">RFC</a>&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc5234">5234</a> supersedes <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/RFC_(identifier)" class="mw-redirect" title="RFC (identifier)">RFC</a>&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc4234">4234</a>, <a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc2234">2234</a> and <a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc733">733</a>.<sup id="cite_ref-&#82;FC_Index_3-0" class="reference"><a href="#cite_note-RFC_Index-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/RFC_(identifier)" class="mw-redirect" title="RFC (identifier)">RFC</a>&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc7405">7405</a> updates it, adding a syntax for specifying case-sensitive string literals. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Overview">Overview</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=1" title="Edit section: Overview"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:ABNF_syntax_diagram_of_ABNF_core_rules.png" class="mw-file-description"><img alt="ABNF syntax diagram of ABNF rules" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/32/ABNF_syntax_diagram_of_ABNF_core_rules.png/220px-ABNF_syntax_diagram_of_ABNF_core_rules.png" decoding="async" width="220" height="963" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/32/ABNF_syntax_diagram_of_ABNF_core_rules.png/330px-ABNF_syntax_diagram_of_ABNF_core_rules.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/32/ABNF_syntax_diagram_of_ABNF_core_rules.png/440px-ABNF_syntax_diagram_of_ABNF_core_rules.png 2x" data-file-width="921" data-file-height="4033" /></a><figcaption>ABNF <a href="/wiki/Syntax_diagram" title="Syntax diagram">syntax diagram</a> of ABNF rules</figcaption></figure> <p>An ABNF specification is a set of derivation rules, written as </p> <div class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" dir="ltr"><pre><span></span><span class="nc">rule</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">definition</span><span class="c1">; comment CR LF</span> </pre></div> <p>where rule is a <a href="/wiki/Case_sensitivity" title="Case sensitivity">case-insensitive</a> <a href="/wiki/Nonterminal" class="mw-redirect" title="Nonterminal">nonterminal</a>, the definition consists of sequences of symbols that define the rule, a comment for documentation, and ending with a carriage return and line feed. </p><p>Rule names are case-insensitive: <code>&lt;rulename&gt;</code>, <code>&lt;Rulename&gt;</code>, <code>&lt;RULENAME&gt;</code>, and <code>&lt;rUlENamE&gt;</code> all refer to the same rule. Rule names consist of a letter followed by letters, numbers, and hyphens. </p><p>Angle brackets (<code>&lt;</code>, <code>&gt;</code>) are not required around rule names (as they are in BNF). However, they may be used to delimit a rule name when used in prose to discern a rule name. </p> <div class="mw-heading mw-heading2"><h2 id="Terminal_values">Terminal values</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=2" title="Edit section: Terminal values"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Terminal_symbol" class="mw-redirect" title="Terminal symbol">Terminals</a> are specified by one or more numeric characters. </p><p>Numeric characters may be specified as the percent sign <code>%</code>, followed by the base (<code>b</code> = binary, <code>d</code> = decimal, and <code>x</code> = hexadecimal), followed by the value, or concatenation of values (indicated by <code>.</code>). For example, a carriage return is specified by <code>%d13</code> in decimal or <code>%x0D</code> in hexadecimal. A carriage return followed by a line feed may be specified with concatenation as <code>%d13.10</code>. </p><p>Literal text is specified through the use of a string enclosed in quotation marks (<code>"</code>). These strings are case-insensitive, and the character set used is (US-)ASCII. Therefore, the string <code>"abc"</code> will match “abc”, “Abc”, “aBc”, “abC”, “ABc”, “AbC”, “aBC”, and “ABC”. <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc7405">RFC 7405</a> added a syntax for case-sensitive strings: <code>%s"aBc"</code> will only match "aBc". Prior to that, a case-sensitive string could only be specified by listing the individual characters: to match “aBc”, the definition would be <code>%d97.66.99</code>. A string can also be explicitly specified as case-insensitive with a <code>%i</code> prefix. </p> <div class="mw-heading mw-heading2"><h2 id="Operators">Operators</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=3" title="Edit section: Operators"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="White_space">White space</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=4" title="Edit section: White space"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>White space is used to separate elements of a definition; for space to be recognized as a delimiter, it must be explicitly included. The explicit reference for a single whitespace character is <code>WSP</code> (linear white space), and <code>LWSP</code> is for zero or more whitespace characters with newlines permitted. The <code>LWSP</code> definition in RFC5234 is controversial<sup id="cite_ref-&#82;FC5234_Errata_4-0" class="reference"><a href="#cite_note-RFC5234_Errata-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> because at least one whitespace character is needed to form a delimiter between two fields. </p><p>Definitions are left-aligned. When multiple lines are required (for readability), continuation lines are indented by whitespace. </p> <div class="mw-heading mw-heading3"><h3 id="Comment">Comment</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=5" title="Edit section: Comment"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>; comment</code> </p><p>A semicolon (<code>;</code>) starts a comment that continues to the end of the line. </p> <div class="mw-heading mw-heading3"><h3 id="Concatenation">Concatenation</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=6" title="Edit section: Concatenation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>Rule1 Rule2</code> </p><p>A rule may be defined by listing a sequence of rule names. </p><p>To match the string “aba”, the following rules could be used: </p> <ul><li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">fu</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="l">%x61</span><span class="w"> </span><span class="c1">; a</span></code></li> <li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">bar</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="l">%x62</span><span class="w"> </span><span class="c1">; b</span></code></li> <li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">mumble</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">fu</span><span class="w"> </span><span class="nc">bar</span><span class="w"> </span><span class="nc">fu</span></code></li></ul> <div class="mw-heading mw-heading3"><h3 id="Alternative">Alternative</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=7" title="Edit section: Alternative"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>Rule1 / Rule2</code> </p><p>A rule may be defined by a list of alternative rules separated by a <a href="/wiki/Solidus_(punctuation)" class="mw-redirect" title="Solidus (punctuation)">solidus</a> (<code>/</code>). </p><p>To accept the rule <i>fu</i> or the rule <i>bar</i>, the following rule could be constructed: </p> <ul><li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">fubar</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">fu</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nc">bar</span></code></li></ul> <div class="mw-heading mw-heading3"><h3 id="Incremental_alternatives">Incremental alternatives</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=8" title="Edit section: Incremental alternatives"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>Rule1 =/ Rule2</code> </p><p>Additional alternatives may be added to a rule through the use of <code>=/</code> between the rule name and the definition. </p><p>The rule </p> <ul><li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">ruleset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">alt1</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nc">alt2</span></code></li> <li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">ruleset</span><span class="w"> </span><span class="o">=/</span><span class="w"> </span><span class="nc">alt3</span></code></li> <li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">ruleset</span><span class="w"> </span><span class="o">=/</span><span class="w"> </span><span class="nc">alt4</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nc">alt5</span></code></li></ul> <p>is therefore equivalent to </p> <ul><li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">ruleset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">alt1</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nc">alt2</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nc">alt3</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nc">alt4</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nc">alt5</span></code></li></ul> <div class="mw-heading mw-heading3"><h3 id="Value_range">Value range</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=9" title="Edit section: Value range"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>%c##-##</code> </p><p>A range of numeric values may be specified through the use of a hyphen (<code>-</code>). </p><p>The rule </p> <ul><li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">OCTAL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="l">%x30-37</span></code></li></ul> <p>is equivalent to </p> <ul><li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">OCTAL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="l">&quot;0&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;1&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;2&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;3&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;4&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;5&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;6&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;7&quot;</span></code></li></ul> <div class="mw-heading mw-heading3"><h3 id="Sequence_group">Sequence group</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=10" title="Edit section: Sequence group"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>(Rule1 Rule2)</code> </p><p>Elements may be placed in parentheses to group rules in a definition. </p><p>To match "a b d" or "a c d", the following rule could be constructed: </p> <ul><li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">group</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">a</span><span class="w"> </span><span class="p">(</span><span class="nc">b</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nc">c</span><span class="p">)</span><span class="w"> </span><span class="nc">d</span></code></li></ul> <p>To match “a b” or “c d”, the following rules could be constructed: </p> <ul><li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">group</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">a</span><span class="w"> </span><span class="nc">b</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nc">c</span><span class="w"> </span><span class="nc">d</span></code></li> <li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="nc">group</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="nc">a</span><span class="w"> </span><span class="nc">b</span><span class="p">)</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="p">(</span><span class="nc">c</span><span class="w"> </span><span class="nc">d</span><span class="p">)</span></code></li></ul> <div class="mw-heading mw-heading3"><h3 id="Variable_repetition">Variable repetition</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=11" title="Edit section: Variable repetition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>n*nRule</code> </p><p>To indicate repetition of an element, the form <code>&lt;a&gt;*&lt;b&gt;element</code> is used. The optional <code>&lt;a&gt;</code> gives the minimal number of elements to be included (with the default of 0). The optional <code>&lt;b&gt;</code> gives the maximal number of elements to be included (with the default of infinity). </p><p>Use <code>*element</code> for zero or more elements, <code>*1element</code> for zero or one element, <code>1*element</code> for one or more elements, and <code>2*3element</code> for two or three elements, cf. <a href="/wiki/Regular_expression" title="Regular expression">regular expressions</a> <code>e*</code>, <code>e?</code>, <code>e+</code> and <code>e{2,3}</code>. </p> <div class="mw-heading mw-heading3"><h3 id="Specific_repetition">Specific repetition</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=12" title="Edit section: Specific repetition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>nRule</code> </p><p>To indicate an explicit number of elements, the form <code>&lt;a&gt;element</code> is used and is equivalent to <code>&lt;a&gt;*&lt;a&gt;element</code>. </p><p>Use <code>2DIGIT</code> to get two numeric digits, and <code>3DIGIT</code> to get three numeric digits. (<code>DIGIT</code> is defined below under "<a href="#Core_rules">Core rules</a>". Also see <i>zip-code</i> in the example below.) </p> <div class="mw-heading mw-heading3"><h3 id="Optional_sequence">Optional sequence</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=13" title="Edit section: Optional sequence"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code>[Rule]</code> </p><p>To indicate an optional element, the following constructions are equivalent: </p> <ul><li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="p">[</span><span class="nc">fubar</span><span class="w"> </span><span class="nc">snafu</span><span class="p">]</span></code></li> <li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="o">*1</span><span class="p">(</span><span class="nc">fubar</span><span class="w"> </span><span class="nc">snafu</span><span class="p">)</span></code></li> <li><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="" dir="ltr"><span class="o">0*1</span><span class="p">(</span><span class="nc">fubar</span><span class="w"> </span><span class="nc">snafu</span><span class="p">)</span></code></li></ul> <div class="mw-heading mw-heading3"><h3 id="Operator_precedence">Operator precedence</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=14" title="Edit section: Operator precedence"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The following operators have the given precedence from tightest binding to loosest binding: </p> <ol><li>Strings, names formation</li> <li>Comment</li> <li>Value range</li> <li>Repetition</li> <li>Grouping, optional</li> <li>Concatenation</li> <li>Alternative</li></ol> <p>Use of the alternative operator with concatenation may be confusing, and it is recommended that grouping be used to make explicit concatenation groups. </p> <div class="mw-heading mw-heading3"><h3 id="Core_rules">Core rules</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=15" title="Edit section: Core rules"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:ABNF_core_rules.png" class="mw-file-description"><img alt="ABNF syntax diagram of core rules" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5d/ABNF_core_rules.png/220px-ABNF_core_rules.png" decoding="async" width="220" height="914" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/5d/ABNF_core_rules.png/330px-ABNF_core_rules.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/5d/ABNF_core_rules.png/440px-ABNF_core_rules.png 2x" data-file-width="470" data-file-height="1952" /></a><figcaption>ABNF <a href="/wiki/Syntax_diagram" title="Syntax diagram">syntax diagram</a> of core rules</figcaption></figure> <p>The core rules are defined in the ABNF standard. </p> <table class="wikitable"> <tbody><tr style="background-color: #efefef;"> <th>Rule</th> <th>Formal definition</th> <th>Meaning </th></tr> <tr> <td>ALPHA</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x41</span>–<span class="l">%x5A</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">%x61</span>–<span class="l">%x7A</span></code></td> <td>Upper- and lower-case ASCII letters (A–Z, a–z) </td></tr> <tr> <td>DIGIT</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x30</span>–<span class="o">39</span></code></td> <td>Decimal digits (0–9) </td></tr> <tr> <td>HEXDIG</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="k">DIGIT</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;A&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;B&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;C&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;D&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;E&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;F&quot;</span></code></td> <td>Hexadecimal digits (0–9, A–F, a–f) </td></tr> <tr> <td>DQUOTE</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x22</span></code></td> <td>Double quote </td></tr> <tr> <td>SP</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x20</span></code></td> <td>Space </td></tr> <tr> <td>HTAB</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x09</span></code></td> <td>Horizontal tab </td></tr> <tr> <td>WSP</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="k">SP</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">HTAB</span></code></td> <td>Space and horizontal tab </td></tr> <tr> <td>LWSP</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="o">*</span><span class="p">(</span><span class="k">WSP</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">CRLF</span><span class="w"> </span><span class="k">WSP</span><span class="p">)</span></code></td> <td>Linear white space (past newline) </td></tr> <tr> <td>VCHAR</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x21</span>–<span class="l">%x7E</span></code></td> <td>Visible (printing) characters </td></tr> <tr> <td>CHAR</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x01</span>–<span class="l">%x7F</span></code></td> <td>Any ASCII character, excluding NUL </td></tr> <tr> <td>OCTET</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x00</span>–<span class="l">%xFF</span></code></td> <td>8 bits of data </td></tr> <tr> <td>CTL</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x00</span>–<span class="l">%x1F</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">%x7F</span></code></td> <td>Controls </td></tr> <tr> <td>CR</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x0D</span></code></td> <td>Carriage return </td></tr> <tr> <td>LF</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">%x0A</span></code></td> <td>Linefeed </td></tr> <tr> <td>CRLF</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="k">CR</span><span class="w"> </span><span class="k">LF</span></code></td> <td>Internet-standard newline </td></tr> <tr> <td>BIT</td> <td><code class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" style="background:none; border:none; color:inherit; padding: 0px 0px;" dir="ltr"><span class="l">&quot;0&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;1&quot;</span></code></td> <td>Binary digit </td></tr> </tbody></table> <p>Note that in the core rules diagram the <b>CHAR2</b> charset is inlined in <b>char-val</b> and <b>CHAR3</b> is inlined in <b>prose-val</b> in the RFC spec. They are named here for clarity in the main syntax diagram. </p> <div class="mw-heading mw-heading2"><h2 id="Example">Example</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=16" title="Edit section: Example"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The (U.S.) postal address example given in the augmented Backus–Naur form (ABNF) page may be specified as follows: </p> <div class="mw-highlight mw-highlight-lang-abnf mw-content-ltr" dir="ltr"><pre><span></span><span class="nc">postal-address</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">name-part</span><span class="w"> </span><span class="nc">street</span><span class="w"> </span><span class="nc">zip-part</span> <span class="nc">name-part</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">*</span><span class="p">(</span><span class="nc">personal-part</span><span class="w"> </span><span class="k">SP</span><span class="p">)</span><span class="w"> </span><span class="nc">last-name</span><span class="w"> </span><span class="p">[</span><span class="k">SP</span><span class="w"> </span><span class="nc">suffix</span><span class="p">]</span><span class="w"> </span><span class="k">CRLF</span> <span class="nc">name-part</span><span class="w"> </span><span class="o">=/</span><span class="w"> </span><span class="nc">personal-part</span><span class="w"> </span><span class="k">CRLF</span> <span class="nc">personal-part</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">first-name</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="p">(</span><span class="nc">initial</span><span class="w"> </span><span class="l">&quot;.&quot;</span><span class="p">)</span> <span class="nc">first-name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">*</span><span class="k">ALPHA</span> <span class="nc">initial</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">ALPHA</span> <span class="nc">last-name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">*</span><span class="k">ALPHA</span> <span class="nc">suffix</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="l">&quot;Jr.&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;Sr.&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="o">1*</span><span class="p">(</span><span class="l">&quot;I&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;V&quot;</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="l">&quot;X&quot;</span><span class="p">))</span> <span class="nc">street</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="nc">apt</span><span class="w"> </span><span class="k">SP</span><span class="p">]</span><span class="w"> </span><span class="nc">house-num</span><span class="w"> </span><span class="k">SP</span><span class="w"> </span><span class="nc">street-name</span><span class="w"> </span><span class="k">CRLF</span> <span class="nc">apt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">1*4</span><span class="k">DIGIT</span> <span class="nc">house-num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">1*8</span><span class="p">(</span><span class="k">DIGIT</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">ALPHA</span><span class="p">)</span> <span class="nc">street-name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">1*</span><span class="k">VCHAR</span> <span class="nc">zip-part</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">town-name</span><span class="w"> </span><span class="l">&quot;,&quot;</span><span class="w"> </span><span class="k">SP</span><span class="w"> </span><span class="nc">state</span><span class="w"> </span><span class="o">1*2</span><span class="k">SP</span><span class="w"> </span><span class="nc">zip-code</span><span class="w"> </span><span class="k">CRLF</span> <span class="nc">town-name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">1*</span><span class="p">(</span><span class="k">ALPHA</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="k">SP</span><span class="p">)</span> <span class="nc">state</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">2</span><span class="k">ALPHA</span> <span class="nc">zip-code</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">5</span><span class="k">DIGIT</span><span class="w"> </span><span class="p">[</span><span class="l">&quot;-&quot;</span><span class="w"> </span><span class="o">4</span><span class="k">DIGIT</span><span class="p">]</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Pitfalls">Pitfalls</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=17" title="Edit section: Pitfalls"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a rel="nofollow" class="external text" href="http://www.ietf.org/rfc/rfc5234.txt">RFC 5234</a> adds a warning in conjunction to the definition of LWSP as follows: </p> <style data-mw-deduplicate="TemplateStyles:r1244412712">.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-output .templatequotecite{line-height:1.5em;text-align:left;margin-top:0}@media(min-width:500px){.mw-parser-output .templatequotecite{padding-left:1.6em}}</style><blockquote class="templatequote"><p>Use of this linear-white-space rule permits lines containing only white space that are no longer legal in mail headers and have caused interoperability problems in other contexts. Do not use when defining mail headers and use with caution in other contexts.</p></blockquote> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;action=edit&amp;section=18" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-Internet_Standards-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Internet_Standards_1-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.rfc-editor.org/rfcxx00.html">"Official Internet Protocol Standards"</a>. RFC Editor. 2010-02-21. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100209035909/http://www.rfc-editor.org/rfcxx00.html">Archived</a> from the original on 9 February 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-02-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Official+Internet+Protocol+Standards&amp;rft.pub=&#82;FC+Editor&amp;rft.date=2010-02-21&amp;rft_id=http%3A%2F%2Fwww.rfc-editor.org%2Frfcxx00.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AAugmented+Backus%E2%80%93Naur+form" class="Z3988"></span></span> </li> <li id="cite_note-STD_68-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-STD_68_2-0">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCrockerOverell,_P.2008" class="citation web cs1">Crocker, D.; Overell, P. (January 2008). <a rel="nofollow" class="external text" href="http://ftp.rfc-editor.org/in-notes/std/std68.txt">"Augmented BNF for Syntax Specifications: ABNF"</a> <span class="cs1-format">(plain text)</span>. RFC Editor. p.&#160;16<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-02-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Augmented+BNF+for+Syntax+Specifications%3A+ABNF&amp;rft.pages=16&amp;rft.pub=&#82;FC+Editor&amp;rft.date=2008-01&amp;rft.aulast=Crocker&amp;rft.aufirst=D.&amp;rft.au=Overell%2C+P.&amp;rft_id=http%3A%2F%2Fftp.rfc-editor.org%2Fin-notes%2Fstd%2Fstd68.txt&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AAugmented+Backus%E2%80%93Naur+form" class="Z3988"></span></span> </li> <li id="cite_note-&#82;FC_Index-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-RFC_Index_3-0">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.rfc-editor.org/rfc-index2.html">"RFC Index"</a>. RFC Editor. 2010-02-19. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100209041834/http://www.rfc-editor.org/rfc-index2.html">Archived</a> from the original on 9 February 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-02-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=&#82;FC+Index&amp;rft.pub=&#82;FC+Editor&amp;rft.date=2010-02-19&amp;rft_id=http%3A%2F%2Fwww.rfc-editor.org%2Frfc-index2.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AAugmented+Backus%E2%80%93Naur+form" class="Z3988"></span></span> </li> <li id="cite_note-&#82;FC5234_Errata-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-RFC5234_Errata_4-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.rfc-editor.org/errata_search.php?rfc=5234&amp;eid=3096">RFC Errata 3096</a>.</span> </li> </ol></div></div> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Metasyntax_notations24" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Metasyntax_notations" title="Template:Metasyntax notations"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Metasyntax_notations" title="Template talk:Metasyntax notations"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Metasyntax_notations" title="Special:EditPage/Template:Metasyntax notations"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Metasyntax_notations24" style="font-size:114%;margin:0 4em"><a href="/wiki/Metasyntax" title="Metasyntax">Metasyntax</a> notations</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a class="mw-selflink selflink">ABNF</a></li> <li><a href="/wiki/Backus%E2%80%93Naur_form" title="Backus–Naur form">Backus–Naur form</a></li> <li><a href="/wiki/Definite_clause_grammar" title="Definite clause grammar">Definite clause grammar</a></li> <li><a href="/wiki/Extended_Backus%E2%80%93Naur_form" title="Extended Backus–Naur form">EBNF</a></li> <li><a href="/wiki/JSGF" title="JSGF">JSGF</a></li> <li><a href="/wiki/Syntax_Definition_Formalism" title="Syntax Definition Formalism">Syntax Definition Formalism</a></li> <li><a href="/wiki/Translational_Backus%E2%80%93Naur_form" title="Translational Backus–Naur form">TBNF</a></li> <li><a href="/wiki/OMeta" title="OMeta">OMeta</a></li> <li><a href="/wiki/Wirth_syntax_notation" title="Wirth syntax notation">Wirth syntax notation</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐84b999ff94‐nwhqq Cached time: 20250204093628 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.321 seconds Real time usage: 0.413 seconds Preprocessor visited node count: 2405/1000000 Post‐expand include size: 18897/2097152 bytes Template argument size: 3627/2097152 bytes Highest expansion depth: 23/100 Expensive parser function count: 36/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 44971/5000000 bytes Lua time usage: 0.180/10.000 seconds Lua memory usage: 4074947/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 361.384 1 -total 25.00% 90.348 1 Template:Metasyntax 23.11% 83.506 1 Template:Navbox 20.93% 75.641 1 Template:Reflist 18.33% 66.239 1 Template:Short_description 17.95% 64.867 4 Template:IETF_RFC 17.20% 62.168 4 Template:Catalog_lookup_link 17.13% 61.891 3 Template:Cite_web 10.37% 37.478 2 Template:Pagetype 6.15% 22.219 1 Template:As_of --> <!-- Saved in parser cache with key enwiki:pcache:60476:|#|:idhash:canonical and timestamp 20250204093628 and revision id 1263711416. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&amp;type=1x1&amp;usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Augmented_Backus–Naur_form&amp;oldid=1263711416">https://en.wikipedia.org/w/index.php?title=Augmented_Backus–Naur_form&amp;oldid=1263711416</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Formal_languages" title="Category:Formal languages">Formal languages</a></li><li><a href="/wiki/Category:Metalanguages" title="Category:Metalanguages">Metalanguages</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:Articles_containing_potentially_dated_statements_from_December_2010" title="Category:Articles containing potentially dated statements from December 2010">Articles containing potentially dated statements from December 2010</a></li><li><a href="/wiki/Category:All_articles_containing_potentially_dated_statements" title="Category:All articles containing potentially dated statements">All articles containing potentially dated statements</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 18 December 2024, at 05:39<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Augmented_Backus%E2%80%93Naur_form&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" lang="en" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Augmented Backus–Naur form</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>6 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-b766959bd-2wsjz","wgBackendResponseTime":128,"wgPageParseReport":{"limitreport":{"cputime":"0.321","walltime":"0.413","ppvisitednodes":{"value":2405,"limit":1000000},"postexpandincludesize":{"value":18897,"limit":2097152},"templateargumentsize":{"value":3627,"limit":2097152},"expansiondepth":{"value":23,"limit":100},"expensivefunctioncount":{"value":36,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":44971,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 361.384 1 -total"," 25.00% 90.348 1 Template:Metasyntax"," 23.11% 83.506 1 Template:Navbox"," 20.93% 75.641 1 Template:Reflist"," 18.33% 66.239 1 Template:Short_description"," 17.95% 64.867 4 Template:IETF_RFC"," 17.20% 62.168 4 Template:Catalog_lookup_link"," 17.13% 61.891 3 Template:Cite_web"," 10.37% 37.478 2 Template:Pagetype"," 6.15% 22.219 1 Template:As_of"]},"scribunto":{"limitreport-timeusage":{"value":"0.180","limit":"10.000"},"limitreport-memusage":{"value":4074947,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-84b999ff94-nwhqq","timestamp":"20250204093628","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Augmented Backus\u2013Naur form","url":"https:\/\/en.wikipedia.org\/wiki\/Augmented_Backus%E2%80%93Naur_form","sameAs":"http:\/\/www.wikidata.org\/entity\/Q538050","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q538050","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2002-07-04T20:26:57Z","dateModified":"2024-12-18T05:39:16Z"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10