SlideShare uma empresa Scribd logo
1 de 24
kmyacc - php
CSS

  Ryo Miyake - nekoya -
      (id:studio-m)
•               nekoya

• id:studio-m
• http://twitter.com/nekoya
• http://wassr.jp/user/nekoya
• PGcafe
•
•
•

•   Perl

•     PHP
SmartCSS
http://github.com/nekoya/SmartCSS/tree/master
          github


 •
 •
 •
 • CLI
SmartCSS

• PHP
•             CGI

•
CSS
CSS
#header {
  background:#333;
}
#header p {
  margin:0;
}
#header ul.menu {
  list-style:none;
}
#header ul.menu li {
  color:#333;
  background:#fff;
}
CSS
#header {
  background:#333;
}
#header p {
  margin:0;
}
#header ul.menu {
  list-style:none;
}
#header ul.menu li {
  color:#333;
  background:#fff;
}
#header {
  background:#333;

    p { margin:0; }

    ul.menu {
       list-style:none;
       li {
           color:#333;
           background:#fff;
       }
    }
}
SmartCSS
#header {
  background:#333;
}

#footer {
  background:#333;
}

#content p {
  color:#333;
}

#header     #footer
:%s/#333/#666/g
#header {
  background:#666;
}

#footer {
  background:#666;
}

#content p {
  color:#666; ←
}

                     …
[% bg = “#333” %]
[% text = “#333” %]
#header {
  background:[% bg %];
}

#footer {
  background: [% bg %];
}

