ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

バッカス・ナウア記法

索引 バッカス・ナウア記法

バッカス・ナウア記法(Backus-Naur form)とは、文脈自由文法を定義するのに用いられるメタ言語のことで、一般にBNFやBN記法と略される。現在はこのBNFを拡張したEBNF (Extended BNF) が一般的に使われている。EBNFでは正規表現を用いてより簡単に記述でき、プロトコル規定言語であるASN.1や、XMLの構文定義にも利用されている。 ジョン・バッカスとピーター・ナウアがALGOL 60 の文法定義のために考案。当初は文脈自由文法の本来の定義に則り or(|)以外の定義はなく、繰り返しは再帰を利用して表現されている。*、?等を含む正規表現はBNFを拡張したEBNFによって導入された。パーサジェネレータを使用して構文解析器を生成する際に、構文を定義するためにも使う。 ISO/IEC 14977:1996においてEBNFの標準が定義されているが、EBNFにもいろいろな亜種や変種がある。例えば、RFC2234にはABNFという変種が定義されている。しかし、ABNFは標準のEBNFとかなり異なる部分がある。.

38 関係: ABNFAbstract Syntax Notation OneALGOLANTLR名前形式文法ノーム・チョムスキーバーティカルバーメタ言語プログラミング言語パーニニパーサジェネレータピーター・ナウアドナルド・クヌースアメリカ合衆国アパートインターネットイニシャルジョン・バッカス再帰的定義Bison終端記号と非終端記号生成文法EBNFExtensible Markup Language郵便番号通信プロトコルIBMInternet Engineering Task ForceParsing Expression GrammarPL/IYacc構文解析器正規表現文脈自由文法改行コード1959年

ABNF

ABNF(Augmented Backus–Naur form)は、バッカス・ナウア記法 (BNF) の拡張の一種。構文規則や生成規則はBNFとは異なる。通信プロトコルなどの言語の形式体系を記述するメタ言語として開発された。RFC 5234 で文書化されており、IETF が通信プロトコルを定義する際によく使っている。拡張バッカス・ナウア記法とも呼ばれるが、EBNF(Extended Backus-Naur Form)も同じ訳語となるため、区別するためあえて ABNF としている。 RFC 5234 は、RFC 4234およびRFC 2234 に存在した問題を修正し置換したものである。.

新しい!!: バッカス・ナウア記法とABNF · 続きを見る »

Abstract Syntax Notation One

Abstract Syntax Notation One(ASN.1)とは、電気通信やコンピュータネットワークでのデータ構造の表現・エンコード・転送・デコードを記述する標準的かつ柔軟な記法である。マシン固有の技法などに依存せず、曖昧さのない記述を可能とする形式規則を提供する。 1984年、CCITT X.409: 1984 の一部として、ISOとITU-Tが策定した。ASN.1 はその適用範囲の広さから、1988年に X.208 として独立することとなった。1995年、改訂版が X.680 シリーズとなっている。.

新しい!!: バッカス・ナウア記法とAbstract Syntax Notation One · 続きを見る »

ALGOL

ALGOL(アルゴル)は、命令型プログラミング言語ファミリーの1つファミリー名は大文字/小文字をまじえて表記される場合 と、全て大文字で表記される場合 (ALGOL 68) がある。本項目では ALGOL で統一する。。名前「ALGOL」は「アルゴリズム言語」を意味する英語「algorithmic language」に由来する。1950年代中ごろに開発され、多くの言語に影響を及ぼし、ACMや教科書や学術論文などでアルゴリズム記述のデファクトスタンダードとして30年以上使われた。現代の多くの言語が「ALGOL系」あるいは「ALGOL風」(algol-like) とされているという意味で、ほぼ同世代の高水準言語である FORTRAN、LISP、COBOL に比べて最も成功したと言うこともできる。FORTRANで明らかとなった問題を防ぐよう設計され、BCPL、B、Pascal、Simula、Cといった様々なプログラミング言語に影響を与えた。ALGOLはLisp以外としては「begin と end で囲む」という構文によるブロック構造を導入し、制御構造を自在に入れ子(ネスト)にできる初の広まった言語となったFORTRANにはそのような構造は無い。COBOLではピリオドで全ての入れ子が終端するという仕様だったため(現在はend-ifなどを使う)、入れ子で書ける論理に制限があり、酷いバグの原因にもなりやすかった。。また構文の形式的定義を真剣に検討した最初のプログラミング言語でもあり、"Algol 60 Report" で導入されたバッカス・ナウア記法は、その後のコンピュータ言語等の構文の形式的定義を示す手法として(プログラミング言語だけに限られず)定番の記法となっている。.

