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

予約語

索引 予約語

予約語(よやくご、reserved word)とは、プログラミング言語において字句的には識別子(変数名、関数名、クラス名など)としてのルールを満たしているにもかかわらず、識別子にならない字句要素。 似ている言葉としてキーワードがある。多くのプログラミング言語において予約語とキーワードはほぼ同じものを指すため、しばしば混同されるが両者は異なる概念である。キーワードは言語仕様上特別な意味を持った語のことである。キーワードであっても予約語でないこともあるし、その逆もある。たとえば ECMAScriptでは、class は予約されており予約語だが言語で使われておらずキーワードではない(ECMA-262 では、キーワードは予約語の部分集合で、言語で制御構造などの意味を持つ予約語がキーワードである。Java では使っていなくてもキーワードであり、goto もキーワードである)。SQLには予約されたキーワードと予約されていないキーワードがある。例にも出てきたように、個々の規格によっても両者それぞれ微妙に意味が違うこともある。 予約されているのでユーザーは使えない識別子(つまり、使えないだけで、識別子ではある)という意味で(たとえば、処理系で内部的に使う名前と同じであるとか)「予約語」という語を使っている規格もある。この場合キーワードと予約語は別のものである。 FORTRAN、PL/I のように予約語を持たないプログラミング言語も存在する。 また、共通言語基盤(共通言語仕様 (CLS))にしたがって実装されたC#やVB.NETでは予約語を識別子として利用する構文が用意されている。.

27 関係: 字句字句解析器予約語 (Ada)予約語 (COBOL)ブロック (プログラミング)プログラミング言語パーサー (曖昧さ回避)キーワード (C++)キーワード (C言語)キーワード (Java)シンタックスハイライト共通言語基盤C SharpC++C++11統合開発環境ECMAScript識別子FORTRANJavaLALR法PascalPL/ISQL抽象構文木構文解析器正規言語

字句

字句(じく)とは、プログラミング言語などにおいてソースコードに出現する文字列の中で意味を持つ最小単位で、トークンとも言う。 言語によって違うが、一般的な所としては、if などのキーワード、main や argc などといった関数名や変数名などの識別子、 などの括弧(の片方ずつ)、+ -.

新しい!!: 予約語と字句 · 続きを見る »

字句解析器

字句解析器(じくかいせきき)は、字句解析をおこなうプログラム。lexical analyzer(レキシカルアナライザー)あるいはlexer(レキサー)と呼ばれる。 プログラミング言語処理系や自然言語処理などで使われる(自然言語処理では形態素解析とも言う)。代表的な字句解析器生成系にlexがある。lexなどを使用することにより、正規表現などで各トークンの字句規則を記述するだけで字句解析器を自動的に生成できる(字句解析プログラムのソースコードが出力される)。 GNUコンパイラコレクションでは手書きの字句解析器が用いられている。一般に、構文解析器に比べ字句解析器は手書きのほうが向いている。 Category:構文解析 (プログラミング).

新しい!!: 予約語と字句解析器 · 続きを見る »

予約語 (Ada)

この項目ではプログラミング言語Adaにおける予約語(よやくご)に関して説明する。 この項目ではプログラミング言語の詳細には立ち入らないが、Adaの特徴も踏まえつつ,C言語など,他言語の予約語との比較・対照ができるような説明を目的としている。.

新しい!!: 予約語と予約語 (Ada) · 続きを見る »

予約語 (COBOL)

予約語(COBOL)では、プログラミング言語の1つであるCOBOLの予約語に関して説明する。そのため、他の言語の予約語と比較できるような説明を目的とし、プログラムの細かい説明には立ち入らない。 COBOLにおける予約語は他の言語と比べて次のような特徴を持っている。.

新しい!!: 予約語と予約語 (COBOL) · 続きを見る »

ブロック (プログラミング)

