SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
パーサコンビネータを使っ
     てペログラム言語コンパイ
      ラを作ってみた(仮)
               @mtgto
11   12   10
@mtgto

                 D

                        iPhone

               Scala             11/9

               OCaml

11   12   10
11   12   10
http://pero.510314.com/



11   12   10
http://nlab.itmedia.co.jp/nl/articles/1111/12/
                               news012.html
11   12   10
Hello world
           あずにゃんペロペロあずにゃんあずにゃんペロペロあずにゃんペロペロあずにゃんあずにゃんペロ
           ペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃん
           ペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあず
           にゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペ
           ロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃん
           ペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあ
           ずにゃんペロペロあずにゃんペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロ
           あずにゃんペロペロあずにゃんペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロ
           あずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあず
           にゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあず
           にゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペ
           ロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあず
           にゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロ
           あずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロ
           あずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロ


                                     “Hello, world!”
11   12   10
Whitespace

                            push, pop, swap, dup)




11   12   10
Hello World

               ‘H’




11   12   10
def fib(n) {
             if (n < 2) {
                return 1;
             }
             return fib(n-1) + fib(n-2);
           }

           var a = readInt();
           printInt fib(a);


11   12   10
1996




11   12   10
http://pero.510314.com/
               http://localhost:8080/



11   12   10
sbt                   ScalaTest




               Scalatra + Jetty

                     Scala   10   1000

11   12   10
ruby

                      float

                      ”==” ”<“

               if     else




11   12   10
11   12   10
(^o^)




11   12   10

Más contenido relacionado

Destacado

Destacado (20)

Presentaciones digitales
Presentaciones digitalesPresentaciones digitales
Presentaciones digitales
 
The industrial revolution
The industrial revolutionThe industrial revolution
The industrial revolution
 
A.p. ch 21 p.p
A.p. ch 21 p.pA.p. ch 21 p.p
A.p. ch 21 p.p
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Brittany Edgerton's Timelinee
Brittany Edgerton's TimelineeBrittany Edgerton's Timelinee
Brittany Edgerton's Timelinee
 
T.5 t. afectivos
T.5 t. afectivosT.5 t. afectivos
T.5 t. afectivos
 
Pk Tecnologias
Pk TecnologiasPk Tecnologias
Pk Tecnologias
 
Merokok 4
Merokok 4Merokok 4
Merokok 4
 
Circular no. 2012-010
Circular no. 2012-010Circular no. 2012-010
Circular no. 2012-010
 
Raft- Boston Tea Party Project Instructions
Raft- Boston Tea Party Project InstructionsRaft- Boston Tea Party Project Instructions
Raft- Boston Tea Party Project Instructions
 
Islamic perspective note
Islamic perspective noteIslamic perspective note
Islamic perspective note
 
Web 2.0 i EpS
Web 2.0 i EpS Web 2.0 i EpS
Web 2.0 i EpS
 
Prime partnership final presentation
Prime partnership final presentationPrime partnership final presentation
Prime partnership final presentation
 
Know How to Clean Up Mac Easily!
Know How to Clean Up Mac Easily!Know How to Clean Up Mac Easily!
Know How to Clean Up Mac Easily!
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Circular 2012-001
Circular 2012-001Circular 2012-001
Circular 2012-001
 
First Contact
First ContactFirst Contact
First Contact
 

20111210 scala kaigi2

  • 1. パーサコンビネータを使っ てペログラム言語コンパイ ラを作ってみた(仮) @mtgto 11 12 10
  • 2. @mtgto D iPhone Scala 11/9 OCaml 11 12 10
  • 3. 11 12 10
  • 6. Hello world あずにゃんペロペロあずにゃんあずにゃんペロペロあずにゃんペロペロあずにゃんあずにゃんペロ ペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃん ペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあず にゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペ ロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあずにゃん ペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロあ ずにゃんペロペロあずにゃんペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロ あずにゃんペロペロあずにゃんペロペロペロペロペロペロペロあずにゃんペロあずにゃんあずにゃんペロ あずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあずにゃんあず にゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペロあず にゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあずにゃんペ ロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロあず にゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロペロ あずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロあずにゃんペロペロペロペロペロペロペロ あずにゃんペロあずにゃんあずにゃんペロあずにゃんペロペロ “Hello, world!” 11 12 10
  • 7. Whitespace push, pop, swap, dup) 11 12 10
  • 8. Hello World ‘H’ 11 12 10
  • 9. def fib(n) { if (n < 2) { return 1; } return fib(n-1) + fib(n-2); } var a = readInt(); printInt fib(a); 11 12 10
  • 10. 1996 11 12 10
  • 11. http://pero.510314.com/ http://localhost:8080/ 11 12 10
  • 12. sbt ScalaTest Scalatra + Jetty Scala 10 1000 11 12 10
  • 13. ruby float ”==” ”<“ if else 11 12 10
  • 14. 11 12 10
  • 15. (^o^) 11 12 10