新しい!!: バッカス・ナウア記法とALGOL · 続きを見る »

ANTLR

ANTLR(ANother Tool for Language Recognition)とは、LL(*)構文解析に基づくパーサジェネレータである(バージョン3.xはLL(*)、2.xまではLL(k))。PCCTS(Purdue Compiler Construction Tool Set)の後継として1989年に開発され、現在も活発に開発が続いている。中心となっているのは、サンフランシスコ大学の Terence Parr 教授である。 ANTLR はLR法に基づいたパーサジェネレータと競合関係にあり、"ANT(i)-LR"(反LR)と読めるのも偶然ではない。 ANTLR はパーサだけでなくレキサーおよびツリーパーサも生成可能である。 文法の記述方法は、EBNFに似た形式となっている。 4.5 現在、ANTLR は Java、Python (2と3)、C#、JavaScript の構文解析器のコードを生成できる。ANTLR はBSDライセンスで提供されている。.

新しい!!: バッカス・ナウア記法とANTLR · 続きを見る »

名前

名前(なまえ、όνομα、nomen、name)とは、物や人物に与えられた言葉のことで、対象を呼んだりする際に使われる。名称、あるいは単に名とも言う。名前をつけることを「名付ける」「命名(めいめい)する」という。名前として使われる言葉を名詞という。 多くの場合、名前とは人名である。また、人名のうち、家族を表す姓(名字)でない方、個人を識別する名を指すことも多い。ただし、名ではなく姓を指して「名前」と呼ぶこともある。.

新しい!!: バッカス・ナウア記法と名前 · 続きを見る »

姓(せい)とは、東アジアの漢字文化圏で用いられる血縁集団の名称。その範囲は地域や時代によって変動し、氏や名字といった他の血縁集団名と様々な階層関係にあった。近代以降、ヨーロッパなどの他の文化圏の血縁集団名、家系名の訳語としても用いられている。.

新しい!!: バッカス・ナウア記法と姓 · 続きを見る »

形式文法

形式文法(けいしきぶんぽう、Formal Grammar)は、形式的に与えられた(形式体系を参照)文法である。「言語」をその言語における文の集合として与えるものとして、ここでは、(有限の)文字群上の有限長の文字列の(通常無限な)集合が、形式的に記述される。 形式文法にはふたつの捉えかたがある。それは「生成」と「分析」である。#チョムスキー階層の節および単独記事に詳細があるが、両者は対応するので、ある意味では同じものをそれぞれ逆の側から見たものにすぎない。 以下で「文法の規則(構文規則)の集まり」と呼んでいるのは、具体的には、句構造規則#基本モデルにあるようなものである。また終端記号と非終端記号の記事も参照のこと。.

新しい!!: バッカス・ナウア記法と形式文法 · 続きを見る »

ノーム・チョムスキー

イヴラム・ノーム・チョムスキー(、1928年12月7日 - )は、アメリカ合衆国の哲学者, by Zoltán Gendler Szabó, in Dictionary of Modern American Philosophers, 1860–1960, ed.

新しい!!: バッカス・ナウア記法とノーム・チョムスキー · 続きを見る »

バーティカルバー

バーティカルバー (英)は、約物のひとつで、「」と書き表される。Unicode名称はバーティカルライン。縦線とも呼ばれる。コンピュータ言語や数学などで主に使用される記号で、自然言語ではほとんど使用されない。.

