APPENDIX 4 - SYNTAX HIGHLIGHTING


This appendix contains details on syntax highlighting in THE. Syntax highlighting is the mechanism by which different tokens within a file; usually containing source code, are displayed in different colours.
この付録は、THEで強調するシンタックスで詳細を含みます。強調するシンタックスは、ファイルの中にどちらの異なるトークンによる機構です;通常ソース・コードを含んで、異なるカラーで表示されます。

The model THE uses for its syntax highlighting is based on the model used by KEDIT for Windows from Mansfield Software. This model is extremely configurable and flexible. While most of the KEDIT features are implemented, THE also adds a couple of other features that make the syntax highlighting even better.
そのシンタックス強調表示のためのモデルTHE使用は、Mansfieldソフトウェアからウィンドウズ版KEDITによって使われたそのモデルに基づきます。このモデルは、至って形成できる、またフレキシブルです。ほとんどのKEDIT特徴が実行される間に、THEは、また、一層十分にシンタックスを強調しているようにするいくつかの他の特徴を加えます。

This appendix concentrates on the format of THE language definition files. For a description of the commands that manipulate other aspects of syntax highlighting in THE, see the descriptions of the following commands: SET AUTOCOLOR , SET COLORING , SET ECOLOR , SET PARSER .
この付録は、言語定義ファイルのフォーマットに専念します。 THEでシンタックス強調表示の他の様相を操作するコマンドの記述のために、以下のコマンドの記述を見て下さい:(カラーをセットされた)セットAUTOCOLORは、ECOLOR、セット分析機(するもの)をセットしました。

Performance Impact
成績インパクト

Syntax highlighting in an editor comes at a cost; reduced performance.
エディターで強調するシンタックスは、コストで来ます;縮小された成績。

Because of the extra processing required to determine which characters are displayed in which colours, displaying the screen is slower. As THE recalculates the display colours after every displayable key is pressed, then you may notice a reduction in responsiveness.
決めることを要求される特別のプロセシングのために、スクリーンがより遅いことを示して、どちらのキャラクターは、どちらのカラーで表示されます。すべてのdisplayableのキーが押される後に、THEがディスプレイ・カラーを再計算するので、あなたは、共鳴しやすいことの減少に気づくかもしれません。

For those languages that allow paired comments (ie they can span multiple lines) performance is impacted even more. This is because THE has to determine if the lines being displayed are within one of these multi-line comment pairs which may start before the first displayed line.
組み合わせられたコメントを許す(彼(それ)らが缶詰にするieが複数のラインに及びます)それらの言語のために、成績はもっとさえ衝撃を与えられます。これはつまりTHEは、表示されるラインが最初に表示されたラインを前に開始するかもしれないこれらのマルチ・ラインのコメント・ペアの1つの中にかを決定する必要があるからだ。

THE will incorrectly display syntax highlighting in certain circumstances. This is because THE does not fully parse the complete file to determine the correct colours; that would be too slow. Instead, THE checks the currently displayed lines and determines the syntax highlighting based on these lines.
THEは、不正確に、ある状況で強調するシンタックスを表示するでしょう。これはTHEが正しいカラーを決めるために充分に完成したファイルをパースしないためだ;それはとても遅いでしょう。かわりに、THEは、現在表示されたラインをチェックして、これらのラインに基づくシンタックス強調表示を決めます。

Where THE will get syntax highlighting wrong:
THEがシンタックス強調表示を誤解するだろう場所:

If all displayed lines are within a multi-line comment block and neither the starting comment token nor the ending comment token are displayed. THE will treat the displayed lines as code.
もし全く表示されたラインがマルチ・ラインのコメントの中になら、ブロックおよびスタートしているコメント・トークンも終わり方コメント・トークンも、表示されません。THEは、表示されたラインをコードのように扱うでしょう。

When the starting or ending comment tokens for multi-line comments are part of a language string.
マルチ・ラインのコメントのためのスタートするかまたは終わっているコメント・トークンが言語ストリングの一部分であるときに。

