タグ Parser
人気順 10 users 50 users 100 users 500 users 1000 usersRuby Parser開発日誌 (19) - 最高の構文木の設計 2024年版 - かねこにっき
はじめに 今回はparserの生成物である構文木についてのお話です。 普段は主にparserとlexerについて考えていますが、たまに構文木について考えを巡らすこともあります。 むしろparserの目指すべき実装が固まったいまだからこそ、その主な生成物である構文木の設計について考える必要があるとも言えます。 Rubyのparserの... 続きを読む
Ruby Parser開発日誌 (11) - RubyKaigi 2023 follow upで進捗について話してきた - かねこにっき
8/19に開催されたRubyKaigi 2023 follow upで、Rubyのparserとparser generatorに関する進捗と今後の方針について話をしてきました。 rhc.connpass.com 当日の資料はこちらにアップロードしてあります。 speakerdeck.com 進捗とこれからの話 RubyKaigiでの発表を踏まえて3つの点についてRubyKaigiからの進捗とこれからの... 続きを読む
pingcap/parser (MySQL互換) で SQL を手軽に解析 - freee Developers Blog
この記事は freee Developers Advent Calendar 2021 の23日目の記事です🎄 freee の DBRE チームに所属している caterpillar です. なんだか大きなデータベースを眺める仕事をしています. 突然ですが, pingcap/parser を使って SQL を簡単に解析していきたいと思います. Go 製 の SQL Parser で, MySQL への高い互換性を... 続きを読む
おそらく誰も使わない @babel/parser 7.14 新機能 TypeScript プラグイン の dts オプションについて
先日 Babel 7.14.0 がリリースされました。それに伴って Babel のパーサーである @babel/parser も 7.14.0 がリリースされました。 この記事では、@babel/parser 7.14.0 の TypeScript プラグインに実装された新機能 dts オプションについて解説します。 自分で実装しておいてアレですが、このオプションを実用するひと... 続きを読む
最近の ESLint とかの構成2021
みんな好きな構成を好きなように入れれば良いと思ってるけど、自分が最近やってるやつを雑に紹介する。 シンプルなTypeScriptのプロジェクトを想定している。 npm install --save-dev eslint prettier typescript eslint-config-prettier @typescript-eslint/parser @typescript-eslint/eslint-plugin npm-run-all 続きを読む
技術的負債の返済の足がかりにテンプレートのParserを作った話 - LIFULL Creators Blog
プロダクトエンジニアリング部の中島です。 今回はフロントエンドのテンプレート部分についての負債やレガシーな機構に対する改善の取り組みについて紹介させていただきます。 背景 LIFULL社のメインサービスであるLIFULL HOME'SのメインリポジトリのサーバサイドはSymfony + Twig(※テンプレートエンジン)の構成を採用し... 続きを読む
Elm で構文解析しよう - Qiita
こうすることによって、生の文字列よりもプログラムで扱うことが簡単になります。 しかし、どうすればこの構造を得ることができるのでしょうか?少し考えてみましょう。 split と trim で頑張る 正規表現で頑張る ループで頑張る 全部つらそうですね。 Elm の構文解析器(パーサー) elm-tools/parser は、そんな構文解析を超シンプルな記述で実現してしまうライブラリです。Elm の作... 続きを読む
Goの抽象構文木(AST)を手入力してHello, Worldを作る #golang - Qiita
はじめに タイトルを見て、「はて?何を言ってるんだろう」と思った方もいるでしょう。 その通りです。通常、抽象構文木(AST)を取得するには、「 ASTを取得する方法を調べる 」で解説したように、 go/parser パッケージの関数を使ってソースコードをパースする必要があります。 しかし、この記事では温かみのある手入力をすることで、日頃なんとなく取得しているASTがどういうノードで構築されているの... 続きを読む
ASTを取得する方法を調べる #golang - Qiita
はじめに みなさん、メリークリスマス! 22日の枠に欠員が出たので、 go/parser パッケージを使ってAST(抽象構文木)を取得する方法についてまとめたいと思います。 go パッケージについては、 簡単な式の評価機を作ってみる という記事も書いているので、そちらもぜひ読んで下さい。 なお、この記事を執筆時点のGoの最新バージョンは1.7.4です。 ノード go/parser パッケージでは、... 続きを読む
文章中から韻を踏んでいるフレーズの組み合わせを検出する gem を作りました - Qiita
依存関係 natto が利用できる必要があります。 使い方 Rhymer::Parser.new の引数に文章を渡すと、検査結果が含まれたインスタンスが生成されます。インスタンスの rhymes メソッドを実行すると、韻を踏んでいるフレーズの組み合わせの配列が返されます。 require "rhymer" rhymer = Rhymer :: Parser . new ( "今日はとても良い天気で... 続きを読む
Go言語でActiveRecordライクなORMをつくった - Thinking-megane
Goで DataMapperじゃなく、ActiveRecordライクにDB操作したいと思ってつくってみました。 go/parserとgo/astでソースを解析、個々の構造体ごとにARなコードを生成します。 argen ActiveRecord Generatorでargenです。 <a href=”https://github.com/monochromegane/argen”>monochrom... 続きを読む
Scheman - r7km/s
Schemanという、Ruby製のSQLパーサをつくった。 例 文章で説明するより見たほうが早いだろうということで、例を用意した。 require "scheman" require "yaml" parser = Scheman::Parsers::Mysql.new schema = parser.parse(<<SQL) CREATE TABLE `users` ( `id` INTEGER... 続きを読む
HTTP::Entity::Parser をリリースしました - blog.nomadscafe.jp
HTTP::Bodyと互換性のある HTTPのEntityをパースするモジュールをリリースしました。 https://metacpan.org/release/HTTP-Entity-Parser https://github.com/kazeburo/HTTP-Entity-Parser/ HTTPのEntityってのは、こういう範囲を指します。 POST /foo HTTP/1.1 # Not... 続きを読む
これからのPerlプロダクトのかたち - YAPC::Asia Tokyo 2013
本トークでは、私が開発しているCompilerモジュール群(Compiler::Lexer, Compiler::Parser, Compiler::CodeGenerator::LLVM)を用いて、Perlコードがブラウザ上やiOS上で動作する、これからの新しいPerlプロダクトのかたちをお見せできればと思っています。 時間が余れば、上記モジュールを静的解析ツールとして利用した場合に得られるメリ... 続きを読む
人間とウェブの未来 - mrubyで簡単にCアプリの設定ファイルが作れるmruby-config作ってみた
「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。NWM代表としてフリーランスのエンジニアをしています。C言語でサーバアプリやクライアントアプリを作っていると、じょじょに規模が大きくなり、アプリの設定を外出ししたいなぁ、なんて思いはじめるのはよくある事だと思います。 でも、なんとなくその設定ファイルのParser書いたり参照のインターフェイスを書くのも面倒だし引数で渡すように... 続きを読む
B::Hooks::Parser と B::OPCheck をもちいたソースフィルターの作り方 - tokuhirom's blog.
2013-01-30 B::Hooks::Parser と B::OPCheck をもちいたソースフィルターの作り方 ソースフィルターの用途は大きくわけて2種類 ぜんぜん perl でないコードを perl にする perl コードの一部をかきかえる 前者は、普通に文字列置換なりでやればいいのだが、後者は意外とむずかしい。 Perl のコードをパースするのは非常にむずかしいのだ。そこで、Devel... 続きを読む
moro/tokiyomi · GitHub
README.md Tokiyomi Japanese relative date/time string parser. Installation Add this line to your application's Gemfile: gem 'tokiyomi' And then execute: $ bundle Or install it yourself as: $ gem insta... 続きを読む
[JS]URLの構成要素をパースするスクリプト -jQuery URL parser | コリス
JQuery URL parserがパースする要素は8つです。 Scheme プロトコル https://, ftp://, mailto: など User ホストサーバー接続時に使用するユーザー名 ※空の場合もあります。 Password リモートサーバー接続時に使用するパスワード ※空の場合もあります、ユーザー名無しでは設定できません。 Host ホストサーバーの名前、あるいはIPアドレス w... 続きを読む
MyTAP + my_prove + MySQL::Sandbox で快適 SQL Unit Testing - Yet Another Hackadelic
MySQL, PerlMyTAP という MySQL 上で Test Anything Protocol を実現してしまうというプロダクトがあります。これと TAP::Parser::SourceHandler::MyTAP に付属している my_prove コマンドを使うとかなり簡単に SQL プログラミングでテストを行う事が出来ます。また MySQL::Sandbox はだいぶ過去のエントリ*... 続きを読む
naoyaのはてなダイアリー - XML::RSS::LibXML を使って続・Perl で XML の処理ベンチ
XML::RSS::LibXML uses XML::LibXML (libxml2) for parsing RSS instead of XML::RSS' XML::Parser (expat), while trying to keep interface compatibility with XML::RSS.search.cpan.org: XML::RSS::LibXML - XML... 続きを読む