新しい!!: バッカス・ナウア記法とバーティカルバー · 続きを見る »

メタ言語

メタ言語(メタげんご、英 Metalanguage)とはある言語について何らかの記述をするための言語である。それだけでは具体的な利用に関する目的をもっておらず、特定のルールを加えることで具体的な応用として利用可能となる。.

新しい!!: バッカス・ナウア記法とメタ言語 · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: バッカス・ナウア記法とプログラミング言語 · 続きを見る »

パーニニ

パーニニ(IAST: Pāṇini, デーヴァナーガリー: पाणिनि; "パーニの子孫"の意)は、紀元前4世紀頃のインドの文法学者である。ガンダーラ(現在のパキスタン)出身。 パーニニはサンスクリット文法学者であり、ヴェーダの補助学(ヴェーダーンガ)のひとつとして生まれた文法学(ヴィヤーカラナ)の体系を確立した。パーニニはアシュターディヤーイー(अष्टाध्यायी、「八つの章」の意。『パーニニ文典』とも呼ぶ)として知られる文法体系の中でサンスクリットの形態論を3959個の規則にまとめたことで名高い。 アシュターディヤーイーは母音子音の文字表から語根からの語幹の派生法や複合語の分類及び品詞の活用などについて略記号を用いて古典サンスクリット語文法について詳解している。アシュターディヤーイーはサンスクリット文法についての最古のもののひとつとされているが、パーニニ自身はさらに古い3つの書(ウナーディスートラ、ダートゥパータ、ガナパータ)について言及している。アシュターディヤーイーは共時的言語学、生成言語学としての最古の研究として知られ、またそれとほぼ同じころの、ニルクタ(語源学)、ニガントゥ(類語辞典のようなもの)、シクシャー(音声学、音韻論)とともにの始まりに位置する。 パーニニによる、広範囲かつ科学的な文法理論は、伝統的に続いて来たヴェーダ語の終わりを記しづけ、同時に今日までに至るサンスクリットの始まりを告げるものである。 2004年8月30日月曜日、インドの郵政省はパーニニをたたえる5ルピーの切手を発行した。.

新しい!!: バッカス・ナウア記法とパーニニ · 続きを見る »

パーサジェネレータ

パーサジェネレータ(parser generator)は、構文解析器を作成するプログラムである。.

新しい!!: バッカス・ナウア記法とパーサジェネレータ · 続きを見る »

ピーター・ナウア

ピーター・ナウア(Peter Naur、1928年10月25日 - 2016年1月3日)はデンマークのコンピュータ科学者であり、チューリング賞受賞者。バッカス・ナウア記法に名前が使われている。バッカス・ナウア記法はプログラミング言語の文法を記述するのに使われている。ALGOL 60プログラミング言語の創造に貢献した。 1957年、天文学の博士号を取得したが、コンピュータと出会ったことでその後の進路が変わった。1959年から1969年までナウアはデンマークのコンピュータ企業 Regnecentralen に勤務し、同時にニールス・ボーア研究所やで教鞭をとっている。1969年から1998年まで、ナウアはコペンハーゲン大学の計算機科学の教授を務めた。 ナウアの主な研究分野はプログラムとアルゴリズムの構造、設計、性能などである。ナウアはソフトウェア工学やソフトウェアアーキテクチャといった分野でも先駆的な研究を行った。彼の著作 Computing: A Human Activity(1992年)にはナウアの計算機科学での業績が集められているが、その中で彼は数学の一部としてプログラミングを捉えるような過度の形式化を拒絶する態度を表明している。同じ理由から、他にも近年はバッカス・ナウア記法についてもともとの呼び方であったBackus Normal Formと呼ぶべきだとしている(BNFはもともとはBackus Normal Formの頭字語であったが、ドナルド・クヌースがナウアの貢献を指摘して、バッカス・ナウア記法と呼ぶことを提案し広く受け入れられた、という経緯がある)。 また「コンピュータ科学」(computer science) という用語を嫌い、datalogy と呼ぶことを提案している。このためデンマークとスウェーデンでは計算機科学に相当する分野を datalogi と呼ぶ。 後年、ナウアは科学全体について率直に語るようになった。ナウアは経験論者と言えるかも知れない。経験論では観測された事実を重んじる。ナウアは哲学と心理学の一部を経験論的観点で攻撃した。また2004年、人間の思考に関する理論 Synapse-State Theory of Mental Life を発表し、その後もこれを発展させようとしている。 ナウアは ALGOL 60 プログラミング言語の定義に関する貢献に対して2005年のチューリング賞を授与された。特にバッカス・ナウア記法を最初に使った "Report on the Algorithmic Language ALGOL 60" では編集者の役割を果たした。2012年現在、デンマーク人としては唯一のチューリング賞受賞者である。 2016年1月3日に88歳で永眠。.