プログラミング言語におけるブロック(block)は、コードのまとまり(コードブロック)のことで、「文 (プログラミング) 」(statement)から成る言語では複数個(0個以上~2個以上。言語により異なる)の文がまとまってひとつの文になっているブロックを複文(compound statement)と呼ぶものもある。「区」という訳語を使っている仕様もある。雰囲気としては自然言語における段落にも似ているが、現代言語学を知っていれば、プログラミング言語における「文」と「ブロック」の関係は、言語学でいう「語」と「句」の関係に近い。 なおプログラミング関係で、これと全く違うものに、他にも「ブロック」という語を使うものがいくつかあるので注意。入出力について「待たされる(ブロックされる)」という意味や、一種のクロージャの実装であるC言語の拡張のブロックなどである。 ブロックには、C言語に代表される、で囲まれるスタイル、ALGOLにはじまり、その影響を受けたPascalやAdaなど、beginとendのようなキーワードで囲むスタイル、Pythonなどのオフサイドルールによるスタイルなどがある。 自然言語の段落と異なり、ブロックは入れ子にすることができる(つまり、言語学でいう「語」と「句」のほうに近い、とはそういうことである)。すなわち、ブロック内にブロックを作成することができる(正確な理解としては、ブロックは文の一種であり、ブロックの中身は文の並びであるから、ブロックの中身にまたブロックが現れることもできる、ということになる。プログラミング言語の学習においては、絶対的に不正確な理解に直結する自然言語からの類推ではなく、プログラミング言語は形式言語なのであるから、BNFなど形式的な(フォーマルな)仕様などを理解できるように努めたほうが、結果として早道である)。 C言語などでは、ブロックは変数のスコープ(可視範囲。生存期間(エクステント)とは違うので注意)の区切りである。すなわち、あるブロック内で定義された変数には((前置単項 & 演算子と)ポインタ等により、エスケープされない限り(エスケープ解析を参照))ブロック外からはアクセスできない。JavaScriptは、以前はブロックは変数のスコープに影響しないという仕様だったが、ECMAScript 6th Edition(ECMAScript 2015)で導入された let declaration (let宣言) による変数は、それが宣言されたブロックの最後までが可視範囲となる。 SmalltalkやRubyにある似たようなものは、ブロックと呼んではいるが、複文ではない別のもので、メソッド呼び出しに付加する特別な引数のようなもの、である。Rubyではそれ自体はオブジェクトではないが、Smalltalkではオブジェクトである。なお、Rubyにおける複文に相当するものとしては、if~endなどにおいて、ifそれ自体がコードのかたまりの開始のキーワードとして機能するというEiffel風のスタイルを採っている。.

新しい!!: 予約語とブロック (プログラミング) · 続きを見る »

プログラミング言語

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

新しい!!: 予約語とプログラミング言語 · 続きを見る »

パーサー (曖昧さ回避)

パーサー.

新しい!!: 予約語とパーサー (曖昧さ回避) · 続きを見る »

キーワード (C++)

ーワード (C++)は、プログラミング言語の1つであるC++のキーワード(予約語を参照)に関する説明。この項目は、プログラムの細かい説明には立ち入らず、他の言語と比較できるような説明を目的としている。.

新しい!!: 予約語とキーワード (C++) · 続きを見る »

キーワード (C言語)

この項では、C言語のキーワードに関して説明する。 この項目は、プログラムの細かい説明には立ち入らず、他の言語と比較できるような説明を目的としている。ISO/IEC 9899 に沿って記載する。なお、1978年のK&R第1版にはキーワードの記載が無かったが、1988年の第2版では付録A2.4に「キーワード(予約語)」がある。.

新しい!!: 予約語とキーワード (C言語) · 続きを見る »

キーワード (Java)

この項目ではJavaにおけるキーワード(予約語の記事を参照)に関して説明する。全部で50個ある。 この項目は、プログラムの細かい説明には立ち入らず、他の言語と比較できるような説明を目的としている。.

新しい!!: 予約語とキーワード (Java) · 続きを見る »

シンタックスハイライト

ンタックスハイライト (syntax highlighting) とは、テキストエディタの機能であり、テキスト中の一部分をその分類ごとに異なる色やフォントで表示するものである。シンタックスカラーリング とも。 この機能により、プログラミング言語やマークアップ言語といった構造化された言語において、その構造や構文上のエラーが視覚的に区別しやすくなるため、ソースコードの記述が容易となる。エディタによってはシンタックスハイライトと、スペルチェックやコード畳み込みといった、その他の機能を統合して提供するものもある。.

新しい!!: 予約語とシンタックスハイライト · 続きを見る »

共通言語基盤

共通言語基盤(きょうつうげんごきばん、Common Language Infrastructure、略称: CLI)は、.NET Frameworkの基幹を構成する実行コードや実行環境などについてマイクロソフトが策定した仕様である。仕様は、ECMA-335 および ISO/IEC 23271 として標準化され公開されている。CLIは、プログラミング言語やコンピュータ・アーキテクチャに依存しない環境を定義しており、様々な高水準言語で書いたソースコードが書き直すことなく他のプラットフォームでも使える。 共通言語ランタイム (CLR) はCLIの仕様を実装したものの一つである。CLIに適合するプログラムは全て共通中間言語 (CIL) へコンパイルされる。CILは、ハードウェアから抽象化された中間言語であり、実行時にはVESが機械語へコンパイルする。;概念.

新しい!!: 予約語と共通言語基盤 · 続きを見る »

C Sharp

