GoGPT Best VPN GoSearch

OnWorksファビコン

スライス - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して OnWorks 無料ホスティング プロバイダーでスライスを実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks の無料ホスティング プロバイダーで実行できるコマンド スライスです。

プログラム:

NAME


スライス -- ASCII ファイルから事前定義されたスライスを抽出します。

SYNOPSIS


スライス [-v] [-y 出力ポリシー] [-o スライスターム:出力ファイル[@chmodcmd][#出力ポリシー] ..]
[入力ファイル]

スライス [-V] [-h]

VERSION


1.3.8 (10 年 2002 月 XNUMX 日)

DESCRIPTION


入力 原則
当学校区の スライス プログラムの読み取り 入力ファイル (またはから 標準入力 if 入力ファイル 与えられていない、または等しい
``"-"'') を作成し、すでに準備されている ASCII コンテンツを重複する可能性のある領域に分割します。
呼ばれます スライス。 これらのスライスは、begin と end で定義されたブロックを囲むことによって決定されます。
必須の区切り文字 既に ファイル内にあります。 これらのブロック区切り文字は次の構文を使用します。

[名前: ... :名前]

または、その代わりに(誤解の可能性がない場合、つまり、重複または重複がない場合)
積み重ねられたスライス)

[名前: ... :]

当学校区の NAME 識別子は正規表現 ``"[_A-Z0-9]+"'' と一致する必要があります。つまり、
NAME 大文字、数字、またはアンダースコア文字のみで構成される文字列です。

このようなスライス定義は好きなだけ存在でき、複数存在することもできます。
同じ名前のスライス。 結果として得られるスライスは、すべての同じ名前のスライスの結合です。
実際にこれを使用して、分離されたピースの上に大きなスライスを広げます。 入力ファイル.

出力 選択 スキーム
最終的な出力データは、スライス名とセットで構成されるスライス項によって計算されます。
理論演算子。 次の構文が認識されます (順番に) LR(1) 文法解析)
スライス項の場合:

SLICE_TERM ::= "名前"
スライスの NAME 自体。 この名前は、正規表現「[_A-Z0-9*{}]+"」と一致する必要があります。
ここでは XNUMX つのケースが考えられます。「NAME」は、次のものだけで構成されるプレーンなスライス名です。
大文字、数字、またはアンダースコア文字。 または、ワイルドカードを使用したスライス名です
アスタリスク文字で示されます。

最初のバリアントは、正確に「NAME」という名前のすべてのスライスの結合に展開されます。 の
XNUMX 番目のバリアントは、ワイルドカードと一致するすべてのスライスの和集合に展開されます。
パターン「名前」。 ここで、アスタリスクは、何もない、または任意の数であるという意味的な意味を持ちます。
文字。 特殊なケースが XNUMX つあり、アスタリスクの直後に次のものが続きます。
中括弧で囲まれた文字は、文字がない、または任意の数の文字を意味しますが、そうではありません。
この文字の並び。

SLICE_TERM ::= "!NAME" | 「〜名前」
当学校区の 補数 スライス NAME (つまり、ALL\NAME) の。

式内: {x in ALL: x 名前内}

SLICE_TERM ::= "NAME1xNAME2"、"NAME1^NAME2"
当学校区の 排他的論理和 スライスNAME1とスライスNAME2の関係。 集合論でも
呼ばれます 対称の 違い: (NAME1uNAME2)\(NAME1nNAME2) または代わりに
(NAME1n!NAME2)u(!NAME1nNAME2)。

数式: {x in ALL: (x in NAME1 or x in NAME2) and not (x in NAME1 and x in
名前2)}。

SLICE_TERM ::= "NAME1\NAME2"、"NAME1-NAME2"
当学校区の 違い スライス NAME1 とスライス NAME2、つまり NAME1 から NAME2 を引いたもの。

式内: {x in ALL: x in NAME1   x NAME2で}

SLICE_TERM ::= "NAME1nNAME2" | 「名前1%名前2」
当学校区の 交差点 スライスNAME1とスライスNAME2の。

式内: {x in ALL: x in NAME1   NAME2のx}

