Chevrotainのパーサメソッド
の編集
Top
/ Chevrotainのパーサメソッド
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
10の質問
ABC予想
AI
AI API
AI プロンプト
AIでつかわれているtransformerのまとめ
AIの話題
ANTLR
ANTLR v3 FAQ よくある質問
ANTLR 独学
ANTLR4 独学
ANTLRでOracleのDDLを解析してみる
ANTLRチュートリアル
AOP
API
ARMマイコン基盤
ATOM SHELL理論
Access VBAメモ
Access-Control-Allow-Origin
AndroidとTensorflow
Android開発
Android開発 入門
AngularJS
Anko
Apache Bench
ArchUnitを学ぶ
Axiosとは
Axis2
BI Publisherで始めるデータ駆動型レポート作成
BPMNの勉強
BackTrack4
Blog from iPhone
Bootstrapとは
BracketName
C3 AI Applications
C3 AI エクスマキナ
CSS備忘録
CentOS
ChatGPTの話題
Chevrotainのパーサメソッド
Chevrotain一覧
Chromeエクステンション
Cocoa Touch Static Library
CoffeeScript
Confluent Control Centerやってみる
C言語でオブジェクト志向な記述方法
DDD ドメイン駆動設計
DDL生成ツール
DJUnit
DMM.comのAPIとか
DOSコマンドメモ
Dashcode
DeepFloyd IF
Dockerが動かない場合の対処
ES2015
Eclipse Monkey
Eclipse Plugin
Eclipseの色設定
Eclipse使いがXCode使い初めて知りたいこと
ElasticMQメモ
Elixir
Emmet
Erlangメモ
ExcelファイルをAIに読ませる
Exceptionを見やすく
Expression Tree
FLEX
FLEX リフレクション
Fisheye
FlashやJavascriptを使った演出
FormattingRules
FrontPage
GAE
GAE Data Store API
GENERAL SQL PARSER JAVA を試してみる
GLOBAL
GPT4ALL
GQL
GUIからMacPortsを管理するアプリケーション - Porticus
Generative Adversarial Networks
Gin JavaScriptで構文解析
Git Blame
GitHubアクションを使ったトロイの木馬のまとめ
GitLab
GitLabRunnerを増やす
GitLabでPlantUML使ってみる
GitLabでプロジェクト管理する
GitLabの機能をそのまま使って認証システム作ったらどこまでできる?
GitLabサーバインストールとメンテ注意事項
GitとAntとSpringとJUnit
Google Cloud Platform
Googleの裏技
Google認定プロジェクトマネージャの勉強メモ
Grails
GraphQL
HTM 階層型時間メモリ
HTML スクレイピング
HTML パース
HTML5
HTML5 Canvas
Hadoop
Help
If Then Maybe プログラミング
Inkscape script
InterWiki
InterWikiName
InterWikiSandBox
JAVAの記事一覧
JBoss
JDBC テーブル一覧を得る
JDBC カラム一覧を得る
JDT eclipse
JGRIB
JHIPSTER JDL
JHIPSTER OpenAPI
JHIPSTER エンティティをフィルタリングする
JHIPSTER6.1.2
JHIPSTERでスマホサイト
JHIPSTERのBLUEPRINTを作る
JHIPSTER一覧
JHipster
JHipster API FirstDepelop
JHipster エンティティを更新する
JHipster7をつかってみる
JHipsterでBuleprintを使いこなす
JHipsterのコード生成を改造
JHipsterのプロジェクトをGitLabでCI/CDする
JHipsterのプロジェクトをデプロイする
JMeter
JOOQとは
JSFとStruts
JSqlParser
Java Closure
Java Compiler API
Java Function
Java SQL Parserを調査する
Java Spring AOP
Java Spriteを設計してみる
Java オブジェクトのダンプ
Java ドラックできる曲線
Java 備忘録
Java 文字化け
Java11以降のJRE
Java7サンプルコード
JavaFx
JavaScriptでパーサを作る Chevrotain
Javaasist 動的にクラスを編集
Javascript グラフィックライブラリ
Javascript コーディングパターン
Javascript界隈
Javassist
JavaでSVG
Javaで関数型で引数をとる
JavaのジェネリクスTip
Javaのラムダ式
Javaの有名なライブラリ紹介
Javaは、IDEのテンプレートを使いこなせばいいよ
Javaプログラマ向けモナド
Javaメモリリーク
Jenkins
Jenkins(Hudson)メモ
Jestとは
Jhipsterマイグレーション
Json Yaml Xml Hash Scala
Kafka REST Proxy さわってみる
Kotolin
LDAPサーバをdockerで立ち上げる
Linux メモ
LiquiBaseとは
Lombok
MDBをコンパクトにするVBA
MQL5 小作品
MT4
MT5 EA
MYSQL
MacTool
Macにしゃべらせる
Mac用のメモ
Mattermostを使ってオンプレミスでチャット環境を作る
Maven
Mementoパターン
MenuBar
NILScript
NetBeanでプロファイル
Network Service Desk Engineer
Node-RED
Node-Red
NumPy
OQL オブジェクト問い合わせ言語
OSコマンドインジェクション
ObjctiveC サウンド
ObjectMapperの備忘録
ObjectiveC NSString
ObjectiveC サーバ
ObjectiveC ターミナル用コマンドを作る
ObjectiveC バックグラウンド
ObjectiveC ワーニング
Oculusアプリの開発
OpenFeint
OpenOffice
OpenResty
Outlook VBA
PHP
POSTGRESQL
Pandas Python Data Analysis Library
PdfBox Java用PDFライブラリ
Plagger
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
PyHipster
QuartzCore
RAD
REST
RWKV
Rails3
Railsと差分開発についての考察
React.js
React.js モーダル画面
RecentDeleted
RedmineLE
Redshift
Relumeでサイトの骨格を作る
Require.js
Rubycocoa
RubyでScalaをコンパイルするツールをつくる
Rubyアソシエーション認定証
Ruby入門
SCALA REPL
SCALA support tool
SCALAの記事一覧
SELinux
SEO
SEO Yahoo対策
SEO対策一覧
SPAM対策
SQLite
SSH
SVNをJavaで操作
SakuraZencoding
SandBox
Scala / Hadoop
Scala Process exec
Scala 遅延評価
Scala/LiftでSlim3
ScalaSigParser
ScalaWithExcel
Scala チュートリアル
Scalaで3D
ScalaでLisp
ScalaとGroovyのPOJO比較
ScalaのIDEについて
Scala言語を学ぶやさしいツール「Kojo」
Slack API やってみる
SocketAppender
Spring
Spring bootでのテストのTIPS
SpringBootのSTSの新規プロジェクトでるエラーの対応
SpringSecurity SAML
Sqlite
Squirrel
StringTemplate
Stringクラス拡張
TALEND
ThreadLocal
Todo一覧
Trac Lightning
Twitter
UltraEdit
Unityでシューティングゲーム作る際のメモ
VBAでREST通信
VBAのコード
VBAをOpenOffice.org Basicにする
VBAをOpenOffice.org+Basicにする
VPN構築の勉強メモ
VPSやIaaSメモ
VSCodeでRuby開発
VSCodeメモ
VSCode用ChatGptのPlugin
VSCode設定
VirtualBox On Mac
Visual Studio Code プラグイン開発
Vuexとは
WBS管理の弊害
WIN32API
WSDL
Watson
WebDesign探訪
WebLogic フィルタ
WikiEngines
WikiName
WikiWikiWeb
Windows10のPowerShell でキーボードの言語切り替え
WindowsTool
Worker Thread パターン
XBee
XDOCLET
XForms
XPath
XSL
YahooPIPES
Yahooインフォセンター
Yet Another Pragger
YouTuber
YukiWiki
anacondaをcygwinで使う
ansible
antlr snippet
antlr 再入門
antlrと日本語
autoit
automator
bluemix
bootstrap2
bower
ccze Colorize log files on CentOS and Ubuntu using ccze tool
centos7
cglibを使って動的コード生成
cocos2d
cygwin
diff
dockerのローカルイメージをDocker-in-Dockerで参照する
eclipse設定
emacs 備忘録
emacs 文字列置換
emacsをviライクにする
excel tips
excelのdiff
expectで自動化
figmaにプラグインをインストールする
ftp自動化
gemini
generator-jhipster-gql
git diffを使った構成管理の省力化
goをやってみる
grizzly
gulp
homebrew
iPhone Bluetoothプログラミング
iPhone iAd
iPhone 実機テスト手続き
iPhoneでグラフィックのHellowWorld
iPhoneとGmailメール
iPhoneに実機転送
iPhoneプログラミング
iPhoneプログラミング/ビューを理解すればiPhoneアプリの基礎を押さえられる
iPhoneプログラミング一覧
iPhoneプログラミング入門
iPhone開発/Interface Builder Plug-in
iPhone開発/キャプチャの取り方
intra-mart
jQuery.Flickableのメモ
java spring boot 認証 memo
jersey
jhipster-codeにアノテーション追加してみる
jhipsterのテンプレート改造準備
jparsecドキュメント日本語訳
jparsec入門
kafkaの勉強
log4j2の脆弱性
mac diff
mailcowのインストール
memcached
minecraft マイクラ あるきながら、高速ダンジョン作成
mqttの勉強
nginx_lua
nginxのメモ
node_moduleをnpm linkを使って自分用にする
npm
openapi generator
openapi-generatorをコンパイル
openstack
oraclerac
play framework 1.2.5 sample
play! framework
play!framework selenium
playframework テンプレート
postmanとopenapi
prezi プレゼン
pukiwikiで行動管理
pukiwikiに類似したツール
pukiwiki勉強
pukiwiki記事一覧
python
python3のwindowsでの日本語文字化け対応
pythonでseleniumを使う
pythonのテストに使うライブラリ
rails5
reactでポップアップ表示
redmine
ruby on rails 6.0.0
scala
scala 99problem 32~
scala prototype.zip
scala repl
scala sbaz
scala spring
scala/インストール
scalaでまだ不勉強なところ
scalaのインストール
selenium
slack api
spark
spring boot
spring initializerをつかってプロジェクトのひな型をゲットする
spring-test
springboot
springboot env
storybook
sublimetext2
swagger
tracについて
ubuntu
vaadin
vue を typescriptで開発
vue 共通部品作成
vue.js memo
vue.jsとは
vue.jsのデバッグ
vue一覧
webの編集画面のよくあるパターン
windows環境構築
wordpress
xamppについて
•Axis2の本家のスタートガイドによるWebサービスの作り方
【Javascript】【CLIライブラリ】commanderの勉強
【MQL5】KuniRangeBreakoutEA
いまさらながらC++
びっくりする短いコード
アクター
アニメーション
アノテーション
アプリコット
アプリコット PukiWiki
アプリコード
アプリコード林邦行
イラストのエフェクト
インテンショナルプログラミング
カスタマイズjhipster7.9.3イメージ
カブロボ
ガイガーカウンター
クラスとハッシュマップの関係
クラック対策
クロス集計
コマンドラインという概念への考察
コミニュケーション
コード生成
サロゲートキーを使ったテーブル設計
シェルのサンプル
シェルサンプル
スクレイピング
スレッドプログラミングメモ
ソースtoソース変形
ターミナルをAppleScriptで制御
テキストエディタ作成javascriptフレームワーク
テスト用まっさらDBをdockerでたてる
テスト駆動
テレワーク環境の比較
ドット絵
バイオビルダー合成生物学メモ
バグの少ない設計のためのValueObject
パフォーマンスチューニング
フロントエンドのテストの結合テストを減らすには?
プッシュ技術
プログラマーじゃない人に覚えてほしいプログラムのコメントの書き方
プロジェクト管理スプレッドシート
マイクラ 有名ディメンション モッド
マクスウェル方程式
メタ
ラムダ計算について考える
リベリカJava13いいみたい
リモートワークでのプロジェクト注意点
レイアウトツール
ログ解析
世界の構文解析グラマーたち
予定表
予定表/2009-12-14
予定表/2009-12-18
予定表/2009-12-19
予定表/2009-12-22
予定表/2009-12-23
予定表/2009-12-24
事業の心構え
事業計画方針
人工知能とCUDA
人工知能コンペKaggle
仕様書のフォーマットについての考察
他言語サイトサンプル作成
仮説Oracleの罠
作曲と効果音作り
共和分
口コミ
古いRails5を入れる
哲学
大文字小文字変換
学習をHackする
扶養とシステム
投薬のみのガンの治療薬
擬似コーディングのすすめ
放射能対策
数式を扱う
文章を書く
新エネルギー
新年の抱負2010
新技術 プログラム編
日本のゼネコン式IT開発が失敗する理由
最近更新したページ
未来技術/新技術
枯れた技術の水平思考
株価データ
業界の動向
構文解析の記事一覧
正規表現
気象データ
流れるようなインタフェース
管理画面の生成におけるopenapiとJDLなどの考察
細胞の若返り
経済のことをまとめてみる
脆弱性
自分でPlaggerみたいなのを作るためのメモ
論語/学而第一
負荷テスト
販売/デスクトップPC
販売/ノートパソコン
販売/外部ストレージ
起業
酸化グラフェン
開発哲学
電子出版
電子出版の記事一覧
非可換幾何学
顧客分析のデシル分析とRFM分析
DIコンテナについて考える
MP3から携帯着うたを作る方法
[[JHIPSTER一覧]] [[Chevrotain一覧]] *** 目次 [#of58cd7c] #contents ** はじめに、 [#fb73c2e7] このドキュメントは、JHIPSTERという、Javaコードジェネレータの定義JDLを魔改造するための知識を得るため、英語が苦手な人が、頑張って、グーグル翻訳をペタリと張り付け、体裁おを整えてみたものです。 *** 原文はこちら [#wb2b24b1] https://sap.github.io/chevrotain/documentation/4_8_1/classes/parser.html https://chevrotain.io/docs/ * メソッド [#dbc12162] ** AT LEAST ONE [#a015cda6] AT LEAST ONE ( actionORMethodDef :GrammarAction < any > | DSLMethodOptsWithErr < any > ):void BaseParserから継承されます。少なくとも一つの api.d.tsで定義:616 便利な方法は、MANYと同じですが、繰り返しは1回以上です。少なくとも1回の繰り返しに一致しないと、構文解析エラーが発生し、構文解析エラーが発生します。 *** 参考 [#of59ed26] MANY *** パラメーター [#pa6659a3] actionORMethodDef:GrammarAction < any > | DSLMethodOptsWithErr < any > オプションで複数回呼び出す文法アクション、または文法アクションとオプションのプロパティを記述する "OPTIONS"オブジェクト。 *** 戻り値 [#zf041f02] void * AT_LEAST_ONE_SEP [#u835e1dc] AT_LEAST_ONE(actionORMethodDef: GrammarAction<any> | DSLMethodOptsWithErr<any>): void BaseParserから継承されます。AT_LEAST_ONE_SEP api.d.tsで定義されています:705 便利な方法、MANY_SEPと同じですが、繰り返しは1回以上です。少なくとも1回の繰り返しに一致しないと、構文解析エラーが発生し、パーサーはエラー回復を試みます。 追加のオプションプロパティERR_MSGを使用してカスタムエラーメッセージを提供できることに注意してください。 *** 参照 [#mfb0dd95] MANY_SEP *** パラメーター [#sf3e5305] オプション: AtLeastOneSepMethodOpts<any> 各反復の文法と反復間の区切り文字を定義するオブジェクト voidを返します ** BACKTRACK [#qf37fc9d] BACKTRACK<T>(grammarRule: function, args?: any[]): function BaseParserから継承されます。バックトラック api.d.tsで定義されている:63 *** 型パラメータ [#kb590b43] - T *** パラメーター [#iee2b75c] grammarRule:関数 バックトラックモードで試行して解析するための規則。 (... args :any [] ):T パラメーター 休憩 ... args:any [] Tを返します オプションの引数:any [] 文法規則の実行に渡される引数 関数を返します 与えられたgrammarRuleを解析しようとし、成功すればtrueを返す先読み関数 ():ブール値 ブール値を返します ** CONSUME [#f93f9ecc] CONSUME(tokType: TokenType, options?: ConsumeMethodOpts): IToken BaseParserから継承されます。消耗品 api.d.tsで定義されています:99 単一のトークンを消費するために使用する構文解析DSLメソッド。EBNFの用語では、これは端末と同等です。 トークンが消費され、トークンベクトル内の次のトークンが一致するとIFF 。そうでなければ、パーサーはエラー回復を実行しようと試みるかもしれません(可能にされているなら)。 メソッド名のインデックスは、最上位ルール内での端末消費の一意の発生を示します。これが意味するのは、端末が単一のルール内に複数回現れる場合、各外観は異なるインデックスを持たなければならないということです。 *** 例: [#s3541b26] this.RULE("qualifiedName", () => { this.CONSUME1(Identifier); this.MANY(() => { this.CONSUME1(Dot); // here we use CONSUME2 because the terminal // 'Identifier' has already appeared previously in the // the rule 'parseQualifiedName' this.CONSUME2(Identifier); }); }) 固有の接尾部の要件に関する詳細を参照してください。 パラメーター tokType:TokenType 消費されるトークンの種類。 オプションのオプション:ConsumeMethodOpts CONSUMEの動作を変更するためのオプションのプロパティ。 ITokenを返します。 ** LA [#t877cc75] LA ( howMuch :number ):IToken BaseParserから継承されます。LA api.d.tsで定義:810 *** パラメーター [#x1ccc807] howMuch:数 ITokenを返します。 ** MANY [#g47aa4e6] MANY ( actionORMethodDef :GrammarAction < any > | DSLMethodOpts < any > ):void BaseParserから継承されます。たくさんの api.d.tsで定義:442 DSLメソッドの解析。ゼロ以上の繰り返しを示します。これはEBNFの繰り返し{...}と同じです。 2つの構文形式があることに注意してください。 文法アクションを直接渡す this.MANY(() => { this.CONSUME(Comma) this.CONSUME(Digit) }) "options"オブジェクトを使う: this.MANY({ GATE: predicateFunc, DEF: () => { this.CONSUME(Comma) this.CONSUME(Digit) } }); "options"オブジェクト形式のオプションの 'GATE'プロパティを使用して、文法アクションを呼び出すための制約を追加することができます。 CONSUMEと同様に、メソッド名のインデックスは、その最上位ルールでの繰り返し生成の発生を示します。 *** パラメーター [#gdbdd92a] actionORMethodDef:GrammarAction < any > | DSLMethodOpts < any > オプションで複数回呼び出す文法アクション、または文法アクションとオプションのプロパティを記述する "OPTIONS"オブジェクト。 voidを返します ** MANY_SEP [#rce9cab7] MANY_SEP(options: ManySepMethodOpts<any>): void BaseParserから継承されます。MANY_SEP api.d.tsで定義:549 DSL方式の構文解析。繰り返しの間に区切り文字トークンを付けて、ゼロ以上の繰り返しを示します。 例: this.MANY_SEP({ SEP:Comma, DEF: () => { this.CONSUME(Number}; // ... }) このDSLメソッドは常に複数の引数を必要とするため、optionsオブジェクトは常に必須であり、MANY DSLメソッドのように短い形式を使用することはできません。 別の反復が存在するかどうかを判断する目的で、単一のトークンのみが調べられます(区切り文字)。したがって、実装されている文法が項目区切り文字を識別するために複数のトークンを必要とするほど「クレイジー」である場合は、より基本的なDSLメソッドを使用してそれを実装してください。 CONSUMEと同様に、メソッド名のインデックスは、その最上位ルールでの繰り返し生成の発生を示します。 現在の実装の制限により、 "SEP"プロパティは "DEF"プロパティの前に配置する必要があります。 パラメーター オプション:ManySepMethodOpts < any > 各反復の文法と反復間の区切り文字を定義するオブジェクト voidを返します ** OPTION [#kb13ec3d] OPTION <OUT> ( actionORMethodDef :GrammarAction < OUT > | DSLMethodOpts < OUT > ):OUT BaseParserから継承されます。オプション api.d.tsで定義されている:216 オプションのプロダクションを示すDSL解析メソッド。EBNF表記では、これは "[...]"と同等です。 2つの構文形式があることに注意してください。 文法アクションを直接渡す this.OPTION(() => { this.CONSUME(Digit)} ); "options"オブジェクトを使う: this.OPTION({ GATE:predicateFunc, DEF: () => { this.CONSUME(Digit) }}); "options"オブジェクト形式のオプションの 'GATE'プロパティを使用して、文法アクションを呼び出すための制約を追加することができます。 CONSUMEと同様に、メソッド名のインデックスは、最上位規則の中でオプションのプロダクションの出現を示します。 型パラメータ でる パラメーター actionORMethodDef:GrammarAction < OUT > | DSLMethodOpts < OUT > オプションで1回呼び出す文法アクション、または文法アクションとオプションのプロパティを記述する "OPTIONS"オブジェクト。 OUTを返します ** OR [#ae663ea2] OR ( altsOrOpts :IAnyOrAlt [] | OrMethodOpts ):any BaseParserから継承されます。または api.d.tsで定義:352 一連の選択肢の中から選択を示す構文解析DSLメソッドを作成する必要があります。これは、選択肢がPEG文法のように順序付けられていることを除いて、EBNF交替(A | B | C | D ...)と同等です。これは、最初に一致した選択肢が常に選択されることを意味します。 内部の代替配列にはいくつかの形式があります。 代替配列を直接渡す: this.OR([ { ALT:() => { this.CONSUME(One) }}, { ALT:() => { this.CONSUME(Two) }}, { ALT:() => { this.CONSUME(Three) }} ]) 述語(GATE)を使って代替配列を直接渡す: this.OR([ { GATE: predicateFunc1, ALT:() => { this.CONSUME(One) }}, { GATE: predicateFuncX, ALT:() => { this.CONSUME(Two) }}, { GATE: predicateFuncX, ALT:() => { this.CONSUME(Three) }} ]) これらの構文形式は混在させることもできます。 this.OR([ { GATE: predicateFunc1, ALT:() => { this.CONSUME(One) } }, { ALT:() => { this.CONSUME(Two) }}, { ALT:() => { this.CONSUME(Three) }} ]) さらに「オプション」オブジェクトを使用することができます。 this.OR({ DEF:[ { ALT:() => { this.CONSUME(One) }}, { ALT:() => { this.CONSUME(Two) }}, { ALT:() => { this.CONSUME(Three) }} ], // OPTIONAL property ERR_MSG: "A Number" }) 長い形式の「predicateFuncX」は、選択肢の選択に制約を追加するために使用できます。 CONSUMEと同様に、メソッド名のインデックスは、その最上位ルールでの代替生産のオカレンスを示します。 パラメーター altsOrOpts:IAnyOrAlt [] | OrMethodOpts 選択肢のセット、または選択肢とオプションのプロパティを記述する "OPTIONS"オブジェクト。 anyを返します 選択された選択肢を呼び出した結果。 ** OVERRIDE_RULE [#q2abbd1e] OVERRIDE_RULE<T>(name: string, impl: function, config?: IRuleConfig<T>): function api.d.tsで定義:844 Parser.RULEと同じですが、スーパー文法からの規則/生成を無効にするために文法を「拡張する」際にのみ使用されるべきです。パーサー継承の例を参照してください。 *** 型パラメータ [#r8d80577] - T *** パラメーター [#a8021880] - 名前:文字列 - 暗黙:関数 (... implArgs :any [] ):T *** パラメーター [#sc288c04] Rest ... implArgs:any [] Tを返します オプションの設定:IRuleConfig < T > 関数を返します ( idxInCallingRule ?:number、... args :any [] ):T | どれか パラメーター オプションの idxInCallingRule:number 休憩 ... args:any [] Tを 返します。 どれか ** RULE [#f0003e18] RULE<T>(name: string, implementation: function, config?: IRuleConfig<T>): function api.d.tsで定義:833 *** 型パラメータ [#nea570c0] T *** パラメーター [#q47a59eb] - 名前:文字列 - ルールの名前 実装:機能 ルールの実装 (... implArgs :any [] ):T *** パラメーター [#m9dd5240] Rest ... implArgs:any [] Tを返します オプションの設定:IRuleConfig < T > 関数を返します を処理する解析ロジックでラップされた本番用実装である解析ルール Parser state / error recovery&reporting/ ... ( idxInCallingRule ?:number、... args :any [] ):T | どれか *** パラメーター [#q6479335] オプションの idxInCallingRule:number 休憩 ... args:any [] Tを 返します。 どれか ** SKIP_TOKEN [#g5fb4759] SKIP_ TOKEN ():IToken BaseParserから継承されます。SKIP_TOKEN api.d.tsで定義されています:808 ITokenを返します。 ** SUBRULE [#o3c7ad2f] SUBRULE <T> ( ruleToCall :機能、オプション?:SubruleMethodOpts ):T api.d.tsで定義:870 構文解析DSLメソッドは、あるルールで別のルールを呼び出すために使用されます。これはEBNF表記法では非終端記号と同等です。 実際にはあまり効果がないので、これは冗長に見えるかもしれません。ただし、それを使用することは、すべてのサブ規則呼び出しに必須です。 SUBRULE(...)で折り返さずに別のルールを呼び出すと、Parserの自己分析フェーズでエラー/ミスが発生し、エラー回復/自動先読み計算およびParserの自己分析出力に依存するその他の機能にエラーが発生します。 CONSUMEと同様に、メソッド名のインデックスは、そのルール内のサブルール呼び出しの発生を示します。 *** 型パラメータ [#v2096200] - T *** パラメーター [#aa1f9e22] ruleToCall:関数 呼び出す規則。 ( idx :number ):T パラメーター idx:番号 Tを返します オプションのオプション:SubruleMethodOpts SUBRULEの動作を変更するためのオプションのプロパティ。 Tを返します ruleToCallを呼び出した結果。 ** canTokenTypeBeInsertedInRecovery [#m82093d7] canTokenTypeBeInsertedInRecovery(tokType: TokenType): boolean BaseParserから継承されます。canTokenTypeBeInsertedInRecovery api.d.tsで定義:795 デフォルトではすべてのトークンタイプが挿入されます。この振る舞いは、例えば、認識機能を継承することでオーバーライドされるかもしれません:それらは追加の意味的価値を持たないので句読点トークンだけが自動的に挿入されるかもしれないと決めるかもしれません。(必須のセミコロンには追加の意味はありませんが、整数はそのint値とコンテキストによっては追加の意味がある場合があります(カーディナリティーに整数0を挿入すると、カーディナリティーの最大値は最小値よりも大きい値にします(これは誤ったエラーです!)。 パラメーター tokType:TokenType ブール値を返します ** computeContentAssist [#oee71375] computeContentAssist(startRuleName: string, precedingInput: IToken[]): ISyntacticContentAssistPath[] api.d.tsで定義されている:52 *** パラメーター [#b75628ef] startRuleName:文字列 previousInput:IToken [] コンテンツアシストポイントまでの(含まれない)トークンベクトル ISyntacticContentAssistPath []を返します。 ** getBaseCstVisitorConstructor [#y7eec4fb] getBaseCstVisitorConstructor(): object BaseParserから継承されます。getBaseCstVisitorConstructor api.d.tsで定義されている:36 オブジェクトを返します コンストラクタ:関数 new __type (... args :any [] ):ICstVisitor < any 、any > api.d.tsで定義されている:36 パラメーター 休憩 ... args:any [] ICstVisitor < any 、any >を返します。 ** getBaseCstVisitorConstructor [#db4047de] getBaseCstVisitorConstructor(): object BaseParserから継承されます。getBaseCstVisitorConstructorWithDefaults api.d.tsで定義されています:40 オブジェクトを返します コンストラクタ:関数 new __type (... args :any [] ):ICstVisitor < any 、any > api.d.tsで定義されています:40 パラメーター 休憩 ... args:any [] ICstVisitor < any 、any >を返します。 ** getGAstProductions [#nefbca07] getGAstProductions(): HashTable<Rule> BaseParserから継承されます。getGAstProductions api.d.tsで定義されている:44 HashTable < Rule >を返します。 ** getNextPossibleTokenTypes [#de54631a] getNextPossibleTokenTypes(grammarPath: ITokenGrammarPath): TokenType[] BaseParserから継承されます。getNextPossibleTokenTypes api.d.tsで定義されている:802 廃止予定 将来削除されます *** パラメーター [#o23ec6d9] grammarPath:ITokenGrammarPath TokenType []を返します。 *** getSerializedGastProductions [#pf98a076] getSerializedGastProductions(): ISerializedGast[] BaseParserから継承されます。getSerializedGastProductions api.d.tsで定義されている:46 ISerializedGast []を返します。 ** getTokenToInsert [#x5bd8e94] getTokenToInsert(tokType: TokenType): IToken BaseParserから継承されます。getTokenToInsert api.d.tsで定義:786 単一トークンの挿入が完了したときに挿入する「架空の」トークンを返します。文法で特別な動作が必要な場合はこれをオーバーライドします。例えば、IntegerTokenが必要な場合は、それが構文的に有効になるように、画像 '0'を持つものを提供してください。 *** パラメーター [#c25ffb56] tokType:TokenType ITokenを返します。 ** performSelfAnalysis [#j4b7bae1] performSelfAnalysis(): void Inherited from BaseParser.performSelfAnalysis Defined in api.d.ts:15 This must be called at the end of a Parser constructor. See: http://sap.github.io/chevrotain/docs/tutorial/step2_parsing.html#under-the-hood Returns void ** reset [#aeac9b0c] reset(): void Inherited from BaseParser.reset Defined in api.d.ts:34 Resets the parser state, should be overridden for custom parsers which "carry" additional state. When overriding, remember to also invoke the super implementation! Returns void ** Static performSelfAnalysis [#r597eec5] performSelfAnalysis(parserInstance: Parser): void Defined in api.d.ts:822 deprecated use Parser.performSelfAnalysis instance method instead. *** Parameters [#n12943d9] parserInstance: Parser Returns void
spamではない場合はチェックをいれてください。
タイムスタンプを変更しない
[[JHIPSTER一覧]] [[Chevrotain一覧]] *** 目次 [#of58cd7c] #contents ** はじめに、 [#fb73c2e7] このドキュメントは、JHIPSTERという、Javaコードジェネレータの定義JDLを魔改造するための知識を得るため、英語が苦手な人が、頑張って、グーグル翻訳をペタリと張り付け、体裁おを整えてみたものです。 *** 原文はこちら [#wb2b24b1] https://sap.github.io/chevrotain/documentation/4_8_1/classes/parser.html https://chevrotain.io/docs/ * メソッド [#dbc12162] ** AT LEAST ONE [#a015cda6] AT LEAST ONE ( actionORMethodDef :GrammarAction < any > | DSLMethodOptsWithErr < any > ):void BaseParserから継承されます。少なくとも一つの api.d.tsで定義:616 便利な方法は、MANYと同じですが、繰り返しは1回以上です。少なくとも1回の繰り返しに一致しないと、構文解析エラーが発生し、構文解析エラーが発生します。 *** 参考 [#of59ed26] MANY *** パラメーター [#pa6659a3] actionORMethodDef:GrammarAction < any > | DSLMethodOptsWithErr < any > オプションで複数回呼び出す文法アクション、または文法アクションとオプションのプロパティを記述する "OPTIONS"オブジェクト。 *** 戻り値 [#zf041f02] void * AT_LEAST_ONE_SEP [#u835e1dc] AT_LEAST_ONE(actionORMethodDef: GrammarAction<any> | DSLMethodOptsWithErr<any>): void BaseParserから継承されます。AT_LEAST_ONE_SEP api.d.tsで定義されています:705 便利な方法、MANY_SEPと同じですが、繰り返しは1回以上です。少なくとも1回の繰り返しに一致しないと、構文解析エラーが発生し、パーサーはエラー回復を試みます。 追加のオプションプロパティERR_MSGを使用してカスタムエラーメッセージを提供できることに注意してください。 *** 参照 [#mfb0dd95] MANY_SEP *** パラメーター [#sf3e5305] オプション: AtLeastOneSepMethodOpts<any> 各反復の文法と反復間の区切り文字を定義するオブジェクト voidを返します ** BACKTRACK [#qf37fc9d] BACKTRACK<T>(grammarRule: function, args?: any[]): function BaseParserから継承されます。バックトラック api.d.tsで定義されている:63 *** 型パラメータ [#kb590b43] - T *** パラメーター [#iee2b75c] grammarRule:関数 バックトラックモードで試行して解析するための規則。 (... args :any [] ):T パラメーター 休憩 ... args:any [] Tを返します オプションの引数:any [] 文法規則の実行に渡される引数 関数を返します 与えられたgrammarRuleを解析しようとし、成功すればtrueを返す先読み関数 ():ブール値 ブール値を返します ** CONSUME [#f93f9ecc] CONSUME(tokType: TokenType, options?: ConsumeMethodOpts): IToken BaseParserから継承されます。消耗品 api.d.tsで定義されています:99 単一のトークンを消費するために使用する構文解析DSLメソッド。EBNFの用語では、これは端末と同等です。 トークンが消費され、トークンベクトル内の次のトークンが一致するとIFF 。そうでなければ、パーサーはエラー回復を実行しようと試みるかもしれません(可能にされているなら)。 メソッド名のインデックスは、最上位ルール内での端末消費の一意の発生を示します。これが意味するのは、端末が単一のルール内に複数回現れる場合、各外観は異なるインデックスを持たなければならないということです。 *** 例: [#s3541b26] this.RULE("qualifiedName", () => { this.CONSUME1(Identifier); this.MANY(() => { this.CONSUME1(Dot); // here we use CONSUME2 because the terminal // 'Identifier' has already appeared previously in the // the rule 'parseQualifiedName' this.CONSUME2(Identifier); }); }) 固有の接尾部の要件に関する詳細を参照してください。 パラメーター tokType:TokenType 消費されるトークンの種類。 オプションのオプション:ConsumeMethodOpts CONSUMEの動作を変更するためのオプションのプロパティ。 ITokenを返します。 ** LA [#t877cc75] LA ( howMuch :number ):IToken BaseParserから継承されます。LA api.d.tsで定義:810 *** パラメーター [#x1ccc807] howMuch:数 ITokenを返します。 ** MANY [#g47aa4e6] MANY ( actionORMethodDef :GrammarAction < any > | DSLMethodOpts < any > ):void BaseParserから継承されます。たくさんの api.d.tsで定義:442 DSLメソッドの解析。ゼロ以上の繰り返しを示します。これはEBNFの繰り返し{...}と同じです。 2つの構文形式があることに注意してください。 文法アクションを直接渡す this.MANY(() => { this.CONSUME(Comma) this.CONSUME(Digit) }) "options"オブジェクトを使う: this.MANY({ GATE: predicateFunc, DEF: () => { this.CONSUME(Comma) this.CONSUME(Digit) } }); "options"オブジェクト形式のオプションの 'GATE'プロパティを使用して、文法アクションを呼び出すための制約を追加することができます。 CONSUMEと同様に、メソッド名のインデックスは、その最上位ルールでの繰り返し生成の発生を示します。 *** パラメーター [#gdbdd92a] actionORMethodDef:GrammarAction < any > | DSLMethodOpts < any > オプションで複数回呼び出す文法アクション、または文法アクションとオプションのプロパティを記述する "OPTIONS"オブジェクト。 voidを返します ** MANY_SEP [#rce9cab7] MANY_SEP(options: ManySepMethodOpts<any>): void BaseParserから継承されます。MANY_SEP api.d.tsで定義:549 DSL方式の構文解析。繰り返しの間に区切り文字トークンを付けて、ゼロ以上の繰り返しを示します。 例: this.MANY_SEP({ SEP:Comma, DEF: () => { this.CONSUME(Number}; // ... }) このDSLメソッドは常に複数の引数を必要とするため、optionsオブジェクトは常に必須であり、MANY DSLメソッドのように短い形式を使用することはできません。 別の反復が存在するかどうかを判断する目的で、単一のトークンのみが調べられます(区切り文字)。したがって、実装されている文法が項目区切り文字を識別するために複数のトークンを必要とするほど「クレイジー」である場合は、より基本的なDSLメソッドを使用してそれを実装してください。 CONSUMEと同様に、メソッド名のインデックスは、その最上位ルールでの繰り返し生成の発生を示します。 現在の実装の制限により、 "SEP"プロパティは "DEF"プロパティの前に配置する必要があります。 パラメーター オプション:ManySepMethodOpts < any > 各反復の文法と反復間の区切り文字を定義するオブジェクト voidを返します ** OPTION [#kb13ec3d] OPTION <OUT> ( actionORMethodDef :GrammarAction < OUT > | DSLMethodOpts < OUT > ):OUT BaseParserから継承されます。オプション api.d.tsで定義されている:216 オプションのプロダクションを示すDSL解析メソッド。EBNF表記では、これは "[...]"と同等です。 2つの構文形式があることに注意してください。 文法アクションを直接渡す this.OPTION(() => { this.CONSUME(Digit)} ); "options"オブジェクトを使う: this.OPTION({ GATE:predicateFunc, DEF: () => { this.CONSUME(Digit) }}); "options"オブジェクト形式のオプションの 'GATE'プロパティを使用して、文法アクションを呼び出すための制約を追加することができます。 CONSUMEと同様に、メソッド名のインデックスは、最上位規則の中でオプションのプロダクションの出現を示します。 型パラメータ でる パラメーター actionORMethodDef:GrammarAction < OUT > | DSLMethodOpts < OUT > オプションで1回呼び出す文法アクション、または文法アクションとオプションのプロパティを記述する "OPTIONS"オブジェクト。 OUTを返します ** OR [#ae663ea2] OR ( altsOrOpts :IAnyOrAlt [] | OrMethodOpts ):any BaseParserから継承されます。または api.d.tsで定義:352 一連の選択肢の中から選択を示す構文解析DSLメソッドを作成する必要があります。これは、選択肢がPEG文法のように順序付けられていることを除いて、EBNF交替(A | B | C | D ...)と同等です。これは、最初に一致した選択肢が常に選択されることを意味します。 内部の代替配列にはいくつかの形式があります。 代替配列を直接渡す: this.OR([ { ALT:() => { this.CONSUME(One) }}, { ALT:() => { this.CONSUME(Two) }}, { ALT:() => { this.CONSUME(Three) }} ]) 述語(GATE)を使って代替配列を直接渡す: this.OR([ { GATE: predicateFunc1, ALT:() => { this.CONSUME(One) }}, { GATE: predicateFuncX, ALT:() => { this.CONSUME(Two) }}, { GATE: predicateFuncX, ALT:() => { this.CONSUME(Three) }} ]) これらの構文形式は混在させることもできます。 this.OR([ { GATE: predicateFunc1, ALT:() => { this.CONSUME(One) } }, { ALT:() => { this.CONSUME(Two) }}, { ALT:() => { this.CONSUME(Three) }} ]) さらに「オプション」オブジェクトを使用することができます。 this.OR({ DEF:[ { ALT:() => { this.CONSUME(One) }}, { ALT:() => { this.CONSUME(Two) }}, { ALT:() => { this.CONSUME(Three) }} ], // OPTIONAL property ERR_MSG: "A Number" }) 長い形式の「predicateFuncX」は、選択肢の選択に制約を追加するために使用できます。 CONSUMEと同様に、メソッド名のインデックスは、その最上位ルールでの代替生産のオカレンスを示します。 パラメーター altsOrOpts:IAnyOrAlt [] | OrMethodOpts 選択肢のセット、または選択肢とオプションのプロパティを記述する "OPTIONS"オブジェクト。 anyを返します 選択された選択肢を呼び出した結果。 ** OVERRIDE_RULE [#q2abbd1e] OVERRIDE_RULE<T>(name: string, impl: function, config?: IRuleConfig<T>): function api.d.tsで定義:844 Parser.RULEと同じですが、スーパー文法からの規則/生成を無効にするために文法を「拡張する」際にのみ使用されるべきです。パーサー継承の例を参照してください。 *** 型パラメータ [#r8d80577] - T *** パラメーター [#a8021880] - 名前:文字列 - 暗黙:関数 (... implArgs :any [] ):T *** パラメーター [#sc288c04] Rest ... implArgs:any [] Tを返します オプションの設定:IRuleConfig < T > 関数を返します ( idxInCallingRule ?:number、... args :any [] ):T | どれか パラメーター オプションの idxInCallingRule:number 休憩 ... args:any [] Tを 返します。 どれか ** RULE [#f0003e18] RULE<T>(name: string, implementation: function, config?: IRuleConfig<T>): function api.d.tsで定義:833 *** 型パラメータ [#nea570c0] T *** パラメーター [#q47a59eb] - 名前:文字列 - ルールの名前 実装:機能 ルールの実装 (... implArgs :any [] ):T *** パラメーター [#m9dd5240] Rest ... implArgs:any [] Tを返します オプションの設定:IRuleConfig < T > 関数を返します を処理する解析ロジックでラップされた本番用実装である解析ルール Parser state / error recovery&reporting/ ... ( idxInCallingRule ?:number、... args :any [] ):T | どれか *** パラメーター [#q6479335] オプションの idxInCallingRule:number 休憩 ... args:any [] Tを 返します。 どれか ** SKIP_TOKEN [#g5fb4759] SKIP_ TOKEN ():IToken BaseParserから継承されます。SKIP_TOKEN api.d.tsで定義されています:808 ITokenを返します。 ** SUBRULE [#o3c7ad2f] SUBRULE <T> ( ruleToCall :機能、オプション?:SubruleMethodOpts ):T api.d.tsで定義:870 構文解析DSLメソッドは、あるルールで別のルールを呼び出すために使用されます。これはEBNF表記法では非終端記号と同等です。 実際にはあまり効果がないので、これは冗長に見えるかもしれません。ただし、それを使用することは、すべてのサブ規則呼び出しに必須です。 SUBRULE(...)で折り返さずに別のルールを呼び出すと、Parserの自己分析フェーズでエラー/ミスが発生し、エラー回復/自動先読み計算およびParserの自己分析出力に依存するその他の機能にエラーが発生します。 CONSUMEと同様に、メソッド名のインデックスは、そのルール内のサブルール呼び出しの発生を示します。 *** 型パラメータ [#v2096200] - T *** パラメーター [#aa1f9e22] ruleToCall:関数 呼び出す規則。 ( idx :number ):T パラメーター idx:番号 Tを返します オプションのオプション:SubruleMethodOpts SUBRULEの動作を変更するためのオプションのプロパティ。 Tを返します ruleToCallを呼び出した結果。 ** canTokenTypeBeInsertedInRecovery [#m82093d7] canTokenTypeBeInsertedInRecovery(tokType: TokenType): boolean BaseParserから継承されます。canTokenTypeBeInsertedInRecovery api.d.tsで定義:795 デフォルトではすべてのトークンタイプが挿入されます。この振る舞いは、例えば、認識機能を継承することでオーバーライドされるかもしれません:それらは追加の意味的価値を持たないので句読点トークンだけが自動的に挿入されるかもしれないと決めるかもしれません。(必須のセミコロンには追加の意味はありませんが、整数はそのint値とコンテキストによっては追加の意味がある場合があります(カーディナリティーに整数0を挿入すると、カーディナリティーの最大値は最小値よりも大きい値にします(これは誤ったエラーです!)。 パラメーター tokType:TokenType ブール値を返します ** computeContentAssist [#oee71375] computeContentAssist(startRuleName: string, precedingInput: IToken[]): ISyntacticContentAssistPath[] api.d.tsで定義されている:52 *** パラメーター [#b75628ef] startRuleName:文字列 previousInput:IToken [] コンテンツアシストポイントまでの(含まれない)トークンベクトル ISyntacticContentAssistPath []を返します。 ** getBaseCstVisitorConstructor [#y7eec4fb] getBaseCstVisitorConstructor(): object BaseParserから継承されます。getBaseCstVisitorConstructor api.d.tsで定義されている:36 オブジェクトを返します コンストラクタ:関数 new __type (... args :any [] ):ICstVisitor < any 、any > api.d.tsで定義されている:36 パラメーター 休憩 ... args:any [] ICstVisitor < any 、any >を返します。 ** getBaseCstVisitorConstructor [#db4047de] getBaseCstVisitorConstructor(): object BaseParserから継承されます。getBaseCstVisitorConstructorWithDefaults api.d.tsで定義されています:40 オブジェクトを返します コンストラクタ:関数 new __type (... args :any [] ):ICstVisitor < any 、any > api.d.tsで定義されています:40 パラメーター 休憩 ... args:any [] ICstVisitor < any 、any >を返します。 ** getGAstProductions [#nefbca07] getGAstProductions(): HashTable<Rule> BaseParserから継承されます。getGAstProductions api.d.tsで定義されている:44 HashTable < Rule >を返します。 ** getNextPossibleTokenTypes [#de54631a] getNextPossibleTokenTypes(grammarPath: ITokenGrammarPath): TokenType[] BaseParserから継承されます。getNextPossibleTokenTypes api.d.tsで定義されている:802 廃止予定 将来削除されます *** パラメーター [#o23ec6d9] grammarPath:ITokenGrammarPath TokenType []を返します。 *** getSerializedGastProductions [#pf98a076] getSerializedGastProductions(): ISerializedGast[] BaseParserから継承されます。getSerializedGastProductions api.d.tsで定義されている:46 ISerializedGast []を返します。 ** getTokenToInsert [#x5bd8e94] getTokenToInsert(tokType: TokenType): IToken BaseParserから継承されます。getTokenToInsert api.d.tsで定義:786 単一トークンの挿入が完了したときに挿入する「架空の」トークンを返します。文法で特別な動作が必要な場合はこれをオーバーライドします。例えば、IntegerTokenが必要な場合は、それが構文的に有効になるように、画像 '0'を持つものを提供してください。 *** パラメーター [#c25ffb56] tokType:TokenType ITokenを返します。 ** performSelfAnalysis [#j4b7bae1] performSelfAnalysis(): void Inherited from BaseParser.performSelfAnalysis Defined in api.d.ts:15 This must be called at the end of a Parser constructor. See: http://sap.github.io/chevrotain/docs/tutorial/step2_parsing.html#under-the-hood Returns void ** reset [#aeac9b0c] reset(): void Inherited from BaseParser.reset Defined in api.d.ts:34 Resets the parser state, should be overridden for custom parsers which "carry" additional state. When overriding, remember to also invoke the super implementation! Returns void ** Static performSelfAnalysis [#r597eec5] performSelfAnalysis(parserInstance: Parser): void Defined in api.d.ts:822 deprecated use Parser.performSelfAnalysis instance method instead. *** Parameters [#n12943d9] parserInstance: Parser Returns void
テキスト整形のルールを表示する