新しい!!: バッカス・ナウア記法とピーター・ナウア · 続きを見る »

ドナルド・クヌース

ドナルド・エルビン・クヌース(Donald Ervin Knuth, 1938年1月10日 -)は数学者、計算機科学者。スタンフォード大学名誉教授。 クヌースによるアルゴリズムに関する著作 The Art of Computer Programming のシリーズはプログラミングに携わるものの間では有名である。アルゴリズム解析と呼ばれる分野を開拓し、計算理論の発展に多大な貢献をしている。その過程で漸近記法で計算量を表すことを一般化させた。 理論計算機科学への貢献とは別に、コンピュータによる組版システム TeX とフォント設計システム METAFONT の開発者でもあり、Computer Modern という書体ファミリも開発した。 作家であり学者であるクヌースは、文芸的プログラミングのコンセプトを生み出し、そのためのプログラミングシステム WEB / CWEB を開発。また、MIX / MMIX 命令セットアーキテクチャを設計。.

新しい!!: バッカス・ナウア記法とドナルド・クヌース · 続きを見る »

アメリカ合衆国

アメリカ合衆国(アメリカがっしゅうこく、)、通称アメリカ、米国(べいこく)は、50の州および連邦区から成る連邦共和国である。アメリカ本土の48州およびワシントンD.C.は、カナダとメキシコの間の北アメリカ中央に位置する。アラスカ州は北アメリカ北西部の角に位置し、東ではカナダと、西ではベーリング海峡をはさんでロシアと国境を接している。ハワイ州は中部太平洋における島嶼群である。同国は、太平洋およびカリブに5つの有人の海外領土および9つの無人の海外領土を有する。985万平方キロメートル (km2) の総面積は世界第3位または第4位、3億1千7百万人の人口は世界第3位である。同国は世界で最も民族的に多様かつ多文化な国の1つであり、これは多くの国からの大規模な移住の産物とされているAdams, J.Q.;Strother-Adams, Pearlie (2001).

新しい!!: バッカス・ナウア記法とアメリカ合衆国 · 続きを見る »

アパート

アパートとは、建物の内部を複数に区切り、それぞれを独立した住居として居住用として供与する集合住宅。英語「アパートメント (apartment)」を元にした和製英語。かつては分譲住宅に対しても用いられたが、現在ではほとんどの場合において賃貸物件を指す用語となっている。 同種の共同住宅のうち、比較的大規模・豪華なものは、日本では「マンション」と称されることが多いが、マンションは本来は「豪邸」の意味であるため日本でしか通用しない。.

新しい!!: バッカス・ナウア記法とアパート · 続きを見る »

インターネット

インターネット(internet)は、インターネット・プロトコル・スイートを使用し、複数のコンピュータネットワークを相互接続した、グローバルな情報通信網のことである。 インターネットは、光ファイバーや無線を含む幅広い通信技術により結合された、地域からグローバルまでの範囲を持つ、個人・公共・教育機関・商用・政府などの各ネットワークから構成された「ネットワークのネットワーク」であり、ウェブのハイパーテキスト文書やアプリケーション、電子メール、音声通信、ファイル共有のピア・トゥ・ピアなどを含む、広範な情報とサービスの基盤となっている。.