SLICE_TERM ::= "NAME1uNAME2"、"NAME1+NAME2"
当学校区の 組合 スライスNAME1とスライスNAME2の。

式内: {x in ALL: x in NAME1 or NAME2のx}

SLICE_TERM ::= "(" SLICE_TERM ")"
グループ化されたスライス用語。 これを使用して、異なる評価順序を強制します。 デフォルトでは、
右結合の補数を除き、すべての演算子は左結合です。
演算子は、優先順位の低いものから高いものの順に以下にリストされています。

- うーん!

高機能 選択: スライス レベル
スライスは重複して積み重ねることができるため、各スライスに定義レベルが割り当てられます。
入力が解析されている間にスライスします。 これらのレベルの範囲は 1 から最大値 (
レベル 0 はファイル全体、つまり「ALL」です)。 スライスが開始されると、最も低いスライスが割り当てられます。
レベル 1 から始まるフリー レベル。XNUMX つのレベルが使用されている限り、そのレベルを割り当てることはできません
対応するスライスの終了デリミタが表示されるまで、もう一度繰り返します。

例:

[A:[B::B]:A][C:[D:[E::C]:D][F::E]:F]

3 E----------E
2 B--B D-------D
1 A----------A C----------C F-----F
0

ここでは、スライス A にはレベル 1 が割り当てられます。次に、レベル 2 がまだ残っているため、B にはレベル 1 が割り当てられます。
A によって使用されます。その後、B の終わりに達すると、レベル 2 が解放されます。 そしてAの終わりに達する
レベル 1 も現在は空いているため、C には再びレベル 1 が割り当てられます。 現在はレベル 1 のみが使用されていますが、
したがって、D にはレベル 2 が割り当てられます。その後、E にはレベル 3 が割り当てられます。その後、C の終わりが表示され、レベルが割り当てられます。
1が解放されました。 その後、D の終わりが表示され、レベル 2 が解放されます。 ここで F が始まります。
レベル 3 が使用されている場合、レベル 1 が割り当てられます。 その後、E の終わりでレベル 3 が解放され、終わりになります。
of F はレベル 1 を解放します。最終的に、まだ使用されているレベルはありません。 これは、スライスが
正しい。

このプロセスの終了時に使用済みレベルが残っている場合、これは入力エラーを示します。
  スライス は、まだ開いているスライスを表示するエラー メッセージで応答します。

この複雑なレベル メカニズムは、特定の条件での詳細なセット操作に必要です。
スライスは含めるか除外する必要があるだけです。 そこで、作業を楽にするために、いくつかの疑似スライスを作成します。
は自動的に定義されます。

「DEFn」
正確にレベル n (0 <= n <= oo) にあるすべてのユーザー定義スライスの結合。

「UNDEFn」
全員の結合 更新不- 正確にレベル n (0 <= n <= oo) のユーザー定義スライス。 これ
実際には「!DEFn」です。

「ディフ」
すべてのユーザー定義スライスの結合 レベル、レベルから開始 1。 この
実際には、すべての「DEFn」スライスの結合です。

「アンデフ」
全員の結合 更新不-ユーザー定義のスライス から始まるレベル 1。 この
実際には単なる「!DEF」です。

"全て"
ファイル全体。 レベル 0 にはユーザーが存在しないため、これは実際には単なる「UNDEF0」です。
スライスが定義されているため、すべてが未定義です。

NAME「@」
これがスライスです NAME min(NAME) <= n <= oo のすべての「DEFn」スライスの和集合を引いたもの。
ここで、min(NAME) は最低レベルに XNUMX を加えたものです。 NAME これまでに起こった。 あなたは読むことができます
これは、「上書きする上位レベルの他のすべてのスライスを除いた NAME」です。 これ
少しクレイジーに聞こえますが、実際には最も重要な構造です。 試してみてください
それを理解していないと、スライス用語が非常に複雑になってしまいます。

OPTIONS