C#(シーシャープ)は、アンダース・ヘルスバーグが設計(デザイン)したプログラミング言語であり、構文(syntax)は(名前にもある通り)C言語や、C言語風に構文が設計されたC++やJavaなどの影響があるが、構文以外についてはヘルスバーグが以前の所属であるBorlandで設計したDelphiからの影響がある。 Microsoftによる謳い文句としては、マルチパラダイムプログラミング言語、強い型付け、命令型、宣言型、手続き型、関数型、ジェネリック、オブジェクト指向の要素を持つ、などといった点が強調されている。 CLIといった周辺も含め、Microsoftのフレームワーク「.NET Framework」の一部である他、VJ++で「非互換なJava」をJavaに持ち込もうとしたような以前のMicrosoftとは異なり、その多くの仕様を積極的に公開し標準化機構に託して自由な利用を許す(ECMA-334、ISO/IEC 23270:2003、JIS X 3015)など、同社の姿勢の変化があらわれている一面でもある(実際に「Mono」という、フリーソフトウェアの定義に合致したライセンスの、コミュニティによる実装がある)。.

新しい!!: 予約語とC Sharp · 続きを見る »

C++

C++(シープラスプラス)は、汎用プログラミング言語の一つである。日本語では略してシープラプラ、シープラなどとも呼ばれる。.

新しい!!: 予約語とC++ · 続きを見る »

C++11

C++11は、プログラミング言語 C++ のISO標準 ISO/IEC 14882:2011 の略称である。規格の策定中は2009年中の標準化を目指していたため、C++0x という仮称で呼ばれていた。 ISO/IEC 14882:2003 (C++03) に代わるものとして、2011年8月12日にISOによって承認された。後継のC++14が2014年8月18日に承認されている。 コア言語への機能追加や標準C++ライブラリの拡張を施し、C++TR1ライブラリの大部分を(数学的特殊関数ライブラリを除いて)取り込んでいる。.

新しい!!: 予約語とC++11 · 続きを見る »

統合開発環境

統合開発環境(とうごうかいはつかんきょう)、IDE (Integrated Development Environment) は、ソフトウェアの開発環境。 従来、コンパイラ、テキストエディタ、デバッガなどがばらばらで利用していたものをひとつの対話型操作環境(多くはGUI)から利用できるようにしたもの。最近のIDEには、GUIアプリケーション開発のための迅速なプロトタイピング (RAD) が可能なものが多い。統合開発環境を使うことによって、巨大かつ複雑なソフトウェアでも、作成者に負担をかけることなく開発することが可能になる。.

新しい!!: 予約語と統合開発環境 · 続きを見る »

ECMAScript

ECMAScript(エクマスクリプト)は、JavaScriptの標準であり、Ecma Internationalのもとで標準化手続きなどが行われている。 Ecma Internationalのほか、ISO/IEC JTC 1からもISO/IEC 16262として標準化されている。日本もJIS X 3060としてJIS化している。.

新しい!!: 予約語とECMAScript · 続きを見る »

識別子

識別子(しきべつし、identifier)とは、ある実体の集合の中で、特定の元を他の元から曖昧さ無く区別することを可能とする、その実体に関連する属性の集合のことをいう。ほぼすべての情報処理システムで何らかの識別子が使われており、識別子を利用することで機械的な処理が可能になる。.

新しい!!: 予約語と識別子 · 続きを見る »

FORTRAN

FORTRAN(フォートラン)は、1954年にIBMのジョン・バッカスによって考案された、コンピューターにおいて広く使われた世界最初の高級言語である。.

新しい!!: 予約語とFORTRAN · 続きを見る »

Java

Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。構文についてはJavaの文法の記事を参照。.

新しい!!: 予約語とJava · 続きを見る »

LALR法

LALR法(LALR parser)は、構文解析手法の一種であり、Lookahead(先読み)LR法の略である。単純LR法(SLR法)の構文解析器よりも多くの文脈自由文法を扱うことができる。構文解析表の大きさがあまり大きくなく、多くの文法を扱えることから、最も一般的な構文解析器となっている。yacc や GNU bison といったパーサジェネレータの多くもこの種の構文解析器を生成する。 SLR法と同様、LALR法では LR(0) の構文解析表を必要とする。SLR 法では Follow-set を使って reduce アクションを構築するのに対して、LALR法では Lookahead-set を使う。Lookahead-set は構文解析により特化している。Follow-set は関連する記号の集合だが、Lookahead-set はLR(0)アイテムと構文解析状態に特化した集合である。 ある LR(0) 文法での状態 S におけるアイテム I の Follow-set は、文法上 I の左辺の非終端記号の後に出現可能な全記号を含む。一方、状態 S におけるアイテム I の Lookahead-set は、状態 S で構文解析を開始したときの I の右辺に出現可能な記号のみを含む。follow(I) は左辺が同じ I である全 LR(0)アイテムの Lookahead-set の和集合と等価であり、状態やアイテムの右辺は考慮されていない。従って、Follow-set からは文脈情報が失われている。Lookahead-set は特定の構文解析向けであるため、さらに選別が可能で、Follow-set よりも詳細な識別が可能となる。.