新しい!!: バッカス・ナウア記法とインターネット · 続きを見る »

イニシャル

イニシャル は、アルファベットを用いる表記体系において、単語の、あるいはときに章などの、最初の1文字である。.

新しい!!: バッカス・ナウア記法とイニシャル · 続きを見る »

ジョン・バッカス

ョン・ワーナー・バッカス(John Warner Backus, 1924年12月3日 - 2007年3月17日)は、アメリカ合衆国の数学者。初期の高水準プログラミング言語 (FORTRAN) の発明者、(形式言語の文法の定義に汎用的に用いられる)バッカス・ナウア記法の発明者、また (Function-level Programming) の提唱者でもある。.

新しい!!: バッカス・ナウア記法とジョン・バッカス · 続きを見る »

再帰的定義

再帰的定義(Recursive Definition)は、再帰的な定義、すなわち、あるものを定義するにあたってそれ自身を定義に含むものを言う。無限後退を避けるため、定義に含まれる「それ自身」はよく定義されていなければならない。同義語として帰納的定義(Inductive Definition)がある。.

新しい!!: バッカス・ナウア記法と再帰的定義 · 続きを見る »

Bison

Bison(バイソン)とは構文解析器を生成するパーサジェネレータの一種であり、CコンパイラとしてのGCCのサポートのために開発されたフリーソフトウェアである。.

新しい!!: バッカス・ナウア記法とBison · 続きを見る »

終端記号と非終端記号