[-y 出力ポリシー]
このフラグはイベントに応じて出力ポリシーを変更します: 未定義のセットが存在する場合は「u」
一致しないワイルドカード セットの場合は「w」、出力が空の場合は「z」、出力が空の場合は「s」
空白文字のみで構成されます。 各文字の後には数字が続きます。
どのアクションがそのようなイベントにバインドされているか: 0 はそのようなイベントを無視し、1 は警告を表示します。
メッセージを表示して続行する場合は 2、該当するファイルをスキップして続行する場合は 3、メッセージで中止する場合は XNUMX
エラーメッセージ。

このフラグは 0 つ以上のイベント仕様で構成され、デフォルトは「u0w0s0zXNUMX」です。

[-o スライスターム:出力ファイル[@chmodcmd][#出力ポリシー] ..]
これにより、出力がファイルにリダイレクトされます。 通常、ファイル全体が「STDOUT」に送信されます。
(「ALL:-」と同じ)。 このオプションを使用できます より かつて 複数に出力するには
ファイルが対応している間、 スライスターム どの出力データを含めるかを決定します
各出力ファイルに追加します。

オプション chmodcmd 文字列は、 chmod コマンド、
に適用されるのは 出力ファイル 書いた後。 たとえば、「"a+r"」を使用して確認します。
ファイルは「u+x」の Web サーバーで読み取り可能であり、実行でファイルを作成します。
ビット セット (通常、「XBitHack」オプションを使用して Web サーバー上の SSI ファイルに使用されます)
利用可能)。

オプション 出力ポリシー 文字列により、この出力のみの出力ポリシーを変更できます
ファイルのグローバルな意味を変更することなく。 出力ポリシーについては、上記を参照してください。

ここで注意してください: 括弧やアスタリスクを内部で使用する場合 スライスターム 必ず
本当に渡されていることを確認してください スライス この方法、つまり通常はこれらをエスケープする必要があります
使用されるシェルによる補間による文字。 これを行うには、バックスラッシュを追加します
これらの文字の前に置くか、完全なオプション引数を単一の文字で囲みます。
引用符 ('')。

-v これにより、一部の処理情報がコンソールに表示される冗長モードが設定されます。
デバッグ目的のため。

-V バージョン識別文字列を表示します。

-h 利用方法ページを表示します。

特殊 FEATURE


場合によっては、コマンドラインオプションを直接提供できると非常に便利です。
入力ファイル、たとえば XNUMX つ以上のセットアップ用 -o オプション。 このために スライス 認識
フォームの行

%!スライスのオプション

入力ファイルに追加され、引数行のオプションに OPTIONS が自動的に追加されます。 これら
行は列 0 から開始する必要があります。

例:

%!スライス -oTOC:contents.txt

実施例


次のような単純な多言語記事ファイルを想定します。 記事.src、HTMLで書かれています:



[EN:タイトルページ:][DE:タイトルサイト:]




[EN:タイトルそのもの:][DE:タイトルの選択:]



[EN:...英語の要約...:]
[DE:...ドイツ語学習...:]


[EN:...英語テキスト...:]
[DE:...ドイツ語テキスト...:]




コマンド

スライス -o ENuUNDEF:article.html.en -o DEuUNDEF:article.html.de

次に、次のファイルを作成します。

記事.html.ja:


タイトルページ




タイトルそのもの



...英語の要約...


...英語のテキスト...



記事.html.de:


ティテルセイテ




タイトル セルブスト



...ドイツ図章...


...ドイツ語テキスト...



制限


現在の実装では、匿名の終了区切り文字「":]"」のみが正しく処理されます。
誤った解釈の可能性がない場合、つまり重複が発生しない場合。 のために
のインスタンス

...[A:...[B:...:A]...:]...

終了区切り文字が「B」スライスに正しく割り当てられていません。 ですので、使用する際には注意が必要です
重複する状況での匿名終了区切り文字。 純粋なスタッキングのような

...[A:...[B:...:]...:]...

は許可され、正しく処理されますが、これを次のように解釈した場合に限ります。

...[A:...[B:...:B]...:A]...

COPYRIGHT


著作権 (c) 1997-2002 ラルフ S. エンゲルシャル。
著作権 (c) 1999-2002 デニス・バルビエ。

onworks.net サービスを使用してオンラインでスライスを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad




×
Advertisement
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。