Also bear in mind that excluding large portions of the file with ALL, will dramatically slow down checking of multi-line comments.
また、全部でファイルの大きい部分を除外してそれを覚えていて下さい、劇的にマルチ・ラインのコメントのチェックすることの速度を落とすでしょう。

File Extensions Vs Magic Numbers
ファイル拡張対マジック番号

A THE extension to the KEDIT syntax highlighting model is support for magic numbers . (See SET AUTOCOLOR for more details). For the default parser s, where there might be a conflict between setting syntax highlighting based on a file extension or a magic number , the file extension mapping takes precedence.
モデルを強調するKEDITシンタックスへの拡張は、マジック番号のためのサポートです。(より多くの詳細に関してセットAUTOCOLORを参照して下さい)。デフォルト分析機(するもの)sのために、ファイル拡張、あるいはマジック番号に基づく設定シンタックス強調表示とファイル拡張マッピングの間で衝突があるかもしれない場所は、優先されます。

THE Language Definition Files
言語定義ファイル

THE Language Definition Files usually have a file extension of .tld. THE comes with a small number of sample TLD files. Look at these files in conjunction with the following descriptions to fully understand how to write your own TLD files.
言語定義ファイルが通常ファイル拡張を持っています、。tld。THEは、少数のTLDのサンプル・ファイルを付けています。以下の記述に関連しているこれらのファイルを見て充分にあなた自身のTLDファイルを書く方法を理解して下さい。

TLD files consist of several sections identified by header lines. Header lines start with a colon in column one. Items within the particular header are listed on separate lines after the header to which they apply. Blank lines are ignored, and so are comments (* as first non-blank). Each item that can be repeated occurs on a separate line. The above definition of what a TLD file looks like is expressed in the TLD file; tld.tld.
TLDファイルは、ヘッダ行によって識別されたいくつかのセクションから構成されます。ヘッダ行がコロンで始まりますでコラム1。特定のヘッダー内の項目は、それに彼(それ)らが適用するヘッダーの後で切り抜きの方針で列挙されます。空白の行は無視されます、そして、コメント(最初の非ブランクとしての* )もそうです。繰り返すことができるそれぞれの項目は、別々の行で起こります。ファイルが似ているTLDがTLDファイルで表されるものの上記の定義;tld.tld。

The purpose of each header and the valid contents are explained below.
それぞれのヘッダー、および有効なコンテンツの目的は、下に説明されます。

:identifier
:識別子

This section specifies, using a regular expression how a keyword in the language is defined. The only item line contains three regular expressions separated by space characters.
言語のキーワードが定義される正規表現を使って、このセクションは明示します。唯一の項目行は、間隔文字によって分けられた3つの正規表現を含みます。
Syntax:
シンタックス:
first_char_re other_char_re [last_char_re]
最初の正規表現文字 他の正規表現文字 [最後の正規表現文字]
Meaning of options:
オプションの意味:
first_char_re
最初の正規表現文字
This regular expression specifies the valid characters that an identifier can begin with.
この正規表現が有効な文字を明示しますその識別子が始まることができますで。
other_char_re
他の正規表現文字
This regular expression specifies the valid characters that the remainder of characters in an identifier can consist of.
この正規表現は、文字の残りが識別子で構成されることができる有効な文字を明示します。
last_char_re
... re --文字--存続します
This regular expression is optional. If specified, it states the valid characters that an identifier can end with.
この正規表現は任意です。明示されたなら、それは、識別子が終わることができる有効な文字を述べます。

:case
:ケース

This section defines whether the case of letters that make up identifiers in the language are case-sensitive or not. Only one of the items below can be included.
言語で識別子を構成するレターのそのケースが大/小文字の区別があるかどうかにかかわらず、このセクションは定義します。たった1つの以下の項目は、含むことができます。
Syntax:
シンタックス:
RESPECT | IGNORE
尊敬| IGNORE
Meaning of options:
オプションの意味:
respect
尊敬
case is relevant. The keywords if , IF and If are different.
ケースは適切です。キーワードときには、ときにはおよびときには異なります。
ignore
無視して下さい
case is irrelevant. The keywords if and IF are treated as the same identifier.
ケースは見当違いです。キーワードときにはそして、IFは、同じ識別子として扱われます。