新しい!!: 予約語とLALR法 · 続きを見る »

Pascal

Pascal(パスカル)は、ニクラウス・ヴィルトの設計(デザイン)によるコンピュータ・プログラミング言語である。ALGOL(直接的にはその一派生である、ヴィルトが関与したALGOL W)などの影響があるが、個人の設計であることに由来する簡素だがよく整った言語仕様(構文と意味)を持つ。用途の中に教育を意識しており、構造化された制御構造など、その当時「良きプログラミングの慣習」と考えられていたことの影響もある。一方で批判者からは、あくまでも教育用に過ぎない言語だ、といったような評もあることにはあったが、PascalコンパイラをPascalで書ける(いわゆる言語処理系のブートストラップ)ことをはじめ、Pascalで書かれた#実用プログラム例は多くある。名前は、哲学者・数学者・科学者で、機械式計算機を製作するなど技術者でもあったブレーズ・パスカルにあやかったものである。.

新しい!!: 予約語とPascal · 続きを見る »

PL/I

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

新しい!!: 予約語とPL/I · 続きを見る »

SQL

SQL(エスキューエルよりデジタル大辞泉、IT用語がわかる辞典を参照、シークェル、シーケルよりDBM用語辞典を参照)は、関係データベース管理システム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)、ドメイン固有言語である。エドガー・F・コッドによって考案された関係データベースの関係モデルにおける演算体系である、関係代数と関係論理(関係計算)にある程度基づいている。 データベース言語の国際標準としてのSQLは何かの略語ではない。 SQLは、シークェル と読まれることもある。これは、SQLの元となったデータベース言語が、IBMが開発したRDBMSの実験実装であるSystem Rの操作言語「SEQUEL (Structured English Query Language)」であったことが由来である。 SQLに対しては、関係代数と関係論理に忠実に準拠していないとして批判する意見がある(The Third Manifesto - クリス・デイト、ヒュー・ダーウェン)。.

新しい!!: 予約語とSQL · 続きを見る »

抽象構文木

抽象構文木(abstract syntax tree、AST)とは、通常の構文木(具象構文木あるいは解析木とも言う)から、言語の意味に関係ない情報を取り除き、意味に関係ある情報のみを取り出した(抽象した)木構造のデータ構造である。 理論的には、有限なラベル付き有向木であり、分岐点に演算子、葉にそのオペランドを対応させたものである。つまり、葉は変数や定数に対応する。 抽象構文木は構文解析で構文木とデータ構造の中間的なものとして使用される。さらにコンパイラやインタプリタなど(プログラミング言語処理系)でのプログラムの中間表現として使われ、コンパイラ最適化やコード生成はその上で行われる。抽象構文木のとりうる構造は抽象構文で記述されている。 抽象構文木は(具象)構文木とは異なり、プログラムの意味に関係ない部分を省略する。そのような省略の例としては括弧の省略があげられる。抽象構文木では、オペランドのグループ化が自明な木構造とするのが普通であり、グループ化のための括弧などは意味的に不要である。 大多数のプログラミング言語のような文脈自由言語の構文解析で抽象構文木を作るのは簡単である。構文規則ごとに新たな節点を作成し、葉はその規則における記号に対応する。グループ化規則のような抽象構文木に関わらない規則は無視される。そのようにいきなり抽象構文木を生成することもあるし、完全な具象構文木を作り、その後そこから冗長な部分(プログラムの意味に関係しない部分)を除いて抽象構文木に変換することもある。 理論的な観点からは、たとえばソースコード上の位置(何行目の何カラム目など)といった具象の情報は言語処理系には不要であり、抽象構文木には無くてもよいのだが、実践的には、エラーを見つけた時にプログラマに親切なエラーメッセージを出力するためなど、重要な情報であり、時には処理系のフロントエンドではなくバックエンドでも必要なこともある。.

新しい!!: 予約語と抽象構文木 · 続きを見る »

構文解析器

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

新しい!!: 予約語と構文解析器 · 続きを見る »

正規言語

正規言語(せいきげんご)または正則言語(せいそくげんご)は、以下に示す性質(いずれも等価)を満たす形式言語である。.

新しい!!: 予約語と正規言語 · 続きを見る »

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