#content p {
  color: [% text %];
}
SmartCSS
[% bg = “#333” %]
[% IMPORT ʻheader.scssʼ %]

#content { margin:0; padding:0; }

[% IMPORT ʻfooter.scssʼ %]

• CSS    @import
•1      HTTP
•
•
kmyacc
            LALR

http://www005.upp.so-net.ne.jp/kmori/kmyacc/
What is KMyacc?

kmyacc   yacc     bison       LALR
            yacc
                          C      Java,
JavaScript,Perl
kmyacc - php
PHP    yacc                   -                        bto
 http://blog.bz2.jp/archives/2008/01/phpyacc.html



kmyacc PHP
- muddy brown thang id:moriyoshi
 http://d.hatena.ne.jp/moriyoshi/20081004/1223132173




kmyacc $
- muddy brown thang
 http://d.hatena.ne.jp/moriyoshi/20081004/1223137368
kmyacc

    Lexer


    Parser      kmyacc


 NodeTree


     evaluate
Ruby
 http://i.loveruby.net/ja/rhg/book/




kmyacc      BASIC
    -
 http://www.hakkaku.net/articles/20080307-158
•
    → Lexer




•
    →
SmartCSS
Enjoy !

Mais conteúdo relacionado

Mais procurados

jQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptjQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptNando Vieira
 
Visual keyboard와 tomcat설치 및 이클립스 동기화
Visual keyboard와 tomcat설치 및 이클립스 동기화Visual keyboard와 tomcat설치 및 이클립스 동기화
Visual keyboard와 tomcat설치 및 이클립스 동기화Lay Sukmin Lim
 
CSS Components
CSS ComponentsCSS Components
CSS Components拓樹 谷
 
WordPress Customizer
WordPress CustomizerWordPress Customizer
WordPress Customizerslicejack
 
Node.js and Web.js
Node.js and Web.jsNode.js and Web.js
Node.js and Web.jsWill Gunn
 
Concevoir un thème pour Wordpress
Concevoir un thème pour WordpressConcevoir un thème pour Wordpress
Concevoir un thème pour WordpressJean-Luc Houedanou
 
Usando SVN para instalar un Wordpress seguro en Ubuntu Server
Usando SVN para instalar un Wordpress seguro en Ubuntu ServerUsando SVN para instalar un Wordpress seguro en Ubuntu Server
Usando SVN para instalar un Wordpress seguro en Ubuntu ServerStuardo Rodriguez
 
0 2.trimiterea datelor la vederi in Laravel
0 2.trimiterea datelor la vederi in Laravel0 2.trimiterea datelor la vederi in Laravel
0 2.trimiterea datelor la vederi in LaravelRazvan Raducanu, PhD
 
スマホウェブの本命 jQueryMobile
スマホウェブの本命 jQueryMobileスマホウェブの本命 jQueryMobile
スマホウェブの本命 jQueryMobileManabu Uekusa
 
Contes 66pdf
Contes 66pdfContes 66pdf
Contes 66pdfanatole21
 
观剧卡免费赠读者
观剧卡免费赠读者观剧卡免费赠读者
观剧卡免费赠读者sugeladi
 
Drupal Theming Hans Rossel
Drupal Theming Hans RosselDrupal Theming Hans Rossel
Drupal Theming Hans RosselHans Rossel
 
Espace vectoriel euclidien
Espace vectoriel euclidienEspace vectoriel euclidien
Espace vectoriel euclidienAchraf Ourti
 

Mais procurados (20)

Web App Mvc
Web App MvcWeb App Mvc
Web App Mvc
 
jQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptjQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe Javascript
 
Visual keyboard와 tomcat설치 및 이클립스 동기화
Visual keyboard와 tomcat설치 및 이클립스 동기화Visual keyboard와 tomcat설치 및 이클립스 동기화
Visual keyboard와 tomcat설치 및 이클립스 동기화
 
Miniray.php
Miniray.phpMiniray.php
Miniray.php
 
CSS Components
CSS ComponentsCSS Components
CSS Components
 
WordPress Customizer
WordPress CustomizerWordPress Customizer
WordPress Customizer
 
Freddy,teto,chino,jhovany
Freddy,teto,chino,jhovanyFreddy,teto,chino,jhovany
Freddy,teto,chino,jhovany
 
Node.js and Web.js
Node.js and Web.jsNode.js and Web.js
Node.js and Web.js
 
Concevoir un thème pour Wordpress
Concevoir un thème pour WordpressConcevoir un thème pour Wordpress
Concevoir un thème pour Wordpress
 
Usando SVN para instalar un Wordpress seguro en Ubuntu Server
Usando SVN para instalar un Wordpress seguro en Ubuntu ServerUsando SVN para instalar un Wordpress seguro en Ubuntu Server
Usando SVN para instalar un Wordpress seguro en Ubuntu Server
 
0 2.trimiterea datelor la vederi in Laravel
0 2.trimiterea datelor la vederi in Laravel0 2.trimiterea datelor la vederi in Laravel
0 2.trimiterea datelor la vederi in Laravel
 
スマホウェブの本命 jQueryMobile
スマホウェブの本命 jQueryMobileスマホウェブの本命 jQueryMobile
スマホウェブの本命 jQueryMobile
 
Affiche
Affiche Affiche
Affiche
 
Macdom html preprocesor
Macdom html preprocesorMacdom html preprocesor
Macdom html preprocesor
 
5. Blade in Laravel
5. Blade in Laravel5. Blade in Laravel
5. Blade in Laravel
 
Contes 66pdf
Contes 66pdfContes 66pdf
Contes 66pdf
 
The evil consequences of fornication and adultery
The evil consequences of fornication and adulteryThe evil consequences of fornication and adultery
The evil consequences of fornication and adultery
 
观剧卡免费赠读者
观剧卡免费赠读者观剧卡免费赠读者
观剧卡免费赠读者
 
Drupal Theming Hans Rossel
Drupal Theming Hans RosselDrupal Theming Hans Rossel
Drupal Theming Hans Rossel
 
Espace vectoriel euclidien
Espace vectoriel euclidienEspace vectoriel euclidien
Espace vectoriel euclidien
 

Destaque

DBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たちDBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たちRyo Miyake
 
アラートメールの運用
アラートメールの運用アラートメールの運用
アラートメールの運用Ryo Miyake
 
俺とプログラマーズカフェ
俺とプログラマーズカフェ俺とプログラマーズカフェ
俺とプログラマーズカフェRyo Miyake
 
Td sustain report
Td sustain reportTd sustain report
Td sustain reportChris Fyvie
 
EL_4_Laminares madera_Balmond
EL_4_Laminares madera_BalmondEL_4_Laminares madera_Balmond
EL_4_Laminares madera_BalmondConstruccion_III
 
なぜパスワードを使い回すとシステム部が切れるのか
なぜパスワードを使い回すとシステム部が切れるのかなぜパスワードを使い回すとシステム部が切れるのか
なぜパスワードを使い回すとシステム部が切れるのか歩 奥山
 
Mission Hills Final Case Study
Mission Hills Final Case StudyMission Hills Final Case Study
Mission Hills Final Case StudySharon Litchfield
 
Case Study : Post Tsunami Housing in Kirinda by Shigeru Ban
Case Study : Post Tsunami Housing in Kirinda by Shigeru BanCase Study : Post Tsunami Housing in Kirinda by Shigeru Ban
Case Study : Post Tsunami Housing in Kirinda by Shigeru Banbaburajiv2007
 
Pompidou centre,metz
Pompidou centre,metzPompidou centre,metz
Pompidou centre,metzbansaldhruv
 
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門Ryo Miyake
 
Precedence study: Barcelona Pavilion
Precedence study: Barcelona PavilionPrecedence study: Barcelona Pavilion
Precedence study: Barcelona PavilionBarimah Ntow-kummi
 
Ludwig mies van der rohe
Ludwig mies van der roheLudwig mies van der rohe
Ludwig mies van der roheWossen Demiss
 
barcelona pavilion
barcelona pavilionbarcelona pavilion
barcelona pavilionZubda Sajda
 
インターネット広告とPerl、ここ数年の歩み
インターネット広告とPerl、ここ数年の歩みインターネット広告とPerl、ここ数年の歩み
インターネット広告とPerl、ここ数年の歩みRyo Miyake
 

Destaque (18)

DBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たちDBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たち
 
アラートメールの運用
アラートメールの運用アラートメールの運用
アラートメールの運用
 
俺とプログラマーズカフェ
俺とプログラマーズカフェ俺とプログラマーズカフェ
俺とプログラマーズカフェ
 
Td sustain report
Td sustain reportTd sustain report
Td sustain report
 
About test
About testAbout test
About test
 
Python setup
Python setupPython setup
Python setup
 
EL_4_Laminares madera_Balmond
EL_4_Laminares madera_BalmondEL_4_Laminares madera_Balmond
EL_4_Laminares madera_Balmond
 
なぜパスワードを使い回すとシステム部が切れるのか
なぜパスワードを使い回すとシステム部が切れるのかなぜパスワードを使い回すとシステム部が切れるのか
なぜパスワードを使い回すとシステム部が切れるのか
 
Mission Hills Final Case Study
Mission Hills Final Case StudyMission Hills Final Case Study
Mission Hills Final Case Study
 
Case Study : Post Tsunami Housing in Kirinda by Shigeru Ban
Case Study : Post Tsunami Housing in Kirinda by Shigeru BanCase Study : Post Tsunami Housing in Kirinda by Shigeru Ban
Case Study : Post Tsunami Housing in Kirinda by Shigeru Ban
 
Pompidou centre,metz
Pompidou centre,metzPompidou centre,metz
Pompidou centre,metz
 
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
 
Precedence study: Barcelona Pavilion
Precedence study: Barcelona PavilionPrecedence study: Barcelona Pavilion
Precedence study: Barcelona Pavilion
 
Ludwig mies van der rohe
Ludwig mies van der roheLudwig mies van der rohe
Ludwig mies van der rohe
 
barcelona pavilion
barcelona pavilionbarcelona pavilion
barcelona pavilion
 
Works of mies
Works of miesWorks of mies
Works of mies
 
Mies van der rohe
Mies van der roheMies van der rohe
Mies van der rohe
 
インターネット広告とPerl、ここ数年の歩み
インターネット広告とPerl、ここ数年の歩みインターネット広告とPerl、ここ数年の歩み
インターネット広告とPerl、ここ数年の歩み
 

SmartCSS

  • 1. kmyacc - php CSS Ryo Miyake - nekoya - (id:studio-m)
  • 2. nekoya • id:studio-m • http://twitter.com/nekoya • http://wassr.jp/user/nekoya • PGcafe
  • 3. • • • • Perl • PHP
  • 6. CSS
  • 7. CSS #header { background:#333; } #header p { margin:0; } #header ul.menu { list-style:none; } #header ul.menu li { color:#333; background:#fff; }
  • 8. CSS #header { background:#333; } #header p { margin:0; } #header ul.menu { list-style:none; } #header ul.menu li { color:#333; background:#fff; }
  • 9. #header { background:#333; p { margin:0; } ul.menu { list-style:none; li { color:#333; background:#fff; } } }
  • 11. #header { background:#333; } #footer { background:#333; } #content p { color:#333; } #header #footer
  • 13. #header { background:#666; } #footer { background:#666; } #content p { color:#666; ← } …
  • 14. [% bg = “#333” %] [% text = “#333” %] #header { background:[% bg %]; } #footer { background: [% bg %]; } #content p { color: [% text %]; }
  • 16. [% bg = “#333” %] [% IMPORT ʻheader.scssʼ %] #content { margin:0; padding:0; } [% IMPORT ʻfooter.scssʼ %] • CSS @import •1 HTTP • •
  • 17. kmyacc LALR http://www005.upp.so-net.ne.jp/kmori/kmyacc/
  • 18. What is KMyacc? kmyacc yacc bison LALR yacc C Java, JavaScript,Perl
  • 19. kmyacc - php PHP yacc - bto http://blog.bz2.jp/archives/2008/01/phpyacc.html kmyacc PHP - muddy brown thang id:moriyoshi http://d.hatena.ne.jp/moriyoshi/20081004/1223132173 kmyacc $ - muddy brown thang http://d.hatena.ne.jp/moriyoshi/20081004/1223137368
  • 20. kmyacc Lexer Parser kmyacc NodeTree evaluate
  • 21. Ruby http://i.loveruby.net/ja/rhg/book/ kmyacc BASIC - http://www.hakkaku.net/articles/20080307-158
  • 22. → Lexer • →