:option
:オプション

This section specifies different options that can affect other sections. The options below can all be included in the one TLD.
このセクションは、他のセクションにシャドウ響を及ぼすことができる異なるオプションを明示します。以下のオプションは、すべてもの(それ) TLDに含まれることができます。
Syntax:
シンタックス:
REXX | PREPROCESSOR char | FUNCTION char [BLANK | NOBLANK]
REXX|プリプロセッサ文字|機能文字[ブランク | NOBLANK ]
Meaning of options:
オプションの意味:
rexx
rexx
specifies special processing for Rexx (not implemented)
Rexx (実行されなかった)のための特別のプロセシングを明示します
preprocessor char
プリプロセッサ文字
languages like C that have preprocessor identifiers usually begin with a special character (specified by char ) to differentiate these types of keywords from others.
プリプロセッサ識別子を持っているCのような言語は、他者からキーワードのこれらの型を識別するために、特殊文字(文字によって明示された)と通常始まります。
function char [blank | noblank]
機能文字[ブランク| noblank ]
this option is used to identify how keywords specified in the :function section are identified. char specifies the character that is used to start a function, usually ( . The blank or noblank argument determines if blank characters can appear between the function identifier and the function start character. eg a Rexx function call must be written without blanks between the function name and the function start character: word( . In C word ( or word( are both valid syntax for a function call.
このオプションを使ってキーワードが明示した方法を識別しますその:セクションが識別されるファンクション。文字は、通常ファンクションを開始するために、使われる文字を明示します(。ファンクション識別子とファンクション・スタート文字との間のもし空白文字が現れることができれば、アーギュメントが決める空白、あるいはnoblank。Rexxファンクション・コールがファンクション名前とファンクションの間に空白なしで書かれなくてはいけないegは、文字を開始します:語(。Cで言葉で言い表して下さい(または、語(ファンクション・コールのための共に有効なシンタックスです。

:number
:番号

This section specifies the format of numbers in the language. Most languages use a small number of generic types of languages. (This header is currently ignored)
このセクションは、言語で番号のフォーマットを明示します。ほとんどの言語は、言語の少数の属の型を使います。(このヘッダーが現在無視されます)
Syntax:
シンタックス:
REXX | C | COBOL
REXX| C| Cobol
Meaning of options:
オプションの意味:
ECOLOR Value:
ECOLOR値:

:string
:ストリング

This section specifies how strings within the language are defined. Multiple values may be specified, as many languages use both single and double quotes.
このセクションは、どのように言語内のストリングが定義されるかを示します。複数の値は、多くの言語がシングルおよび二重引用符(両方)を使うので、明示されるかもしれません。
Syntax:
シンタックス:
SINGLE | DOUBLE [BACKSLASH]
シングル|2倍の[バックスラッシュ]
Meaning of options:
オプションの意味:
single
シングル
Specifies that the language uses single quotes to identify a string.
言語がストリングを識別するために一つの引用を使うことを示します。
double
2倍
Specifies that the language uses double quotes to identify a string.
言語がストリングを識別するために二重引用符を使うことを示します。
backslash
バックスラッシュ
Some languages require a backslash character immediately preceding either a single or double quote to allow the quote to be included in the string.
いくつかの言語は、ただちにシングルまたは2倍の引用(の一方)を先行するバックスラッシュ文字に引用にストリングに含まれることを可能にするように要求します。
ECOLOR Character:
ECOLOR文字:
For complete strings, the ECOLOUR character used is B . For incomplete strings, the ECOLOUR character used is S .
完成したストリングのために、文字が使ったECOLOURは、Bです。不完全なストリングのために、文字が使ったECOLOURは、Sです。

:comment
:コメント

This section specifies the format of comments. Both paired and line comments can be specified, as can multiple occurrences of each.
このセクションは、コメントのフォーマットを明示します。両方の組み合わせられたそして行コメントは、それぞれの複数の出来事もそうすることができるように、明示することができます。
Syntax:
シンタックス:
PAIRED open_string close_string [NEST | NONEST]
組み合わせられたオープン--ストリング終わり--ストリング[ネスト| NONEST ]
LINE comment_string ANY | FIRSTNONBLANK | COLUMN n
行コメント_ストリングANY| FIRSTNONBLANK|コラムn
Meaning of options:
オプションの意味:
paired
組み合わせられました
These types of comments can span multiple lines. They have an opening string and a closing string.
コメントのこれらの型は、複数の行に及ぶことができます。彼(それ)らは、オープニング・ストリングおよび終わりのストリングを持っています。
open_string
オープン_ストリング
This defines the string that opens a paired comment.
これは、組み合わせられたコメントをオープンするストリングを定義します。
close_string
近い_ストリング
This defines the string that closes a paired comment.
これは、組み合わせられたコメントを閉じるストリングを定義します。
nest
ネスト
Some languages allow paired comments to be nested. (not implemented)
いくつかの言語は、組み合わせられたコメントにネストされることを可能にします。 (実行されなかった)
nonest
nonest
Defining this indicates that the language does not allow nesting of paired comments. The effect of this option will result in the first close_string to end the paired comment no matter how many open_string occurrences there are. (not implemented)
これを定義することは、言語が組み合わせられたコメントのネストすることを許さないことを示します。どのように多くのオープン_がそこがそうである出来事に文字列を通すかにかかわらず、このオプションの結果は、組み合わせられたコメントを終えるために、最初の近い_ストリングの結果になるでしょう。(実行されなかった)
line

These type of comments cannot span multiple lines. Everything on the line after the comment_string is considered part of the comment.
これらがタイプします、コメントは複数の行に及ぶことができません。コメント_ストリングの後の行のすべては、コメントの一部分とみなされています。
comment_string
コメント_ストリング
The string that defines a line comment.
行コメントを定義するストリング。
any
何か
For line comments, this indicates that the comment_string can occur anywhere on the line, and all characters following it are part of the comment.
行コメントのために、これは、コメント_ストリングは、行でどこかに起こることができます、そして、それに続くすべての文字がコメントの一部分であることを示します。
firstnonblank
firstnonblank
For line comments, this indicates that the comment_string can only occur as the first non-blank of the line.
行コメントのために、これは、コメント_ストリングが行の最初の非空白として単に起こることができることを示します。
column n
コラムn
For line comments, this indicates that the comment_string must start in the specified column.
行コメントのために、これは、コメント_ストリングが指定されたコラムでスタートしなくてはいけないことを示します。
ECOLOR Character:
ECOLOR文字:
Comments are displayed in the colour specified with ECOLOUR A .
コメントは、ECOLOUR Aで明示されたカラーで表示されます。

:keyword
:キーワード

This section specifies all of the identifiers that are to be considered language keywords. You must specific the :identifier section in the TLD file before the :keyword section.
このセクションは、言語キーワードとみなされているはず(こと,予定)であるすべての識別子を明示します。あなたがしなくてはいけません特定ですその:識別子が、前にTLDファイルで区分にしますその:キーワード・セクション。
Syntax:
シンタックス:
keyword [ALTernate x] [TYPE x]
キーワード[代理人x ] [型x ]
Meaning of options:
オプションの意味:
keyword
キーワード
This specifies the string that is considered to be a language keyword.
これは、言語キーワードだとみなされているストリングを明示します。
alternate x
交代するx
All keywords are displayed in the same colour, unless you use this option to specify a different colour. There are 9 alternate colours that can be used; ECOLOUR 1 through 9. alternate can be abbreviated to alt .
すべてのキーワードは、あなたが異なるカラーを明示するためにこのオプションを使うことがない限り、同じカラーで表示されます。9使うことができる交代するカラーがあります;1から9.が交代するECOLOURは、Altに短くすることができます。
type x
型x
(not implemented)
(実行されなかった)
ECOLOR Character:
ECOLOR文字:
Unless overridden by the alternate option, the keyword is displayed in the colour specified with ECOLOUR D .
交代するオプションによってoverriddenでない限り、キーワードは、ECOLOUR Dで明示されたカラーで表示されます。

:function
:ファンクション

This section specifies all of the identifiers that are to be considered functions. Normally this is used for those functions that are builtin into the language, but can be any identifier. You specify the function identifier without the function char specified in the :option section. You must specify the :option and the :identifier sections in the TLD file before the :function section.
このセクションは、ファンクションとみなされているはず(こと,予定)であるすべての識別子を明示します。普通に、これは、言語へのbuiltinですがいくらかの(どんな)識別子であることができるそれらのファンクションに利用されます。あなたがファンクション文字が明示されなかったファンクション識別子を明示しますでその:セクションにオプションを与えて下さい。あなたが明示しなくてはいけませんその:オプションおよびその:識別子が前にTLDファイルで区分にしますその:ファンクション・セクション。
Syntax:
シンタックス:
function [ALTernate x]
ファンクション[代理人x ]
Meaning of options:
オプションの意味:
function
ファンクション
This specifies the string that is considered to be a language function.
これは、言語ファンクションだとみなされているストリングを明示します。
alternate x
交代するx
All keywords are displayed in the same colour, unless you use this option to specify a different colour. There are 9 alternate colours that can be used; ECOLOUR 1 through 9. alternate can be abbreviated to alt .
すべてのキーワードは、あなたが異なるカラーを明示するためにこのオプションを使うことがない限り、同じカラーで表示されます。9使うことができる交代するカラーがあります;1から9.が交代するECOLOURは、Altに短くすることができます。
ECOLOR Character:
ECOLOR文字:
Unless overridden by the alternate option, the keyword is displayed in the colour specified with ECOLOUR V .
交代するオプションによってoverriddenでない限り、キーワードは、ECOLOUR Vで明示されたカラーで表示されます。

:header
:ヘッダー

This section specifies the format of headers. Headers are lines within a file that begin with a particular string and usually identify different parts of the file. They are similar to labels.
このセクションは、ヘッダーのフォーマットを明示します。ヘッダーは、特定のストリングで始まって通常ファイルの異なる部品を識別するファイル内の行です。彼(それ)らはラベルに類似しています。
Syntax:
シンタックス:
LINE header_string ANY | FIRSTNONBLANK | COLUMN n
行ヘッダー_ストリングANY| FIRSTNONBLANK|コラムn
Meaning of options:
オプションの意味:
header_string
より頭の_ストリング
The string that defines a header.
ヘッダーを定義するストリング。
any
何か
This indicates that the header_string can occur anywhere on the line, and all characters following it are part of the header.
これは、より頭の_ストリングは、行でどこかに起こることができます、そして、それに続くすべての文字がヘッダーの一部分であることを示します。
firstnonblank
firstnonblank
This indicates that the header_string can only occur as the first non-blank of the line.
これは、より頭の_ストリングが行の最初の非空白として単に起こることができることを示します。
column n
コラムn
This indicates that the header_string must start in the specified column.
これは、より頭の_ストリングが指定されたコラムでスタートしなくてはいけないことを示します。
ECOLOR Character:
ECOLOR文字:
Headers are displayed in the colour specified with ECOLOUR G .
ヘッダーは、ECOLOUR Gで明示されたカラーで表示されます。

:label
:ラベル

This section specifies the format of labels. Labels are lines within a file that end with a particular string. They are similar to headers.
このセクションは、ラベルのフォーマットを明示します。ラベルは、特定のストリングで終わるファイル内の行です。彼(それ)らはヘッダーに類似しています。
Syntax:
シンタックス:
DELIMITER label_string ANY | FIRSTNONBLANK | COLUMN n
デリミター・ラベル_ストリングANY| FIRSTNONBLANK|コラムn
COLUMN n (not implemented yet)
コラムn (実行されませんでしたしかし)
Meaning of options:
オプションの意味:
label_string
ラベル_ストリング
The string that defines a label.
ラベルを定義するストリング。
any
何か
This indicates that the label_string can occur anywhere on the line, and all characters up to it are part of the label.
これは、ラベル_ストリングは、行でどこかに起こることができます、そして、それまでのすべての文字がラベルの一部分であることを示します。
firstnonblank
firstnonblank
This indicates that the label_string can only occur as the first non-blank of the line.
これは、ラベル_ストリングが行の最初の非空白として単に起こることができることを示します。
column n
コラムn
As part of a DELIMITER label, this indicates that the label_string must start in the specified column. If specified by itself, then the label does not require any special delimiter; the string that starts (or ends??) in the specified column is regarded as a label.
デリミター・ラベルの一環として、これは、ラベル_ストリングが指定されたコラムでスタートしなくてはいけないことを示します。それ自身によって明示されたなら、ラベルは、いくらかの(どんな)特別のデリミターも要求しません;指定されたコラムで(または、終わりです?? )スタートするストリングは、ラベルとしてみなされます。
ECOLOR Character:
ECOLOR文字:
Labels are displayed in the colour specified with ECOLOUR E .
ラベルは、ECOLOUR Eで明示されたカラーで表示されます。

:match
:マッチ

(Not implemented yet)
(実行されませんでしたしかし)

:postcompare
:postcompare

(Not implemented yet) This section specifies items that are checked for after all other syntax checking has been completed. This can be useful if you want to allow user-defined datatypes or other code to be displayed in different colours.
(実行されませんでしたしかし)このセクションは、他のすべてのシンタックス・チェックすることが完成された以後(の)間チェックされる項目を明示します。もしあなたが異なるカラーでユーザー定義のデータタイプ、あるいは他のコードに表示されることを可能にしたければ、これは役に立つことができます。

Builtin Parsers
Builtin分析機(するもの)

THE includes a number of builtin syntax highlighting parser s. The following table lists the default parser s and the files they apply to:
THEには分析機(するもの)sを強調する多くのbuiltinシンタックスが含まれます。以下の表は、彼(それ)らが適用されるデフォルト分析機(するもの)s、およびファイルを列挙します:

Parser
分析機(するもの)
Filemasks
Filemasks
"Magic Number"
「マジック番号」
REXX
REXX
-
-
-
-
C
-
-
-
-
SH
SH
-
-
-
TLD
TLD
HTML
HTML
-
*.rex
*.rex
*.rexx
*.rexx
*.cmd
*.cmd
*.the
*.the
.therc
therc
*.c
*.h
*.cc
*.cc
*.hpp
*.hpp
*.cpp
*.cpp
-
-
-
-
*.tld
*.tld
*.html
*.html
*.htm
*.htm
rexx
rexx
regina
regina
rxx
rxx
-
-
-
-
-
-
-
sh
sh
ksh
ksh
bash
強打
zsh
zsh
-
-
-

A Rexx macro is provided; tld2c.rex, to convert a .tld file into the C code that can be embedded in default.c. This enables you to configure THE with the default parser s that are more applicable for you.
Rexxマクロは提供されます;変える(べき) tld2c.rex a。default.cで埋め込むことができるCコードへのtldファイル。これは、あなたにとってより適用できるデフォルト分析機(するもの)sであなたがTHEを構成することを可能にします。


The Hessling Editor is Copyright © Mark Hessling, 1990-1999 <M.Hessling@qut.edu.au>

KNE Japanese Localization is written by Kunimasa Noda<kuni@pm9.com>
Generated on: 21 Jan 2000