Page 253 - 6734
P. 253

аналізатор Python
           from pygments.formatters import HtmlFormatter # для
           форматування у вигляді HTML
           code = u'print "Hello World" # коментар' # Юнікод (!)
           рядок Python коду
           print highlight(code, PythonLexer(), HtmlFormatter())
           # повертає проаналізований  PythonLexer() та
           відформатований HtmlFormatter() текст
           #print HtmlFormatter().get_style_defs('.highlight') #
           повертає текст стилю CSS

           # все в одному файлі HTML
           #print highlight(code, PythonLexer(),
           HtmlFormatter(full=True))

           # все в одному файлі HTML окрім стилю. Стиль окремим
           файлом python.css
           #print highlight(code, PythonLexer(),
           HtmlFormatter(full=True,cssfile='python.css'))

           # новий лексичний аналізатор на основі регулярних
           виразів
           from pygments.lexer import RegexLexer
           from pygments.token import *
           class MyLexer(RegexLexer):
               tokens = {'root': [(r'[^#]+', Text),(r'#.*\n',
           Comment),(r'\n.*', Text)]} # послідовність (рег.
           вираз, токен)
           print highlight(code, MyLexer(), HtmlFormatter())

           <div class="highlight"><pre><span></span><span
           class="k">print</span> <span class="s2">"Hello
           World"</span> <span class="c1"># коментар</span>
           </pre></div>


                                         252
   248   249   250   251   252   253   254   255   256   257   258