はてなキーワード: BNFとは
まずさ、トップバッターでsideM出るとは思わなかった。トリじゃね?とか思ってたから。白いパンツが何人か並んでるのが見えて、え、とか思ってたらビヨドリ始まるやん。そんなんテンションメガテラMAXになるやん??てらし目で追っちゃう。自己紹介、松岡くん声低いの相変わらず面白い。
で、トレジャーパーティー初めてのフルメンバーでしょ??真ん中集まって座るのかわいすぎない??ここドームだよ??え?かわ。
で、そのあとにフランスくるやん。四分割ないのかなーとか思ってたら最後にするしさ。なんなん?ドーム抱くの?
スペインはさー、やっぱり薔薇咥えるのね??はー?もうなんなん?小松昌平のダンスキレキレすぎてほんま好き。しろうくんもなんなん?え、君小学生でしょ?あんな顔していいの?ダメでしょ??横に先生いるよ!
で、ミートザワールドくるやん。くると思ってなかったわ!あほ!で、終わりかよ、えー、と思ったらまた来るよってなんなんそれ、え、まさかのオオトリなん?とか思ってた。
しかも途中、FLOWさんのあとに出てくるやん?でべそのとこで。わちゃわちゃみんなはしゃぐやん?かわいすぎかあほ!!小松昌平!お前やお前!ドームの真ん中で回し蹴りしまくっててくそー!かっこよすぎか!!
で、最後の最後、ほんとに大トリで出てくる。西川兄貴の後ですよ??いいの?しかも一曲目PRIDE STARってまだ発売もされてない曲!!!!の!!!衣装も新しいやつ!!!ほとんどのメンバー!!初披露ですよね!!あの衣装かっこよすぎるの!!そしてしろうくんの帽子!お帽子!かわいすぎか!天才!ありがとう!そしてばか!きー!めっちゃいい曲だからもう嬉しすぎ。最高。
そのあと、何故かドラノンのイントロ流れるやん?え、拓ちゃんとゆうまたそ来てるの??え??とか思ってたら西川の兄貴ー!!どゆことー!!はー!!オレンジー!!しかもゆうまが歌うところをしゅうごが歌ったりするやん?えも。寄せてくるし。しゅごん、歌手になりたかったんやもんね、それで西川の兄貴と同じステージに立てるってすごすぎない?良かったね、良かったね。
そのあとFRAMEやん。緑になるの、会場一面が。で、ちゃんとフレーム!!って叫んでくれて、それだけでもうたまらん。間奏の殺陣も決まってたよ。
からの、神速。オイオイしまくり。えー、みんな知ってるの?知らなくてものってくれてるの?わからんけどすごい声!今日イチ。2人が腕くむところ、カッコ良すぎない?天才か??
そしてSEMくるやん。知ってる。最高なの。一面ピンクの海でタケノコダンス。ラストのポーズかわいすぎ。
そして、来ました。jupiter。アリギルあるかな、と、ちょっと思ってたから、ちょっと残念って気持ちがなくはないけど、いやいやいやいや、十分すぎるよこの舞台!!!!最後の最後に出てくるのがjupiter!ありがとう!!BNFを生で聞くのが東京ドームなんて、もうどうしたらいいの?死ぬのかな?もうずっと三人から目が離せなかった。松岡くんがやっぱりちょっと腕回すの遅れるのが可愛い。で、それぞれセリフ言うとこほんま好き。松岡くんが「一緒ならがんばれるよ」っていうやん?はー!がんばれる!がんばれるよ!!神原さんが「忘れられない日になったね、チャオ⭐︎」って言うやん?はーーー!!!チャオーーー!いただきましたーー!!そしてーー!忘れられない日になったね、ってね、それ!確定事項!そうです!もう忘れられないよ!好き!北斗!で、てらしが言うんですよ、「東京ドームでも楽勝、だぜ!」って。あぁ…もう、ほんと…そういうところ…。ドームでも楽勝だよね、冬馬だもん。トップアイドルだもん。東京ドームも越えていく。それが天ヶ瀬冬馬だもの。大好き。大好きだよ!!!最後まで三人が全力で歌うのを見てて、ほんとこのまま終わって欲しくないな、という気持ちで見てた。決めのポーズは1stの時と同じ。あのステージからこんな大きいところまで来たんだね。
最後はみんなでドアラ。ドームに315!!って大きく響くのが本当にすごかった。もっとたくさんの315プロのPさんに見て欲しかった。すごいよ、みんなこんなところまできたんたよって。わちゃわちゃみんなが動いて、可愛かった。最後の方、出演者みんな出てきてさ。765もいるんだよ。同じステージに立ったんだよ。見たか、765プロ、って、冬馬が言ってるのが聞こえる。誰かそこのてらしだけ抜いたBlu-rayを私にくれ。みんな手を繋いで大団円。
ありがとう、バンナムフェス 。こんなsideMいっぱい推してくれてありがとう。明日も全力で楽しみます。
sideMの現場は男性P結構多いし、気になった人はどんどんライブ見に来てくださいね!!!かっこいいから!!!やっぱりjupiterは最高だ!!!大好き!!!ずっと付いてく!!!酒の勢いでとりあえず書きながり!以上!!!
http://tradenote.info/blog-entry-3.html
一般に、バッカスナウア記法は正規表現では処理できないネストの階層を記憶できるなどの根本的な差があります。
これは正規表現が有限決定性オートマトン(DFA)ないしε遷移と不特定の同種記号の遷移を用いる非決定性オートマトン(NFA)に基づいているのに対し、BNF記法での解析は必然的にスタックを内部状態に持つからです。
https://ja.wikipedia.org/wiki/LL%E6%B3%95
これは左からトークンを走査して、導出する非終端記号を左から決定していくアルゴリズムです。
例えばA→A Bという構文規則があった場合に、Aの還元内でAを還元できるかどうか判定し続けて無限ループに陥ってしまい、いつまで経ってもBの判定に辿り着けません。これを左再帰といい、LLでは左再帰を直接扱う事ができません。
非終端記号の間接的還元を考慮したはじめに現れる終端記号の集合(FIRST集合)を構築して上手く左再帰を回避しなければなりません。
マッチングに用いる規則をベタに関数内部に再帰させながら順番に書いていくだけなので実装は容易です。
https://ja.wikipedia.org/wiki/LR%E6%B3%95
https://ja.wikipedia.org/wiki/LALR%E6%B3%95
こちらは左からトークンを走査して、導出する非終端記号を右から構築するアルゴリズムです。
BNF構文規則から走査に相応するDFAを構築し、DFAの遷移を記憶しながらスタックに状態をpush/popし構文解析を行います。
なのでLL法にあるような左再帰を直接扱えないという欠点がなく、むしろスタックが簡潔になるため積極的に左再帰のBNF記述を行った方が効率よく処理を進められます。
LR法はDFAの大きさが巨大になるため、実用的ではないようです。
LALR法はLR法を改良したアルゴリズムで、扱える構文クラスの範囲はLRよりも少し小さくなりますが現実的な計算資源で構文解析を行う事ができます。
理由くらい書けよ糞が
他のWindowsプログラムがやっていて、多くの方が「できて当然」だと思っていることは、7割くらいであれば.NET(フレームワーク名)を叩けばできます。
.NET対応言語はC#、VB.NET、J#、F#、JScript.NET、C++/CLIなどがあり、実際の開発においてはこれらの中から自分に合った言語を選ぶことになります。
個人的な感想ですが、この中で最もゆとり仕様なのはC#です。StackOverflowなどのノウハウが一番蓄積されているのもC#だと思います。
「頻繁なアップデートを追跡しないといけない」「Visual Studioが必要」という問題はありますが、がんばってください
なお、.NETはメモリを食うので、数値計算みたいなことをしたいのであればC++が現状一番まともだと思います。がんばってください
昔のMacのプログラムのGUIはCarbonというライブラリで作っていました。今はCocoaというライブラリで作っています。
残念なことに、どちらも言語はObjective-Cです。がんばってください
ブラウザアプリは、ユーザのWebブラウザ(Chrome、Firefox、Opera、Safariなど)上で動作するシステムと、遠隔のサーバ上で動作するシステムが連携して成立します。
従って、ブラウザアプリを作る言語は、サーバ用言語とクライアント用言語の2種類を考えなければなりません。めんどくさいですね。
ひとたびそのめんどくささを突破してしまえば、Webブラウザさえあればどこでも動くようになります。素晴らしいですね。
クライアント用の言語は、まぁ、JavaScriptしかないと思います。がんばってください
JavaScriptも(正直なところ)あまり褒められた言語ではないので、近頃ではもうちょっとまともな言語を作って、それをJavaScriptに変換する方法が取られたりします。CoffeeScript、TypeScript、Haxeとかですかね。がんばってください
JScriptとかいう、名前が紛らわしい上にゴミブラウザ上でしか動かないゴミ未満言語もありますけど、そんなもんで作っても私の環境では動かせませんので悪く思わないでください。
そもそも選択肢が全くありませんので仕方がないです。がんばってください
Xamarinがあるじゃないかって?まぁそういうのもあるかもしれませんね。がんばってください
私の勉強不足で、Java以外の選択肢は知らないです。Java以外にあるんですかね?
Perlは使い捨てスクリプトを作るのに適しています。CPANクライアントは昔から安定して動きません。だいぶオワコン化してます。がんばってください 私は鞍替えしました
PythonはPerlより見た目がすっきりしたPerlです。easy_install・pipはすごく安定していてびっくりします(Windows除く)。3系とかいう邪念は捨てて2系教の悟りを開きましょう。がんばってください
RubyはPerl(の処理系のソースコード)より(処理系のソースコードが)綺麗なPerlです。私の手元のUbuntuで「ruby」と入力すると「Command not found.」と返ってくることからも解るとおり、多くの*NIXではOS標準でインストールされておりません。昔のgemは何故あんなにすごい時間をかけてrdocを作っていたのでしょうか。日本人が作ったのでムラ意識の強い日本人の仲間が大勢います。他の国は知りません。がんばってください
これ以上言語を増やすのはやめましょう。バベルの塔で大勢の人間が不幸になったのに、それを人間が自ら引き起こしてどうするんですか。
言語処理系を作るのであれば、BNFという言語で文法を定義して、yacc・bisonというツールに食わせればひな形ができます。ぶら下がりelseとの格闘が待ってますが、がんばってください
1からOSを作った方もいますが、デバイスドライバの流用などを考えると、だいたいはLinuxやBSDのソースコードを改変するお仕事だと思います。
昔はCGIと言っていました。所詮は80番ポートでlistenするだけのプログラムであり、BSDソケットをlistenできるライブラリを有する言語であれば何でもいいのですが、いくつかの宗教があります。
PHPはバンドネオンと同じくらい習得が困難な言語なのに、宣伝の仕方を間違えたために「自分はできる」と勘違いしたプログラマが暴徒と化し、イスラム教と同じくらい不当に低く評価されている言語です。きちんと勉強して使う分には、悪くない選択肢だと思います。がんばってください
Javaは、Eclipse・Netbeansといった超重量級IDEを起動して、Java EEやSpringといった超重量級ライブラリに依存したwarを、Jboss・WebSphereなどの超重量級アプリケーションサーバ上で動作させるため、メモリが貧弱な環境ではIDEとサーバを同時に起動すらできません。サーバのメモリが潤沢であれば悪くない選択肢だと思います。がんばってください
C#は、選択肢が全くないことを除けば、状況はJavaとあまり変わりません。Microsoftがお好きな方、何かの間違いでWindowsサーバを使わざるを得ない方であれば、悪くない選択肢だと思います。がんばってください
うん、その話は左翼の人と対話するとよく出てくる。
「富裕層は消費していない」
つまり、BNFみたいに数百億円貯金がありながらカップ麺生活してたり、
孫正義みたいに24時間働きづめで余暇の時間がない人たちだという主張。
でも考えてみて。カップ麺生活してたり、過労死寸前まで働いている人たちって豊かなのか?
社会の富を食いつぶしているのか?
お金を溜め込まれると景気が悪くなる。
横だけど
うん、その話は左翼の人と対話するとよく出てくる。
「富裕層は消費していない」
うん、その話は左翼の人と対話するとよく出てくる。
「富裕層は消費していない」
つまり、BNFみたいに数百億円貯金がありながらカップ麺生活してたり、
孫正義みたいに24時間働きづめで余暇の時間がない人たちだという主張。
でも考えてみて。カップ麺生活してたり、過労死寸前まで働いている人たちって豊かなのか?
社会の富を食いつぶしているのか?
底辺の人たちを奴隷のように働かせて自分は左うちわで悠々自適なのか?
どうも、19世紀のイギリスの資本家のような都合のいい富裕層イメージを勝手に当てはめているように思えるのね。
富裕層が消費をしていないのならば、その貯金を社会のために使うとなれば今より働かなきゃいけない人が増える。
どのような仕事が増えるか?ずばり言うと介護職。福祉の増進を図るのだから当然だ。
手順を考えて、その手順を書くだけ。
言語もあらかじめ決められた手順に沿って解析されて実行されるから、オートマトンやBNF記法、構文木などの仕組みを一通り覚えてどういう機構でチューリングマシンが原理的に実行可能なコードへと落とされるかを理解すれば言語自体も覚えるのなんてそんなに難しくない。
手順を考えるなんて、人間が生活する上でいつもやっていること。
プログラムを走らせるためのデータ構造を考えるのに苦労するという話も聞くけど、プリミティブな要素が数値、型へのリファレンス値しかないんだから大体は離散数学で使うグラフの初歩的な知識があれば事足りる。GoFのデザインパターンなんてまさにそう。
>JAVAを最初に学んでその後に現場で実際に用いるであろう言語(例えばPHP+SQL)を習得するといったルートは現実的なのだろうか?
いろいろ言う人はいるけど、PHPでも、問題ないよ。
ただ、欲をいえば、PHPのモジュールをC++で書く拡張機能あたりをちゃんと勉強しておいたり、ちゃんとコードをチューニングして行けば勉強になると思う
SQLはただ使うんじゃなくて、データーの正規化やインデックスなんかをきちんとマスターしておくと、違う感じ。あとは、ストアードプロシージャ
>上記のケースで前段階として学ぶ言語はどの程度のレベルまで到達する必要が有るのか
というか、本気で学ぼうとすると、トランジスタから始まって、フリップフロップ、レジスタ、アキュムレーター、バスの配線、クロックというハードの構成がどうなっていて、
それに対応するマシン語があって、それがニーモニックに変換されて、
そこにスタックという概念が持ち込まれて、レジスタをスタックに退避するという概念が生まれて、関数コールができて、C言語が生まれて、さらにそこにthisポインタをコンパイラが自動補完して関数テーブルを保管することでオブジェクト指向というか、C++ができている。そこに(Cの世界に)BNFなどの構文があって、それを構文ツリーにするBisonなんかがあって、PerlやPHPができている。
という、なぜC++のオブジェクトはポリモルフィズムができるのか?というソフトからハードまでを一貫して知る必要がある。
そこまで理解していると、コードのレベルは確かにハンパないレベルにはなるけど・・・。正直、業務には必要ないというか、そんなクオリティーの仕事が少ない。
やりたければ、やってもいいけど、PHPからやったら?そして必要になったらPHPをCで拡張するという形でCに入ると良いと思うよ。
やりたい言語をやるのが一番だ。
でも、本気で知りたいなら、死ぬ気でアセンブラをやれ。それがすべての始まり。
わりといえば、普通に大学入って、授業を真面目に受けた方が早い。
>そもそも実際に現場で使用することを想定した言語で、今から学ぶのに本当に適しているのは何か?
PHPでいいでしょ。大差ない、むしろ、自分が気に入った言語で、どれだけコードを沢山書くか。日々の鍛錬。
ちなみにWeb系といわれたから、ライトウェイトな言語を中心に考えたけど、つぶしが効くのは意外とJavaやC++であることも。書いておく。
正規表現とかもライブラリ使えば良いし、そもそもC系列ならBison とかLRとかだろうと。C系列の使い手ならBNFを使え。
http://d.hatena.ne.jp/faith_and_brave/20100220/1266673222
まず第一にエンタープライズでの開発が考慮されていない。エンタープライズの開発だと100人200人 マスタークラスから ジュニアーまで様々なレベルの開発者が携わる。
その中で重要になってくるのは可読性。
はっきり言って、歴史的な可読性を犠牲にして効率が上がるならともかく、気持ちの問題程度の効率では意味がない。
第2に
スレッドとファイバーの違いぐらいわかれ、わざわざスレッド起こしたらコンテキストスイッチにどれだけコスト食うんだよ。
関数コールするとレジスタとかが、スタックにPUSHされるんだよってわからん奴が、IF書くなと同じで、スレッドってコンテキストスイッチの塊なんだよってのがわかんないのに下手にスレッド書かせるな。
3にラムダ式・・・いらん・・・必要なのは曲芸じゃない、可読性。可読性を犠牲にして早くなるならともかく・・・
4にforeachではlastを変数に取るな。途中でReallocしたり、eraseしたりしたときに余計なバグを生んで面倒だ。レビューの時も邪魔。速度?速度が必要な背景でSTLのVector使うな。配列使うかポインタ使え。
なんつーか、トータルで見て、次はC++と各種OpenCLとかGLとかのライブラリの集合だな。C++0xはまともに使う人もいなさそう。正規表現とかもライブラリ使えば良いし、そもそもC系列ならBisonとかLRとかだろうと。C系列の使い手ならBNFを使え。正規表現使いたければそれこそ、Perl使え。
適材適所
perl そこそこの文書処理に
Java わりと何でもいけるが、わりと平均的にめんどくさい
JSP メモリ64K制限さえなければすばらしかったが、Java展開されたときのPrintfにサイズに制限があるので、小さいHTML向け
PHP Perl的に使う人大杉、あくまでも、HTML埋め込み言語として使うと最適print("HTMLほげほげ")とかみると悲しくなる
C/C++ 速度が必用なときに。まぁ、今では巨大トランザクションサーバーとか、CGの世界とか
速度マニアで正規表現マニアな人はlex/yacc/bison (BNFな人はANTLRらしい。最近知った)。
って感じか? 用途と違う道具を選んで、道具がどうのこうの言う前に、適切な道具を選べばいんじゃねーかと。
プログラマーは道具の善し悪しを語るんじゃない、道具を使いこなす自分の腕の善し悪しをかたらなくっちゃーだめなんだーーーーーーーー
とか、増田るあたり、俺もまだまだ、若いなぁって安心するけど・・・そろそろ、大人にならなくちゃと思う。
もはや何年も前から言われてることだが、「2ちゃんねらー」でひとくくりにする人が未だに後を絶たない。
それは「VIPPER」なのか「ニュー速民」なのか「プラス民」なのか「毒男住人」なのか。
各板で全然特色が違うし、住人も多種多様すぎる。
うちの教授もコテハン持ってるし、BNFだって2ちゃんねらー(だった?)わけだし。
まぁ、「これだから韓国人は」とか「アメリカ人は」とか一くくりにしたがるのは昔から変わってないから仕方ないかもしれないが
まともな議論をしていると思っている人が「2ちゃんねらーは」とか言ってるのをみると「やれやれ」と思ってしまう。
もっとひどいのは「2chスレまとめサイト」を指さして「あいつらは」という人。
そのブログに付けられたコメントを指して「痛ニューに集まる奴らは」というのならまだしも
スレ番号飛びまくりのブログ主の好み出まくりの2chスレを見て
「これだから2ちゃんねらーは」とか言われるとどこから突っ込んでいいやら。
痛いニュースを見て「これはひどい」とか思って現行スレを覗いてみたら割とまともだったなんてのはしょっちゅうあること。
2ch見たことない人間がまとめスレ見て批判するとか、勘弁していただきたい。
中学生に向かって言うのならまだいいのだが、割と大人な人の主張に対してこういう言葉を使う人はもうちょっと考えた方が良いかと。
ほとんどの場合は「上からの視点」なんてなくて、それはただの「横からの視点」なわけで。
見方を変えただけで上から見た気になって
「お前らの意見はまだまだ」
と議論放棄する人が割と多い。
「そんな風に考えていた時期が俺にもありました」
の一言で片づけて終わり。
同じように「多角的な視点で議論しよう」という感じで「広くが全て」という人も多い。
もちろん、広い視野も大事ではあるのだが、「深さ」も重要だと分かっている人が少ない。
どれだけ深く洞察したかを加味せず、自分より下の視点(狭い視野)だと判断すると議論放棄する人をたまに見かけるが
もう少し相手を敬ってもいいんじゃないだろうか、と思う。
相手もそれなりの洞察を経て、その意見にたどり着いているのだから。
人の意見に感銘を受けて、それを他者に話すというのはよくあること。
実は人の意見なんてそれがすべてかもしれない。
ところが、その2ホップ後の意見を聞いて、それを批判して、元の1次ソースに対して「たいしたことねーな」と言ってしまう人が多い。
割と有名なAという人に感銘を受けたBという人が、CさんにAさんの言ってることを鸚鵡返しのごとく話したところ
Cさんはそれに対して反論して、Bさんがそれにこたえられなかったときに
「Aは大したことねーな」
という人のこと。正しくは
「俺にはよくわからなかった」
割と2chに偏ったけれどこんなところかなぁ。
いやさ、これ、ほんとどう対応したらいいんだろ?
逃げ道がおもいつかない。
今から地下壕掘っても間に合わないし・・・。
崩れるまえに外にとびだすったってどこへ?
金とかいっても意味なくね?
食料ぐらいしかおもいつかないよ。
BNFが資産の半分を神田という一番資産価値の毀損がすくないであろうビルに替えたけど、
ビルなんて買えないしな・・・。
シティタワー品川が114平米が4347万円だってさ。
品川の70平米が2000万ちょい。
こういうときに買い向かえれば資産のばせるんだろうけど、
貧乏人はどこに逃げても被弾って感じじゃない?
一番揺れがすくないのどこだろう。
農業かな?
諸君、私はC++が好きだ
諸君、私はC++が好きだ
諸君、私はC++が大好きだ
テンプレートが好きだ
STLが好きだ
Boostが好きだ
FC++が好きだ
Macで
BSDで
演算子の意味が変わり、直感的なコードが書き下せる時など心がおどる
動的言語の優位性を語っている奴等にそれを見せた時など胸がすくような気持ちだった
Boostが好きだ
Boost::lambdaを使って(_1 + _2)と二つの引数を足算した結果を返す無名関数を定義した時など感動すらおぼえる
Boost::regexで正規表現を書く時などもうたまらない
Boost::shared_pointerでオブジェクトが自動的に解放されるのは最高だ
納期に追われて急いで書かなければならないパーサを
Boost::spiritでBNFを記述して書いた時など絶頂すら覚える
そんなC++が複雑だと思われているのはとてもとても悲しいものだ
テンプレートが好きだ
諸君 私に付き従うC++好きの諸君 君たちは一体何を望んでいる?
更なるC++を望むか
糞の様なC++を望むか?
BoostやFC++によってさらに変態的になっていくC++を望むか?
よろしい ならばC++だ
だが、LL全盛の時代の陰でもはや組み込みかHPCぐらいでしか使われないという中傷に耐え続けて来た我々には
ただのC++ではもはや足りない!!
我々はわずかに小数
Perl、PHP、Python、Ruby、JavaScriptに比べれば物の数ではない
だが諸君は一騎当千のBinarianだと私は信じている
ならば我らは諸君と私で総兵力100万と1人のコンピュータサイエンティスト集団となる
我らを忘却の彼方へと追いやり、インタプリタしか知らない連中を叩きのめそう
髪の毛をつかんで引きずり下ろし 眼(まなこ)をあけて思い出させよう
連中にインタプリタでは実用的なプログラムが書けないということを思い出させてやる
C++には奴らの哲学では思いもよらない書き方がある事を思い出させてやる
1000人のBinarianの集団で 世界を変態的なコードで埋め尽くしてやる
逝くぞ 諸君