タグ

parserに関するKumatchのブックマーク (3)

  • Writing An Interpreter In Goを読んだ

    Thorsten Ballによる“Writing An Interpreter In Go”を読んだ. 技術界隈のブログを見ているとたまにSteve Yeggeの「If you don’t know how compilers work, then you don’t know how computers work」という言葉に出会う.その度に学生のときにコンパイラの授業を受けなかったこと後悔し,社会人になって挑戦しようとして挫折したことを思い出して悲しい気持ちになる.@rui314さんのCコンパイラをスクラッチから開発してみたを読んではかっこいいなと思いつつ僕には無理だなあと心が折れていた. どの言語を書いていてもコンパイラ(もしくはInterpreter)は切っても離せないものであり内部の動きがどうなっているかを知っておきたいという欲求はプログラマーなら誰しもあると思う(少なくとも僕に

  • Esprima

    Esprima is a high performance, standard-compliant ECMAScript parser written in ECMAScript (also popularly known as JavaScript). Features Full support for ECMAScript 2019 (ECMA-262 10th Edition) Sensible syntax tree format, with optional node location info Experimental support for JSX, a syntax extension for React Heavily tested (~1600 tests with full code coverage) API Esprima can be used to perfo

  • PHP_LexerGeneratorとPHP_ParserGeneratorを利用して PHPで独自の言語を実装する方法

    はじめに 計算機用言語の処理には決まった方法があります。文字列で与えられた言語は、字句解析によってトークンに分けられ、構文解析によってトークン同士が結びつけられ、意味解析によって解釈されます。 字句解析を行うプログラムが字句解析器(lexer)、構文解析と意味解析を行うのが構文解析器(parser)です。字句解析器としてはlexあるいはflex、構文解析器としてはyaccあるいはbisonが有名で、資料も豊富にありますが、いずれもC言語で利用することを想定したソフトウェアです。 PHPで利用できる字句解析器としてはPHP_LexerGeneratorが、構文解析器としてはPHP_ParserGeneratorがあります。稿では、簡易電卓を実装するという例を通じてPHP_LexerGeneratorとPHP_ParserGeneratorの使い方を紹介します。 必要な環境 XAMPP fo

    PHP_LexerGeneratorとPHP_ParserGeneratorを利用して PHPで独自の言語を実装する方法
  • 1