終端記号(しゅうたんきごう、Terminal symbol)と非終端記号(ひしゅうたんきごう、Nonterminal symbol)は、句構造規則の生成規則中にあらわれる記号類の分類である。規則群のうちの、どれかの規則の左辺にあらわれている記号、すなわち、他の記号列と置換できるものとして定義されている記号が非終端記号で、ある種の変数名のようなものとも言える。それに対し、右辺の記号列中のみにあらわれる、いわゆる「アルファベット」の1文字から成る記号が終端記号である。実用上は(プログラミング言語などでは)終端記号は文字そのものではなく、英語などにおける「単語」に相当する「トークン」と呼ばれるもの(「字句」の記事、および字句解析#トークンなどを参照)であることも多い。.

新しい!!: バッカス・ナウア記法と終端記号と非終端記号 · 続きを見る »

生成文法

生成文法(せいせいぶんぽう、generative grammar)は、ノーム・チョムスキーの 『言語理論の論理構造』(The Logical Structure of Linguistic Theory、1955/1975)、 『文法の構造』(Syntactic Structures、1957)といった著作や同時期の発表を契機として起こった言語学の理論である。.

新しい!!: バッカス・ナウア記法と生成文法 · 続きを見る »

EBNF

EBNF(Extended Backus–Naur Form)とは、文脈自由文法を表現するメタ文法記法であり、コンピュータのプログラミング言語や形式言語の形式的表現として使われる。バッカス・ナウア記法 (BNF) の拡張であり、拡張バッカス・ナウア記法とも呼ばれるが、ABNF(Augmented Backus-Naur Form)も同じ訳語となるため、区別するためあえて EBNF としている。 ニクラウス・ヴィルトが最初に開発した。EBNF の標準化されたものとして ISO-14977 などがある。.

新しい!!: バッカス・ナウア記法とEBNF · 続きを見る »

Extensible Markup Language

Extensible Markup Language(エクステンシブル マークアップ ランゲージ)は、基本的な構文規則を共通とすることで、任意の用途向けの言語に拡張することを容易としたことが特徴のマークアップ言語の総称である。一般的にXML(エックスエムエル)と略称で呼ばれる。JISによる訳語は「拡張可能なマーク付け言語」。 SGMLからの移行を目的として開発された。文法はSGMLの構文解析器と互換性を保つようにSGMLのサブセットに定められシンプルになり、機能はSGMLに無いものが追加されている。 XML の仕様は、World Wide Web Consortium (W3C) により策定・勧告されている。1998年2月に XML 1.0 が勧告された。2010年4月現在、XML 1.0 と XML 1.1 の2つのバージョンが勧告されている(#バージョン)。 ちなみに、「eXtensible Markup Language の略である」と書かれることがあるが、これは間違いであり、XはExの発音を表している。.

新しい!!: バッカス・ナウア記法とExtensible Markup Language · 続きを見る »

郵便番号

郵便番号(ゆうびんばんごう、英語圏共通: postal code.

新しい!!: バッカス・ナウア記法と郵便番号 · 続きを見る »

通信プロトコル

通信プロトコル(つうしんプロトコル、Communications protocol)、あるいはネットワーク・プロトコルは、ネットワーク上での通信に関する規約を定めたものである。「通信規約」や「通信手順」と訳す場合もある。.

新しい!!: バッカス・ナウア記法と通信プロトコル · 続きを見る »

IBM

IBM(アイビーエム、正式社名: International Business Machines Corporation)は、民間法人や公的機関を対象とするコンピュータ関連製品およびサービスを提供する企業である。本社はアメリカ合衆国ニューヨーク州アーモンクに所在する。世界170カ国以上で事業を展開している。.

新しい!!: バッカス・ナウア記法とIBM · 続きを見る »

Internet Engineering Task Force

The Internet Engineering Task Force(IETF、インターネット技術タスクフォース) はインターネットで利用される技術の標準を策定する組織である。 極めてオープンな組織で、実際の作業を行っている作業部会 (Working group; WG) のメーリングリストに参加することで、誰でも議論に参加することが可能となっている。 通常はメーリングリスト上で議論が進むが、年に3回(2回はアメリカ国内、1回はそれ以外の国)会議が開催される。この会議も参加費を払うことでだれでも参加が可能である。日本国内では2002年に横浜(パシフィコ横浜)で開催され、2009年11月には広島で開催された。また、2015年11月に再び横浜で開催されることが決定している。会議では、最終的に何か決定を下さなければならない場合にハミング(鼻歌)による表決(ラフコンセンサス)を取るという特徴がある。 策定された標準仕様は最終的にはRFCなどとして発行する。.

新しい!!: バッカス・ナウア記法とInternet Engineering Task Force · 続きを見る »

Parsing Expression Grammar

Parsing Expression Grammar (PEG, Parsing Expression Grammar) は、分析的形式文法の一種であり、形式言語をその言語に含まれる文字列を認識するための一連の規則を使って表したものである。PEGは再帰下降構文解析を文法を示すためだけに純粋に図式的に表現したものと見ることもでき、具体的な構文解析器の実装やその用途とは独立している。 PEGにおける構文(文法)の定義は文脈自由文法のバッカス・ナウア記法によるそれに似ているが、文脈自由文法では一般に「|」(縦棒、バーティカルバー)で表される「これらのうちどれか」ではなく、「最初の解析がうまくいったらそれを、失敗なら次を順に試してゆき、成功したものを採用」(「/」であらわす)という意味を使う。 このため、文脈自由文法とは異なり、PEGには曖昧さは存在しない。文字列を構文解析する場合、正しい構文木は常に1つしかない。このためPEGはコンピュータ言語の構文解析に向いており、一方、自然言語の多義性を、そのまま複数の構文木が可能である、という形で形式化するのには向かない。.

新しい!!: バッカス・ナウア記法とParsing Expression Grammar · 続きを見る »

PL/I

PL/I(ピーエルワン)は、汎用プログラミング言語の一つ。名前は英語の「programming language one」に由来する。 PL/Iは科学技術用、工業用、商業用などにデザインされた命令型プログラミング言語である。1964年に生まれ、教育機関、商用、工業で使用されてきた。2015年現在も使われている。 PL/Iの主要な用途はデータ処理で、再帰および構造化プログラミングに対応する。言語の構文は英語に似ており、検証や操作が可能な幅広い機能のセットを持ち、複合的なデータ型を記述することに適している。.

新しい!!: バッカス・ナウア記法とPL/I · 続きを見る »

Yacc

Yacc(yet another compiler compiler、ヤック)はパーサジェネレータの一つである。1970年代にAT&TでUNIX用にスティーヴン・カーティス・ジョンソンが開発した。.

新しい!!: バッカス・ナウア記法とYacc · 続きを見る »

構文解析器

構文解析器(こうぶんかいせきき)とは、構文解析をおこなうプログラム。パーサ (parser)とも。プログラミング言語処理系の入力部分が代表的であるが、それに限らず設定ファイルの読み込みなど、構造を持った入力テキストの処理を行う。自然言語処理でも使われる。 構文解析のアルゴリズムには複雑なものも多いが、パーサジェネレータの研究は盛んであり、そういったものを使用zすれば、構文規則を記述するだけで構文解析器を自動的に生成できる(プログラムのソースコードが出力される)。.

新しい!!: バッカス・ナウア記法と構文解析器 · 続きを見る »

正規表現

正規表現(せいきひょうげん、regular expression)とは、文字列の集合を一つの文字列で表現する方法の一つである。正則表現(せいそくひょうげん)とも呼ばれ、形式言語理論の分野では比較的こちらの訳語の方が使われる。まれに正規式と呼ばれることもある。 もともと正規表現は形式言語理論において正規言語を表すための手段として導入された。形式言語理論では、形式言語が正規言語であることと正規表現によって表せることは同値である。 その後正規表現はテキストエディタ、ワードプロセッサなどのアプリケーションで(ないし、そもそもそれ以前に単機能の文字列探索ツールの)、マッチさせるべき対象を表すために使用されるようになり、表せるパターンの種類を増やすために本来の正規表現にはないさまざまな記法が新たに付け加えられた。このような拡張された正規表現には正規言語ではない文字列も表せるものも多く、ゆえに正規表現という名前は実態に即していない面もあるが、伝統的に正規表現と呼ばれ続けている。 この記事では主にこのような正規表現を用いたパターンマッチングについて説明している。以下、誤解のない限り、アプリケーションやプログラミングにおいて正規表現を用いた文字列のパターンマッチングを行う機能のことを、単に正規表現という。 ほとんどのプログラミング言語では、ライブラリによって正規表現を使うことができる他、一部の言語では正規表現のリテラルもある。「正規表現によるマッチ」を意味する(専用の)演算子がある言語なども一部ある。具体例として、grep、AWK、sed、Perl、Tcl、lexなどがある。 それぞれの言語やアプリケーションで細部の仕様が異なっている、といったように思われることも多いが(また、古い実装では実際にそういうことも多いが)、近年は同じライブラリを使っていれば同じということも多い。またPOSIXなど標準もある。.

新しい!!: バッカス・ナウア記法と正規表現 · 続きを見る »

文脈自由文法

文脈自由文法(ぶんみゃくじゆうぶんぽう、Context-free Grammar、CFG)は、形式言語の理論(特に、生成文法)において全生成規則が以下のようである形式文法である。 ここで V は非終端記号であり、w は終端記号と非終端記号の(0個を含む)任意個の並びである。「文脈自由」という用語は前後関係に依存せずに非終端記号 V を w に置換できる、という所から来ている(「文脈無用」という訳の提案もある)。文脈自由文法によって生成される形式言語を文脈自由言語という。.

新しい!!: バッカス・ナウア記法と文脈自由文法 · 続きを見る »

改行コード

改行コード とは、ワードプロセッサ(ワープロ専用機)やコンピュータなどで、改行を表す制御文字である。日本では「改行コード」と総称する事が一般的なため、本項目では、キャリッジリターン (CR) とラインフィード (LF) の両方について記載する。.

新しい!!: バッカス・ナウア記法と改行コード · 続きを見る »

1959年

記載なし。

新しい!!: バッカス・ナウア記法と1959年 · 続きを見る »

ここにリダイレクトされます:

BNF記法バッカス・ナウアバッカスナウアバッカスナウア記法

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »