SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
PEGの回文っぽいExpression
@chiguri
このスライドはなんのため?
 一時期(ごくごく一部で)話題になったPEG
(Parsing Expression Grammar)による回文っ
ぽいものがどういう言語を受理するか、を考える
ための資料
 PEGの動きを理解するのに使えるかもしれない。
使えないかもしれない。
 http://togetter.com/li/899899 で私とkmizuさ
んがいろいろ考えているやつ
背景
 aとbからなる回文をCFG(BNF)で書くと以下の
ようになる。
 S ::= “a” S “a” | “b” S “b” | “”
 偶数長の回文だけだが、簡単に拡張できるので無視
 PEGのParsing Expressionで似た式を書くと以下
のようになる。
 S ::= “a” S “a” / “b” S “b” / “”
 |が/になっている。
このPEは受理しない回文がある
 この式は、“aa”、“abba”、“abbbaabbba”を受理
する。
 それぞれ“a”、“ab”、“abbba”を折り返した回文。
 しかし、“abbaabba”を受理しない。
 これは“abba”を折り返した回文。
 なぜ?
注意
 私はPackrat Parsing(PEGを有用に、有名にした
構文解析手法)を知らない。
 メモ化や遅延評価を使うことで入力長のオーダーで構
文解析できる手法である、くらいまで
 したがって、これ以降Packrat Parsingの話はしな
いし、できない。
 個人的な感想だが、多くの場合、高速化手法は人間の
解釈に向かない。
Recursive Descent Parsing
 元々のPEGの特徴付けに用いられていたもの。
 解釈方法が若干特殊なため、CFGの考え方を引き
ずるとこんがらがるが、動きはシンプル。
 大きく違う点は、|ではなく/を使う部分、特にこ
れが絡んだ再帰的な場合の動き。
 他にも先読みなどがあるのだが、割と直感的なのでこ
こでは無視することにする。
表現のしかた
 以降では、与えられた文字列を
「読んだが規則が成功するか決まっていない部分」
「読んだ結果規則が成功した部分」
「まだ読んでいない部分」
の三つに分ける。
 それぞれ赤、青、黒で表す。
必ずこの順序で現れるが、可視性のため矢印でも
区切り箇所を表す。
 下からの矢印が最初の、上からの矢印が次の区切り。
“aaaaaaaaaaaaaaaaaaaaa”
回文っぽいものを例に
 S ::= “a” S “a” / “b” S “b” / “”
 対象は”abba”、全体はS !.とする(S以外は何も含
まない)
“abba”
一文字目
 S ::= “a” S “a” / “b” S “b” / “”
 まずaを読み、Sの最初の規則を試す。
 “a”にマッチするのでS “a”がスタックに積まれ、次へ。
“abba”
二文字目
 S ::= “a” S “a” / “b” S “b” / “”
 次の文字bを読み、Sの最初の規則を試す。
 “a”にマッチしないので失敗する
“abba”
二文字目
 S ::= “a” S “a” / “b” S “b” / “”
 次の規則を試す。
 “b”にマッチするのでS “b”がスタックに積まれ、次へ。
“abba”
三文字目
 S ::= “a” S “a” / “b” S “b” / “”
 次の文字bを読み、Sの最初の規則を試す。
 失敗する。
“abba”
三文字目
 S ::= “a” S “a” / “b” S “b” / “”
 次の規則を試す。
 S “b”がスタックに積まれ、次へ。
“abba”
四文字目
 S ::= “a” S “a” / “b” S “b” / “”
 次の文字aを読み、Sの最初の規則を試す。
 S “a”がスタックに積まれ、次へ。
“abba”
終端
 S ::= “a” S “a” / “b” S “b” / “”
 次の文字はないが、Sの最初の規則を試す。
 aがないので失敗。
“abba”
終端
 S ::= “a” S “a” / “b” S “b” / “”
 次の規則を試す。
 bがないので失敗。
“abba”
終端
 S ::= “a” S “a” / “b” S “b” / “”
 次の規則を試す。
 何も読まないので成功。
“abba”
スタックを一つ戻す
 S ::= “a” S “a” / “b” S “b” / “”
 スタックを戻して、成功していた規則を続ける。
 Sの次にaがないので失敗。状態を規則を試す前に戻す。
“abba”
失敗から次の試行へ
 S ::= “a” S “a” / “b” S “b” / “”
 成功していた規則をやめて次の規則へ移る。
 次はbではないので失敗。
“abba”
最後の規則へ
 S ::= “a” S “a” / “b” S “b” / “”
 次の規則へ移る。
 何も読まなくて良いので成功。
“abba”
スタックを一つ戻す
 S ::= “a” S “a” / “b” S “b” / “”
 スタックを戻して、成功していた規則を続ける。
 Sの次にbがないので失敗。状態を規則を試す前に戻す。
“abba”
失敗から次の試行へ
 S ::= “a” S “a” / “b” S “b” / “”
 成功していた規則をやめて次の規則へ移る。
 何も読まなくて良いので成功。
“abba”
スタックを一つ戻す
 S ::= “a” S “a” / “b” S “b” / “”
 スタックを戻して、成功していた規則を続ける。
 次がbなので成功。規則全体が完成。bbは読み終え。
“abba”
スタックを一つ戻す
 S ::= “a” S “a” / “b” S “b” / “”
 スタックを戻して、成功していた規則を続ける。
 次がaなので成功。規則全体が完成。
“abba”
終了
 S ::= “a” S “a” / “b” S “b” / “”
 スタックが空なので、解析全体が成功。
“abba”
成功時→失敗時
 成功する場合の挙動はCFGとほぼ同じだが、失敗
時の巻き戻し方が少し違う。
 規則が失敗した場合、青になった部分(一度決定した
部分)について他の規則を試さずに赤の部分ごと戻す。
失敗する例
 S ::= “a” S “a” / “b” S “b” / “”
 対象は”aaaa”、全体はS !.とする
 以下、二つ目の規則は絶対に失敗するので無視する。
“aaaa”
一文字目
 S ::= “a” S “a” / “b” S “b” / “”
 まずaを読み、Sの最初の規則を試す。
 “a”にマッチするのでS “a”がスタックに積まれ、次へ。
“aaaa”
二文字目
 S ::= “a” S “a” / “b” S “b” / “”
 aを読み、Sの最初の規則を試す。
 “a”にマッチするのでS “a”がスタックに積まれ、次へ。
“aaaa”
三文字目
 S ::= “a” S “a” / “b” S “b” / “”
 aを読み、Sの最初の規則を試す。
 “a”にマッチするのでS “a”がスタックに積まれ、次へ。
“aaaa”
四文字目
 S ::= “a” S “a” / “b” S “b” / “”
 aを読み、Sの最初の規則を試す。
 “a”にマッチするのでS “a”がスタックに積まれ、次へ。
“aaaa”
終端
 S ::= “a” S “a” / “b” S “b” / “”
 文字がないので、最後の規則のみマッチする。
“aaaa”
スタックを一つ戻す
 S ::= “a” S “a” / “b” S “b” / “”
 スタックを戻して、成功していた規則を続ける。
 Sの次にaがないので失敗。状態を規則を試す前に戻す。
“aaaa”
失敗から次の試行へ
 S ::= “a” S “a” / “b” S “b” / “”
 成功していた規則をやめて次の規則へ移る。
 何も読まなくて良いので成功。
“aaaa”
スタックを一つ戻す
 S ::= “a” S “a” / “b” S “b” / “”
 スタックを戻して、成功していた規則を続ける。
 次がaなので成功。規則全体が完成、読み終えへ。
“aaaa”
スタックを一つ戻す
 S ::= “a” S “a” / “b” S “b” / “”
 スタックを戻して、成功していた規則を続ける。
 次がないので失敗。この規則を試す前の状態へ戻す。
 二文字目を読む前
“aaaa”
失敗から次の試行へ
 S ::= “a” S “a” / “b” S “b” / “”
 成功していた規則をやめて次の規則へ移る。
 何も読まなくて良いので成功。
“aaaa”
スタックを一つ戻す
 S ::= “a” S “a” / “b” S “b” / “”
 スタックを戻して、成功していた規則を続ける。
 次がaなので成功。規則全体が完成、読み終えへ。
“aaaa”
S全体の終了、失敗
 S ::= “a” S “a” / “b” S “b” / “”
 全体を読み終えたが、末尾に文字があるので失敗。
 これはマッチしない。
“aaaa”
本来成功するには
 S ::= “a” S “a” / “b” S “b” / “”
 以下の状態で、最後の規則を試す必要がある。
 「折り返し地点まで繰り返し規則で読むこと」
“aaaa”
失敗例では
 S ::= “a” S “a” / “b” S “b” / “”
 折り返し地点を飛ばした状態へ巻き戻される。
 「折り返し地点にはもう到達できない」
“aaaa” “aaaa”
 「成功した部分が他の規則を使えた場合に」
「他の規則を試行しないため」真ん中を折り返し
とみなす規則が適用されなかった。
 “abbaabba”の場合も、後ろの”abba”が成功して
しまうせいで全体がうまくいかなくなる。
 下の赤部分の最後、aが読まれた規則に失敗して戻る。
“abbaabba”
 部分的に回文があると、そこにマッチして折り返
し地点ごと規則が巻き戻される場合がある。これ
が原因で失敗している。
 PEGで
S ::= “a” S “a” / “”
が2^n-2の長さしか読めないのも失敗の巻き戻しが
まとめて行われるため。
結局元のPEは何を受理するか
 「後ろから順に、言語に含まれる文字列を見つけ
ては排除して、その中に折り返し地点が含まれた
ら拒否されるがそれ以外の回文は受理する」とい
うよく分からない言語。
 面倒な例を挙げれば“aabbaabbaa”は受理されないが、
“aabbaaaaaabbaa”は受理される。
 下線部は回文でしかも折り返し地点を含むが、青い部分がよ
り後ろにあり優先されるためその部分の回文は受理されない。
 青の失敗時に折り返し地点の直後まで戻される。
 嗚呼面倒臭・・・だれか定式化してください。
おまけ:HOPEG
 kmizuさんが考えている、パラメータ付きの非終
端記号(rule constructor)を導入したPEG
 REP(s) ::= s REP(s) / “” のような式が書ける。
 REP(“a”)で“a”*のような動きをする。
 処理系はここに https://github.com/kmizu/hopeg
 HO(Higher Order)といっているがパラメータ
はParsing expressionのみ想定。
 kmizuさんは元々Parametricと言っていたが、私が横
から「HOっぽい」と言ったためこの名前に。
HOPEGのパラメータ
 パラメータには任意のParsing Expressionを渡し
て良いので、こんなものも書ける。
 S(r) ::= ... S(“a” r) ...
 再帰呼び出しの度にrの先頭で”a”のチェックが増える。
 ある種の「残りをスタックに積む」ようなことが可能に。
HOPEGによる回文
 HOPEGで回文を受理する式は以下のように書ける。
 PAL(s) ::= “a” PAL(“a” s) / “b” PAL(“b” s) / r
 PEGで失敗していたのと違い、「最初に全てのrで
成功した一番後ろ」が取られる。
 折り返し地点より後ろでは(文字数が足りないため)
必ず失敗する。
 中央で必ず成功する。
 「折り返し全体が成功するまで部分的な成功がない」
ことでPEGで起こった問題を回避している。

Más contenido relacionado

Último

次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~Kochi Eng Camp
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料Tokyo Institute of Technology
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラムKochi Eng Camp
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 

Último (8)

次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

PEGの回文っぽいExpression