GROUND="#0d0b0a" COLS={ 'kw':("#67809c",True),'bi':("#67809c",False),'pp':("#67809c",False), 'fnd':("#a9b2bb",True),'fnc':("#a9b2bb",False),'dec':("#e8bd30",False), 'ty':("#9b5fd0",False),'prop':("#838d97",False), 'con':("#cb6b4d",False),'num':("#cb6b4d",False),'esc':("#cb6b4d",False), 'str':("#2ba178",False),'re':("#5d9b86",False),'doc':("#5d9b86",False), 'cm':("#be9e74",False),'cmd':("#a9b2bb",False), 'var':("#e8bd30",False),'op':("#a9b2bb",False),'punc':("#a9b2bb",False),'p':("#ffffff",False), } NAMES={"#67809c":"blue","#e8bd30":"gold","#9b5fd0":"regal","#2ba178":"emerald","#cb6b4d":"terracotta","#be9e74":"tan","#5d9b86":"sage","#cdced1":"white","#a9b2bb":"silver","#838d97":"steel","#5e6770":"pewter","#2f343a":"gunmetal","#264364":"navy"} def esc(t): return t.replace("&","&").replace("<","<").replace(">",">") def span(k,t): c,b=COLS[k]; w=";font-weight:bold" if b else "" return f'{esc(t)}' def render(lines): return "\n".join("".join(span(k,t) for k,t in ln) or " " for ln in lines) PYS=[ [('cmd','#'),('cm',' theme.py')], [('kw','from'),('p',' '),('var','dataclasses'),('p',' '),('kw','import'),('p',' '),('var','dataclass'),('punc',','),('p',' '),('var','field')], [], [('con','DEFAULT_PORT'),('op',':'),('p',' '),('ty','int'),('p',' '),('op','='),('p',' '),('num','8080')], [('con','HEX'),('p',' '),('op','='),('p',' '),('var','re'),('op','.'),('fnc','compile'),('punc','('),('re','r"#[0-9a-f]{6}"'),('punc',')')], [], [('dec','@dataclass')], [('kw','class'),('p',' '),('ty','Theme'),('op',':')], [('p',' '),('doc','"""A color theme."""')], [('p',' '),('prop','name'),('op',':'),('p',' '),('ty','str'),('p',' '),('op','='),('p',' '),('str','"dupre"')], [('p',' '),('prop','colors'),('op',':'),('p',' '),('ty','dict'),('p',' '),('op','='),('p',' '),('fnc','field'),('punc','('),('prop','default_factory'),('op','='),('ty','dict'),('punc',')')], [], [('p',' '),('kw','def'),('p',' '),('fnd','resolve'),('punc','('),('var','self'),('punc',','),('p',' '),('var','key'),('op',':'),('p',' '),('ty','str'),('punc',')'),('p',' '),('op','->'),('p',' '),('ty','str'),('p',' '),('op','|'),('p',' '),('con','None'),('op',':')], [('p',' '),('cmd','#'),('cm',' fallback to none')], [('p',' '),('var','v'),('p',' '),('op','='),('p',' '),('var','self'),('op','.'),('prop','colors'),('op','.'),('fnc','get'),('punc','('),('var','key'),('punc',','),('p',' '),('str','"'),('esc','\\t'),('str','none"'),('punc',')')], [('p',' '),('kw','if'),('p',' '),('bi','len'),('punc','('),('var','v'),('punc',')'),('p',' '),('op','=='),('p',' '),('num','0'),('op',':'),('p',' '),('kw','return'),('p',' '),('con','None')], [('p',' '),('kw','return'),('p',' '),('var','v')], [], [('p',' '),('dec','@property')], [('p',' '),('kw','def'),('p',' '),('fnd','size'),('punc','('),('var','self'),('punc',')'),('p',' '),('op','->'),('p',' '),('ty','int'),('op',':')], [('p',' '),('kw','return'),('p',' '),('bi','len'),('punc','('),('var','self'),('op','.'),('prop','colors'),('punc',')')], [], [('var','theme'),('p',' '),('op','='),('p',' '),('ty','Theme'),('punc','('),('str','"dupre"'),('punc',')')], [('fnc','print'),('punc','('),('var','theme'),('op','.'),('fnc','resolve'),('punc','('),('str','"bg"'),('punc','))')], ] ELS=[ [('cmd',';;'),('cm',' cache.el')], [('punc','('),('kw','require'),('p',' '),('con',"'cl-lib"),('punc',')')], [], [('punc','('),('kw','defvar'),('p',' '),('var','cache--tbl'),('p',' '),('punc','('),('fnc','make-hash-table'),('p',' '),('con',':test'),('p',' '),('con',"'equal"),('punc','))')], [('p',' '),('doc','"Memo table.")')], [], [('punc','('),('kw','defun'),('p',' '),('fnd','cache-get'),('p',' '),('punc','('),('var','key'),('punc',')')], [('p',' '),('doc','"Return cached value for KEY."')], [('p',' '),('punc','('),('kw','or'),('p',' '),('punc','('),('bi','gethash'),('p',' '),('var','key'),('p',' '),('var','cache--tbl'),('punc',')')], [('p',' '),('punc','('),('kw','let'),('p',' '),('punc','(('),('var','v'),('p',' '),('punc','('),('fnc','compute'),('p',' '),('var','key'),('p',' '),('num','42'),('punc','))) ')], [('p',' '),('punc','('),('fnc','puthash'),('p',' '),('var','key'),('p',' '),('var','v'),('p',' '),('var','cache--tbl'),('punc',') '),('var','v'),('punc','))))')], [], [('punc','('),('kw','defun'),('p',' '),('fnd','cache-clear'),('p',' '),('punc','()')], [('p',' '),('doc','"Empty the memo table."')], [('p',' '),('punc','('),('kw','interactive'),('punc',')')], [('p',' '),('punc','('),('fnc','clrhash'),('p',' '),('var','cache--tbl'),('punc',')')], [('p',' '),('punc','('),('fnc','message'),('p',' '),('str','"cleared'),('esc','\\n'),('str','"'),('punc','))')], [], [('punc','('),('kw','defun'),('p',' '),('fnd','cache-keys'),('p',' '),('punc','()')], [('p',' '),('doc','"Return all keys."')], [('p',' '),('punc','('),('kw','let'),('p',' '),('punc','(('),('var','acc'),('p',' '),('con','nil'),('punc','))')], [('p',' '),('punc','('),('fnc','maphash'),('p',' '),('punc','('),('kw','lambda'),('p',' '),('punc','('),('var','k'),('p',' '),('var','_v'),('punc',')'),('p',' '),('punc','('),('fnc','push'),('p',' '),('var','k'),('p',' '),('var','acc'),('punc','))')], [('p',' '),('var','cache--tbl'),('punc',')'),('p',' '),('var','acc'),('punc','))')], [], [('punc','('),('kw','provide'),('p',' '),('con',"'cache"),('punc',')')], ] GOS=[ [('cmd','//'),('cm',' queue.go')], [('kw','package'),('p',' '),('var','main')], [], [('kw','import'),('p',' '),('str','"fmt"')], [], [('kw','const'),('p',' '),('con','MaxItems'),('p',' '),('op','='),('p',' '),('num','100')], [], [('kw','type'),('p',' '),('ty','Order'),('p',' '),('kw','struct'),('p',' '),('punc','{')], [('p',' '),('prop','ID'),('p',' '),('ty','int')], [('p',' '),('prop','Name'),('p',' '),('ty','string')], [('punc','}')], [], [('kw','func'),('p',' '),('punc','('),('var','q'),('p',' '),('op','*'),('ty','Queue'),('punc',')'),('p',' '),('fnd','Push'),('punc','('),('var','o'),('p',' '),('op','*'),('ty','Order'),('punc',')'),('p',' '),('ty','error'),('p',' '),('punc','{')], [('p',' '),('cmd','//'),('cm',' reject nil')], [('p',' '),('kw','if'),('p',' '),('var','o'),('p',' '),('op','=='),('p',' '),('con','nil'),('p',' '),('punc','{')], [('p',' '),('kw','return'),('p',' '),('fnc','fmt.Errorf'),('punc','('),('str','"nil'),('esc','\\n'),('str','"'),('punc',')')], [('p',' '),('punc','}')], [('p',' '),('var','q'),('op','.'),('prop','items'),('p',' '),('op','='),('p',' '),('bi','append'),('punc','('),('var','q'),('op','.'),('prop','items'),('punc',','),('p',' '),('var','o'),('punc',')')], [('p',' '),('kw','return'),('p',' '),('con','nil')], [('punc','}')], [], [('kw','func'),('p',' '),('fnd','main'),('punc','()'),('p',' '),('punc','{')], [('p',' '),('fnc','fmt.Println'),('punc','('),('op','&'),('ty','Queue'),('punc','{}'),('punc',')')], [('punc','}')], ] TSS=[ [('cmd','//'),('cm',' orders.ts')], [('kw','import'),('p',' '),('punc','{'),('p',' '),('ty','Order'),('p',' '),('punc','}'),('p',' '),('kw','from'),('p',' '),('str','"./types"')], [], [('kw','export'),('p',' '),('kw','interface'),('p',' '),('ty','Queue'),('p',' '),('punc','{')], [('p',' '),('prop','max'),('op',':'),('p',' '),('ty','number'),('punc',';')], [('p',' '),('prop','items'),('op',':'),('p',' '),('ty','Order'),('punc','[];')], [('punc','}')], [], [('dec','@Injectable'),('punc','()')], [('kw','export'),('p',' '),('kw','class'),('p',' '),('ty','OrderQueue'),('p',' '),('kw','implements'),('p',' '),('ty','Queue'),('p',' '),('punc','{')], [('p',' '),('kw','private'),('p',' '),('prop','re'),('p',' '),('op','='),('p',' '),('re','/^#[0-9a-f]{6}$/i'),('punc',';')], [], [('p',' '),('fnd','push'),('punc','('),('var','o'),('op',':'),('p',' '),('ty','Order'),('punc',')'),('op',':'),('p',' '),('ty','boolean'),('p',' '),('punc','{')], [('p',' '),('kw','if'),('p',' '),('punc','('),('var','o'),('p',' '),('op','==='),('p',' '),('con','null'),('punc',')'),('p',' '),('kw','return'),('p',' '),('con','false'),('punc',';')], [('p',' '),('var','console'),('op','.'),('fnc','log'),('punc','('),('str','`id '),('punc','${'),('var','o'),('op','.'),('prop','id'),('punc','}'),('esc','\\n'),('str','`'),('punc',');')], [('p',' '),('kw','return'),('p',' '),('con','true'),('punc',';')], [('p',' '),('punc','}')], [('punc','}')], [], [('kw','const'),('p',' '),('con','LIMIT'),('op',':'),('p',' '),('ty','number'),('p',' '),('op','='),('p',' '),('num','50'),('punc',';')], [('kw','const'),('p',' '),('var','q'),('p',' '),('op','='),('p',' '),('kw','new'),('p',' '),('ty','OrderQueue'),('punc','()'),('punc',';')], [('var','q'),('op','.'),('fnd','push'),('punc','('),('punc','{'),('p',' '),('prop','id'),('op',':'),('p',' '),('num','1'),('p',' '),('punc','}'),('p',' '),('kw','as'),('p',' '),('ty','Order'),('punc',')'),('punc',';')], [('var','console'),('op','.'),('fnc','log'),('punc','('),('var','q'),('op','.'),('prop','max'),('punc',')'),('punc',';')], [('kw','const'),('p',' '),('var','cap'),('p',' '),('op','='),('p',' '),('var','Math'),('op','.'),('bi','max'),('punc','('),('con','LIMIT'),('punc',','),('p',' '),('num','0'),('punc',')'),('punc',';')], ] CS=[ [('cmd','/**'),('doc',' Order queue. */')], [('pp','#include'),('p',' '),('str','')], [('pp','#include'),('p',' '),('str','')], [('pp','#define'),('p',' '),('con','MAX_PORT'),('p',' '),('num','8080')], [], [('kw','typedef'),('p',' '),('kw','struct'),('p',' '),('punc','{')], [('p',' '),('ty','int'),('p',' '),('prop','id'),('punc',';')], [('p',' '),('kw','const'),('p',' '),('ty','char'),('p',' '),('op','*'),('prop','name'),('punc',';')], [('punc','}'),('p',' '),('ty','Order'),('punc',';')], [], [('cmd','//'),('cm',' returns -1 on null input')], [('ty','int'),('p',' '),('fnd','push'),('punc','('),('ty','Order'),('p',' '),('op','*'),('var','o'),('punc',')'),('p',' '),('dec','__attribute__'),('punc','(('),('dec','nonnull'),('punc','))'),('p',' '),('punc','{')], [('p',' '),('kw','if'),('p',' '),('punc','('),('var','o'),('p',' '),('op','=='),('p',' '),('con','NULL'),('punc',')'),('p',' '),('kw','return'),('p',' '),('num','-1'),('punc',';')], [('p',' '),('fnc','printf'),('punc','('),('str','"id=%d'),('esc','\\n'),('str','"'),('punc',','),('p',' '),('var','o'),('op','->'),('prop','id'),('punc',');')], [('p',' '),('kw','return'),('p',' '),('num','0'),('punc',';')], [('punc','}')], [], [('ty','int'),('p',' '),('fnd','main'),('punc','('),('ty','void'),('punc',')'),('p',' '),('punc','{')], [('p',' '),('ty','Order'),('p',' '),('var','o'),('p',' '),('op','='),('p',' '),('punc','{'),('p',' '),('op','.'),('prop','id'),('p',' '),('op','='),('p',' '),('num','1'),('punc',','),('p',' '),('op','.'),('prop','name'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('p',' '),('punc','}'),('punc',';')], [('p',' '),('ty','Order'),('p',' '),('op','*'),('var','p2'),('p',' '),('op','='),('p',' '),('bi','malloc'),('punc','('),('bi','sizeof'),('punc','('),('ty','Order'),('punc','))'),('punc',';')], [('p',' '),('fnc','push'),('punc','('),('op','&'),('var','o'),('punc',')'),('punc',';')], [('p',' '),('bi','free'),('punc','('),('var','p2'),('punc',')'),('punc',';')], [('p',' '),('kw','return'),('p',' '),('num','0'),('punc',';')], [('punc','}')], ] CPS=[ [('cmd','/**'),('doc',' A color theme. */')], [('pp','#include'),('p',' '),('str','')], [('pp','#include'),('p',' '),('str','')], [('pp','#pragma'),('p',' '),('pp','once')], [], [('kw','namespace'),('p',' '),('var','dupre'),('p',' '),('punc','{')], [], [('kw','template'),('op','<'),('kw','typename'),('p',' '),('ty','T'),('op','>'),('p',' '),('kw','class'),('p',' '),('ty','Theme'),('p',' '),('punc','{')], [('kw','public'),('op',':')], [('p',' '),('kw','static'),('p',' '),('kw','constexpr'),('p',' '),('ty','int'),('p',' '),('con','MAX'),('p',' '),('op','='),('p',' '),('num','0x20'),('punc',';')], [('p',' '),('ty','std'),('op','::'),('ty','string'),('p',' '),('prop','name_'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('punc',';')], [], [('p',' '),('dec','[[nodiscard]]'),('p',' '),('ty','T'),('p',' '),('fnd','resolve'),('punc','('),('kw','const'),('p',' '),('ty','std'),('op','::'),('ty','string'),('op','&'),('p',' '),('var','key'),('punc',')'),('p',' '),('kw','const'),('p',' '),('punc','{')], [('p',' '),('cmd','//'),('cm',' validate against a hex pattern')], [('p',' '),('kw','static'),('p',' '),('ty','std'),('op','::'),('ty','regex'),('p',' '),('var','re'),('punc','('),('re','R"(#[0-9a-f]{6})"'),('punc',')'),('punc',';')], [('p',' '),('kw','if'),('p',' '),('punc','('),('var','key'),('op','.'),('fnc','empty'),('punc','()'),('punc',')'),('p',' '),('kw','return'),('p',' '),('con','nullptr'),('punc',';')], [('p',' '),('kw','return'),('p',' '),('ty','T'),('punc','{'),('var','key'),('punc','}'),('punc',';')], [('p',' '),('punc','}')], [('punc','}'),('punc',';')], [], [('ty','int'),('p',' '),('fnd','main'),('punc','()'),('p',' '),('punc','{')], [('p',' '),('kw','auto'),('p',' '),('var','t'),('p',' '),('op','='),('p',' '),('ty','Theme'),('op','<'),('ty','int'),('op','>'),('punc','{}'),('punc',';')], [('p',' '),('bi','static_cast'),('op','<'),('ty','int'),('op','>'),('punc','('),('var','t'),('op','.'),('prop','name_'),('op','.'),('fnc','size'),('punc','())'),('punc',';')], [('p',' '),('ty','std'),('op','::'),('fnc','printf'),('punc','('),('str','"%s'),('esc','\\n'),('str','"'),('punc',','),('p',' '),('var','t'),('op','.'),('prop','name_'),('op','.'),('fnc','c_str'),('punc','())'),('punc',';')], [('p',' '),('kw','return'),('p',' '),('num','0'),('punc',';')], [('punc','}')], ] JAS=[ [('cmd','/**'),('doc',' A color theme. */')], [('kw','package'),('p',' '),('var','com'),('op','.'),('var','dupre'),('punc',';')], [('kw','import'),('p',' '),('var','java'),('op','.'),('var','util'),('op','.'),('var','regex'),('op','.'),('ty','Pattern'),('punc',';')], [], [('dec','@Deprecated')], [('kw','public'),('p',' '),('kw','final'),('p',' '),('kw','class'),('p',' '),('ty','Theme'),('p',' '),('punc','{')], [('p',' '),('kw','private'),('p',' '),('kw','static'),('p',' '),('kw','final'),('p',' '),('ty','int'),('p',' '),('con','MAX_PORT'),('p',' '),('op','='),('p',' '),('num','8080'),('punc',';')], [('p',' '),('kw','private'),('p',' '),('kw','final'),('p',' '),('ty','String'),('p',' '),('prop','name'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('punc',';')], [('p',' '),('kw','private'),('p',' '),('kw','static'),('p',' '),('kw','final'),('p',' '),('ty','Pattern'),('p',' '),('con','HEX'),('p',' '),('op','='),('p',' '),('ty','Pattern'),('op','.'),('fnc','compile'),('punc','('),('re','"#[0-9a-f]{6}"'),('punc',')'),('punc',';')], [], [('p',' '),('dec','@Override')], [('p',' '),('kw','public'),('p',' '),('ty','String'),('p',' '),('fnd','resolve'),('punc','('),('ty','String'),('p',' '),('var','key'),('punc',')'),('p',' '),('punc','{')], [('p',' '),('cmd','//'),('cm',' fall back to null')], [('p',' '),('kw','if'),('p',' '),('punc','('),('var','key'),('op','.'),('fnc','isEmpty'),('punc','()'),('punc',')'),('p',' '),('kw','return'),('p',' '),('con','null'),('punc',';')], [('p',' '),('kw','return'),('p',' '),('var','key'),('op','.'),('fnc','strip'),('punc','('),('punc',')'),('op','+'),('str','"'),('esc','\\t'),('str','"'),('punc',';')], [('p',' '),('punc','}')], [], [('p',' '),('kw','public'),('p',' '),('kw','static'),('p',' '),('ty','void'),('p',' '),('fnd','main'),('punc','('),('ty','String'),('punc','[]'),('p',' '),('var','args'),('punc',')'),('p',' '),('punc','{')], [('p',' '),('ty','var'),('p',' '),('var','t'),('p',' '),('op','='),('p',' '),('kw','new'),('p',' '),('ty','Theme'),('punc','()'),('punc',';')], [('p',' '),('ty','System'),('op','.'),('prop','out'),('op','.'),('fnc','println'),('punc','('),('var','t'),('op','.'),('fnc','resolve'),('punc','('),('str','"bg"'),('punc','))'),('punc',';')], [('p',' '),('punc','}')], [('punc','}')], ] SHS=[ [('cmd','#!'),('cm','/bin/bash')], [('cmd','#'),('cm',' deploy.sh')], [('bi','set'),('p',' '),('op','-'),('var','euo'),('p',' '),('var','pipefail')], [], [('var','PORT'),('op','='),('num','8080')], [('var','NAME'),('op','='),('str','"dupre"')], [], [('fnd','deploy'),('punc','()'),('p',' '),('punc','{')], [('p',' '),('kw','local'),('p',' '),('var','target'),('op','='),('str','"$1"')], [('p',' '),('kw','if'),('p',' '),('punc','[['),('p',' '),('op','-z'),('p',' '),('str','"$target"'),('p',' '),('punc',']]'),('punc',';'),('p',' '),('kw','then')], [('p',' '),('bi','echo'),('p',' '),('str','"no target"')], [('p',' '),('kw','return'),('p',' '),('num','1')], [('p',' '),('kw','fi')], [('p',' '),('fnc','rsync'),('p',' '),('op','-az'),('p',' '),('str','"$NAME"'),('p',' '),('str','"$target"')], [('punc','}')], [], [('fnd','main'),('punc','()'),('p',' '),('punc','{')], [('p',' '),('kw','for'),('p',' '),('var','host'),('p',' '),('kw','in'),('p',' '),('str','"$@"'),('punc',';'),('p',' '),('kw','do')], [('p',' '),('fnc','deploy'),('p',' '),('str','"$host"'),('p',' '),('op','||'),('p',' '),('bi','exit'),('p',' '),('num','1')], [('p',' '),('kw','done')], [('p',' '),('bi','echo'),('p',' '),('op','-e'),('p',' '),('str','"all done'),('esc','\\n'),('str','"')], [('punc','}')], [], [('fnc','main'),('p',' '),('str','"$@"')], ] RUSTS=[ [('cmd','//'),('cm',' theme.rs')], [('dec','#![allow(dead_code)]')], [('kw','use'),('p',' '),('var','std'),('op','::'),('var','fmt'),('punc',';')], [], [('dec','#[derive'),('punc','('),('dec','Debug'),('punc',','),('p',' '),('dec','Clone'),('punc',')]')], [('kw','pub'),('p',' '),('kw','trait'),('p',' '),('ty','Theme'),('op','<'),('var',"'a"),('op','>'),('p',' '),('punc','{')], [('p',' '),('kw','const'),('p',' '),('con','NAME'),('op',':'),('p',' '),('op','&'),('var',"'static"),('p',' '),('ty','str'),('punc',';')], [('p',' '),('kw','fn'),('p',' '),('fnd','resolve'),('punc','('),('op','&'),('var',"'a"),('p',' '),('var','self'),('punc',','),('p',' '),('var','key'),('op',':'),('p',' '),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',')'),('p',' '),('op','->'),('p',' '),('ty','Option'),('op','<'),('op','&'),('var',"'a"),('p',' '),('ty','str'),('op','>'),('punc',';')], [('punc','}')], [], [('kw','pub'),('p',' '),('kw','struct'),('p',' '),('ty','Palette'),('op','<'),('var',"'a"),('op','>'),('p',' '),('punc','{')], [('p',' '),('kw','pub'),('p',' '),('prop','name'),('op',':'),('p',' '),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',',')], [('p',' '),('kw','pub'),('p',' '),('prop','colors'),('op',':'),('p',' '),('ty','Vec'),('op','<'),('punc','('),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',','),('p',' '),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',')'),('op','>'),('punc',',')], [('punc','}')], [], [('kw','impl'),('op','<'),('var',"'a"),('op','>'),('p',' '),('ty','Theme'),('op','<'),('var',"'a"),('op','>'),('p',' '),('kw','for'),('p',' '),('ty','Palette'),('op','<'),('var',"'a"),('op','>'),('p',' '),('punc','{')], [('p',' '),('kw','const'),('p',' '),('con','NAME'),('op',':'),('p',' '),('op','&'),('var',"'static"),('p',' '),('ty','str'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('punc',';')], [('p',' '),('kw','fn'),('p',' '),('fnd','resolve'),('punc','('),('op','&'),('var',"'a"),('p',' '),('var','self'),('punc',','),('p',' '),('var','key'),('op',':'),('p',' '),('op','&'),('var',"'a"),('p',' '),('ty','str'),('punc',')'),('p',' '),('op','->'),('p',' '),('ty','Option'),('op','<'),('op','&'),('var',"'a"),('p',' '),('ty','str'),('op','>'),('p',' '),('punc','{')], [('p',' '),('kw','if'),('p',' '),('var','key'),('op','.'),('fnc','is_empty'),('punc','()'),('p',' '),('punc','{'),('p',' '),('kw','return'),('p',' '),('con','None'),('punc',';'),('p',' '),('punc','}')], [('p',' '),('var','self'),('op','.'),('prop','colors'),('op','.'),('fnc','iter'),('punc','()'),('op','.'),('fnc','find'),('punc','('),('op','|'),('punc','('),('var','k'),('punc',','),('p',' '),('var','_'),('punc',')'),('op','|'),('p',' '),('op','*'),('var','k'),('p',' '),('op','=='),('p',' '),('var','key'),('punc',')'),('op','.'),('fnc','map'),('punc','('),('op','|'),('punc','('),('var','_'),('punc',','),('p',' '),('var','v'),('punc',')'),('op','|'),('p',' '),('op','*'),('var','v'),('punc',')')], [('p',' '),('punc','}')], [('punc','}')], [], [('kw','fn'),('p',' '),('fnd','main'),('punc','()'),('p',' '),('punc','{')], [('p',' '),('kw','let'),('p',' '),('var','palette'),('p',' '),('op','='),('p',' '),('ty','Palette'),('p',' '),('punc','{'),('p',' '),('prop','name'),('op',':'),('p',' '),('str','"dupre"'),('punc',','),('p',' '),('prop','colors'),('op',':'),('p',' '),('bi','vec!'),('punc','['),('punc','('),('str','"bg"'),('punc',','),('p',' '),('str','"#0d0b0a"'),('punc',')'),('punc',']'),('p',' '),('punc','}'),('punc',';')], [('p',' '),('bi','println!'),('punc','('),('str','"{:?}"'),('punc',','),('p',' '),('var','palette'),('op','.'),('fnc','resolve'),('punc','('),('str','"bg"'),('punc','))'),('punc',';')], [('punc','}')], ] ZIGS=[ [('cmd','//'),('cm',' theme.zig')], [('kw','const'),('p',' '),('var','std'),('p',' '),('op','='),('p',' '),('bi','@import'),('punc','('),('str','"std"'),('punc',')'),('punc',';')], [('kw','const'),('p',' '),('ty','Allocator'),('p',' '),('op','='),('p',' '),('var','std'),('op','.'),('var','mem'),('op','.'),('ty','Allocator'),('punc',';')], [], [('kw','pub'),('p',' '),('kw','const'),('p',' '),('ty','Theme'),('p',' '),('op','='),('p',' '),('kw','struct'),('p',' '),('punc','{')], [('p',' '),('prop','name'),('op',':'),('p',' '),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('punc',',')], [('p',' '),('prop','colors'),('op',':'),('p',' '),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','Color'),('punc',',')], [], [('p',' '),('kw','pub'),('p',' '),('kw','fn'),('p',' '),('fnd','init'),('punc','('),('var','alloc'),('op',':'),('p',' '),('op','*'),('ty','Allocator'),('punc',')'),('p',' '),('op','!'),('bi','@This'),('punc','()'),('p',' '),('punc','{')], [('p',' '),('kw','const'),('p',' '),('var','colors'),('p',' '),('op','='),('p',' '),('kw','try'),('p',' '),('var','alloc'),('op','.'),('fnc','alloc'),('punc','('),('ty','Color'),('punc',','),('p',' '),('num','2'),('punc',')'),('punc',';')], [('p',' '),('var','colors'),('punc','['),('num','0'),('punc',']'),('p',' '),('op','='),('p',' '),('ty','Color'),('punc','{'),('p',' '),('prop','.name'),('p',' '),('op','='),('p',' '),('str','"bg"'),('punc',','),('p',' '),('prop','.hex'),('p',' '),('op','='),('p',' '),('str','"#0d0b0a"'),('p',' '),('punc','}'),('punc',';')], [('p',' '),('kw','return'),('p',' '),('bi','@This'),('punc','()'),('punc','{'),('p',' '),('prop','.name'),('p',' '),('op','='),('p',' '),('str','"dupre"'),('punc',','),('p',' '),('prop','.colors'),('p',' '),('op','='),('p',' '),('var','colors'),('p',' '),('punc','}'),('punc',';')], [('p',' '),('punc','}')], [('punc','}'),('punc',';')], [], [('kw','const'),('p',' '),('ty','Color'),('p',' '),('op','='),('p',' '),('kw','struct'),('p',' '),('punc','{'),('p',' '),('prop','name'),('op',':'),('p',' '),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('punc',','),('p',' '),('prop','hex'),('op',':'),('p',' '),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('p',' '),('punc','}'),('punc',';')], [], [('kw','fn'),('p',' '),('fnd','resolve'),('punc','('),('var','theme'),('op',':'),('p',' '),('ty','Theme'),('punc',','),('p',' '),('kw','comptime'),('p',' '),('var','key'),('op',':'),('p',' '),('punc','['),('punc',':'),('num','0'),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('punc',')'),('p',' '),('op','!'),('punc','['),('punc',']'),('kw','const'),('p',' '),('ty','u8'),('p',' '),('punc','{')], [('p',' '),('kw','inline'),('p',' '),('kw','for'),('p',' '),('punc','('),('var','theme'),('op','.'),('prop','colors'),('punc',')'),('p',' '),('op','|'),('var','color'),('op','|'),('p',' '),('punc','{')], [('p',' '),('kw','if'),('p',' '),('punc','('),('var','std'),('op','.'),('var','mem'),('op','.'),('fnc','eql'),('punc','('),('ty','u8'),('punc',','),('p',' '),('var','color'),('op','.'),('prop','name'),('punc',','),('p',' '),('var','key'),('punc',')'),('punc',')'),('p',' '),('kw','return'),('p',' '),('var','color'),('op','.'),('prop','hex'),('punc',';')], [('p',' '),('punc','}')], [('p',' '),('kw','return'),('p',' '),('con','error.MissingColor'),('punc',';')], [('punc','}')], [], [('kw','test'),('p',' '),('str','"resolve bg"'),('p',' '),('punc','{')], [('p',' '),('kw','var'),('p',' '),('var','arena'),('p',' '),('op','='),('p',' '),('var','std'),('op','.'),('var','heap'),('op','.'),('ty','ArenaAllocator'),('op','.'),('fnc','init'),('punc','('),('var','std'),('op','.'),('var','testing'),('op','.'),('prop','allocator'),('punc',')'),('punc',';')], [('p',' '),('kw','defer'),('p',' '),('var','arena'),('op','.'),('fnc','deinit'),('punc','()'),('punc',';')], [('p',' '),('kw','try'),('p',' '),('var','std'),('op','.'),('var','testing'),('op','.'),('fnc','expectEqualStrings'),('punc','('),('str','"#0d0b0a"'),('punc',','),('p',' '),('kw','try'),('p',' '),('fnc','resolve'),('punc','('),('kw','try'),('p',' '),('ty','Theme'),('op','.'),('fnc','init'),('punc','('),('op','&'),('var','arena'),('op','.'),('prop','allocator'),('punc',')'),('punc',','),('p',' '),('str','"bg"'),('punc','))'),('punc',';')], [('punc','}')], ] RACKETS=[ [('pp','#lang'),('p',' '),('pp','racket')], [], [('cmd',';;'),('p',' '),('cm','Compute Fibonacci numbers with memoization')], [('punc','('),('kw','require'),('p',' '),('var','racket/list'),('punc',')')], [], [('punc','('),('kw','define'),('p',' '),('punc','('),('fnd','fib'),('p',' '),('var','n'),('punc',')')], [('p',' '),('punc','('),('kw','cond'),('p',' ')], [('p',' '),('punc','[('),('bi','<'),('p',' '),('var','n'),('p',' '),('num','2'),('punc',')'),('p',' '),('var','n'),('punc',']')], [('p',' '),('punc','['),('con','else'),('p',' ')], [('p',' '),('punc','('),('bi','+'),('p',' '),('punc','('),('fnc','fib'),('p',' '),('punc','('),('bi','-'),('p',' '),('var','n'),('p',' '),('num','1'),('punc','))'),('p',' ')], [('p',' '),('punc','('),('fnc','fib'),('p',' '),('punc','('),('bi','-'),('p',' '),('var','n'),('p',' '),('num','2'),('punc',')))])]')], [], [('cmd',';;'),('p',' '),('cm','A point struct with two fields')], [('punc','('),('kw','struct'),('p',' '),('ty','point'),('p',' '),('punc','('),('prop','x'),('p',' '),('prop','y'),('punc',')'),('p',' '),('con','#:transparent'),('punc',')')], [], [('punc','('),('kw','define'),('p',' '),('var','origin'),('p',' '),('punc','('),('fnc','point'),('p',' '),('num','0'),('p',' '),('num','0'),('punc','))')], [], [('punc','('),('kw','define'),('p',' '),('var','nums'),('p',' '),('punc','('),('kw','quote'),('p',' '),('punc','('),('num','1'),('p',' '),('num','2'),('p',' '),('num','3'),('p',' '),('num','4'),('p',' '),('num','5'),('punc','))')], [], [('punc','('),('kw','define'),('p',' '),('var','squared'),('p',' ')], [('p',' '),('punc','('),('bi','map'),('p',' '),('punc','('),('kw','lambda'),('p',' '),('punc','('),('var','x'),('punc',')'),('p',' '),('punc','('),('bi','*'),('p',' '),('var','x'),('p',' '),('var','x'),('punc','))'),('p',' '),('var','nums'),('punc','))')], [], [('punc','('),('bi','printf'),('p',' '),('str','"squares: ~a\\n"'),('p',' '),('var','squared'),('punc',')')], [('punc','('),('bi','displayln'),('p',' '),('punc','('),('fnc','first'),('p',' '),('var','squared'),('punc','))')], ] SCHEMES=[ [('cmd',';;'),('p',' '),('cm','Tail-recursive factorial in Scheme')], [], [('punc','('),('kw','define'),('p',' '),('punc','('),('fnd','factorial'),('p',' '),('var','n'),('punc',')')], [('p',' '),('punc','('),('kw','let'),('p',' '),('fnd','loop'),('p',' '),('punc','(['),('var','acc'),('p',' '),('num','1'),('punc',']'),('p',' '),('punc','['),('var','i'),('p',' '),('var','n'),('punc','])')], [('p',' '),('punc','('),('kw','if'),('p',' '),('punc','('),('bi','='),('p',' '),('var','i'),('p',' '),('num','0'),('punc',')')], [('p',' '),('var','acc'),('p',' ')], [('p',' '),('punc','('),('fnc','loop'),('p',' '),('punc','('),('bi','*'),('p',' '),('var','acc'),('p',' '),('var','i'),('punc',')'),('p',' '),('punc','('),('bi','-'),('p',' '),('var','i'),('p',' '),('num','1'),('punc','))))')], [], [('cmd',';;'),('p',' '),('cm','Higher-order map over a quoted list')], [('punc','('),('kw','define'),('p',' '),('var','primes'),('p',' '),('punc','('),('kw','quote'),('p',' '),('punc','('),('num','2'),('p',' '),('num','3'),('p',' '),('num','5'),('p',' '),('num','7'),('p',' '),('num','11'),('punc','))')], [], [('punc','('),('kw','define'),('p',' '),('punc','('),('fnd','double'),('p',' '),('var','x'),('punc',')')], [('p',' '),('punc','('),('bi','*'),('p',' '),('var','x'),('p',' '),('num','2'),('punc',')')], [], [('punc','('),('kw','define'),('p',' '),('var','doubled'),('p',' '),('punc','('),('bi','map'),('p',' '),('var','double'),('p',' '),('var','primes'),('punc','))')], [], [('cmd',';;'),('p',' '),('cm','Predicate using cond and recursion')], [('punc','('),('kw','define'),('p',' '),('punc','('),('fnd','member?'),('p',' '),('var','x'),('p',' '),('var','lst'),('punc',')')], [('p',' '),('punc','('),('kw','cond'),('p',' ')], [('p',' '),('punc','[('),('bi','null?'),('p',' '),('var','lst'),('punc',')'),('p',' '),('con','#f'),('punc',']')], [('p',' '),('punc','[('),('bi','equal?'),('p',' '),('punc','('),('bi','car'),('p',' '),('var','lst'),('punc',')'),('p',' '),('var','x'),('punc',')'),('p',' '),('con','#t'),('punc',']')], [('p',' '),('punc','['),('con','else'),('p',' '),('punc','('),('fnc','member?'),('p',' '),('var','x'),('p',' '),('punc','('),('bi','cdr'),('p',' '),('var','lst'),('punc','))]'),('punc',')')], [], [('punc','('),('bi','display'),('p',' '),('punc','('),('fnc','member?'),('p',' '),('num','5'),('p',' '),('var','primes'),('punc','))')], [('punc','('),('bi','newline'),('punc',')')], ] HASKELLS=[ [('cmd','-- |'),('cm',' Compute statistics over a stream of samples.')], [('pp','{-# LANGUAGE ScopedTypeVariables #-}')], [('kw','module'),('p',' '),('ty','Stats'),('p',' '),('punc','('),('var','mean'),('punc',','),('p',' '),('var','variance'),('punc',')'),('p',' '),('kw','where')], [], [('kw','import'),('p',' '),('kw','qualified'),('p',' '),('ty','Data.List'),('p',' '),('kw','as'),('p',' '),('ty','L')], [], [('cmd','-- |'),('cm',' A labelled measurement.')], [('kw','data'),('p',' '),('ty','Sample'),('p',' '),('op','='),('p',' '),('ty','Sample')], [('p',' '),('p',' '),('punc','{'),('p',' '),('prop','label'),('p',' '),('op','::'),('p',' '),('ty','String')], [('p',' '),('p',' '),('punc',','),('p',' '),('prop','value'),('p',' '),('op','::'),('p',' '),('ty','Double')], [('p',' '),('p',' '),('punc','}'),('p',' '),('kw','deriving'),('p',' '),('punc','('),('ty','Show'),('punc',','),('p',' '),('ty','Eq'),('punc',')')], [], [('cmd','-- |'),('cm',' Arithmetic mean; returns 0 for an empty list.')], [('fnd','mean'),('p',' '),('op','::'),('p',' '),('punc','['),('ty','Double'),('punc',']'),('p',' '),('op','->'),('p',' '),('ty','Double')], [('fnd','mean'),('p',' '),('con','[]'),('p',' '),('op','='),('p',' '),('num','0')], [('fnd','mean'),('p',' '),('var','xs'),('p',' '),('op','='),('p',' '),('fnc','sum'),('p',' '),('var','xs'),('p',' '),('op','/'),('p',' '),('fnc','fromIntegral'),('p',' '),('punc','('),('fnc','length'),('p',' '),('var','xs'),('punc',')')], [], [('fnd','variance'),('p',' '),('op','::'),('p',' '),('punc','['),('ty','Double'),('punc',']'),('p',' '),('op','->'),('p',' '),('ty','Double')], [('fnd','variance'),('p',' '),('var','xs'),('p',' '),('op','='),('p',' '),('kw','let'),('p',' '),('var','m'),('p',' '),('op','='),('p',' '),('fnc','mean'),('p',' '),('var','xs')], [('p',' '),('kw','in'),('p',' '),('fnc','mean'),('p',' '),('punc','['),('p',' '),('punc','('),('var','x'),('p',' '),('op','-'),('p',' '),('var','m'),('punc',')'),('p',' '),('op','^'),('p',' '),('num','2'),('p',' '),('op','|'),('p',' '),('var','x'),('p',' '),('op','<-'),('p',' '),('var','xs'),('p',' '),('punc',']')], [], [('cmd','-- |'),('cm',' Demo entry point.')], [('fnd','main'),('p',' '),('op','::'),('p',' '),('ty','IO'),('p',' '),('punc','('),('punc',')')], [('fnd','main'),('p',' '),('op','='),('p',' '),('kw','do')], [('p',' '),('kw','let'),('p',' '),('var','samples'),('p',' '),('op','='),('p',' '),('punc','['),('num','1.0'),('punc',','),('p',' '),('num','2.5'),('punc',','),('p',' '),('num','3.5'),('punc',']')], [('p',' '),('fnc','putStrLn'),('p',' '),('punc','('),('str','"mean = "'),('p',' '),('op','++'),('p',' '),('fnc','show'),('p',' '),('punc','('),('fnc','mean'),('p',' '),('var','samples'),('punc','))')], ] OCAMLS=[ [('cmd','(*'),('cm',' Simple expression evaluator with variant types. '),('cmd','*)')], [], [('kw','type'),('p',' '),('ty','expr'),('p',' '),('op','=')], [('p',' '),('p',' '),('op','|'),('p',' '),('ty','Num'),('p',' '),('kw','of'),('p',' '),('ty','float')], [('p',' '),('p',' '),('op','|'),('p',' '),('ty','Var'),('p',' '),('kw','of'),('p',' '),('ty','string')], [('p',' '),('p',' '),('op','|'),('p',' '),('ty','Add'),('p',' '),('kw','of'),('p',' '),('ty','expr'),('p',' '),('op','*'),('p',' '),('ty','expr')], [('p',' '),('p',' '),('op','|'),('p',' '),('ty','Mul'),('p',' '),('kw','of'),('p',' '),('ty','expr'),('p',' '),('op','*'),('p',' '),('ty','expr')], [], [('cmd','(**'),('cm',' Evaluate [e] under environment [env]. '),('cmd','*)')], [('kw','let'),('p',' '),('kw','rec'),('p',' '),('fnd','eval'),('p',' '),('var','env'),('p',' '),('var','e'),('p',' '),('op','=')], [('p',' '),('kw','match'),('p',' '),('var','e'),('p',' '),('kw','with')], [('p',' '),('op','|'),('p',' '),('ty','Num'),('p',' '),('var','n'),('p',' '),('op','->'),('p',' '),('var','n')], [('p',' '),('op','|'),('p',' '),('ty','Var'),('p',' '),('var','x'),('p',' '),('op','->'),('p',' '),('ty','List'),('punc','.'),('fnc','assoc'),('p',' '),('var','x'),('p',' '),('var','env')], [('p',' '),('op','|'),('p',' '),('ty','Add'),('p',' '),('punc','('),('var','a'),('punc',','),('p',' '),('var','b'),('punc',')'),('p',' '),('op','->'),('p',' '),('fnc','eval'),('p',' '),('var','env'),('p',' '),('var','a'),('p',' '),('op','+.'),('p',' '),('fnc','eval'),('p',' '),('var','env'),('p',' '),('var','b')], [('p',' '),('op','|'),('p',' '),('ty','Mul'),('p',' '),('punc','('),('var','a'),('punc',','),('p',' '),('var','b'),('punc',')'),('p',' '),('op','->'),('p',' '),('fnc','eval'),('p',' '),('var','env'),('p',' '),('var','a'),('p',' '),('op','*.'),('p',' '),('fnc','eval'),('p',' '),('var','env'),('p',' '),('var','b')], [], [('kw','let'),('p',' '),('punc','()'),('p',' '),('op','='),('p',' '),('kw','let'),('p',' '),('var','env'),('p',' '),('op','='),('p',' '),('punc','['),('p',' '),('punc','('),('str','"x"'),('punc',','),('p',' '),('num','3.0'),('punc',')'),('p',' '),('punc',']'),('p',' '),('kw','in')], [('p',' '),('kw','let'),('p',' '),('var','e'),('p',' '),('op','='),('p',' '),('ty','Add'),('p',' '),('punc','('),('ty','Var'),('p',' '),('str','"x"'),('punc',','),('p',' '),('ty','Num'),('p',' '),('num','4.0'),('punc',')'),('p',' '),('kw','in')], [('p',' '),('ty','Printf'),('punc','.'),('fnc','printf'),('p',' '),('str','"result = %g\\n"'),('p',' '),('punc','('),('fnc','eval'),('p',' '),('var','env'),('p',' '),('var','e'),('punc',')')], ] SCALAS=[ [('cmd','//'),('cm',' Geometry helpers for 2D shapes')], [('kw','package'),('p',' '),('var','geometry')], [], [('kw','import'),('p',' '),('var','scala'),('op','.'),('var','math'),('op','.'),('fnc','sqrt')], [], [('dec','@inline'),('p',' '),('kw','final'),('p',' '),('kw','case'),('p',' '),('kw','class'),('p',' '),('ty','Point'),('punc','('),('kw','val'),('p',' '),('prop','x'),('op',':'),('p',' '),('ty','Double'),('punc',','),('p',' '),('kw','val'),('p',' '),('prop','y'),('op',':'),('p',' '),('ty','Double'),('punc',')'),('p',' '),('punc','{')], [('p',' '),('kw','def'),('p',' '),('fnd','distanceTo'),('punc','('),('var','that'),('op',':'),('p',' '),('ty','Point'),('punc',')'),('op',':'),('p',' '),('ty','Double'),('p',' '),('op','='),('p',' '),('punc','{')], [('p',' '),('kw','val'),('p',' '),('var','dx'),('p',' '),('op','='),('p',' '),('var','x'),('p',' '),('op','-'),('p',' '),('var','that'),('op','.'),('prop','x')], [('p',' '),('kw','val'),('p',' '),('var','dy'),('p',' '),('op','='),('p',' '),('var','y'),('p',' '),('op','-'),('p',' '),('var','that'),('op','.'),('prop','y')], [('p',' '),('fnc','sqrt'),('punc','('),('var','dx'),('p',' '),('op','*'),('p',' '),('var','dx'),('p',' '),('op','+'),('p',' '),('var','dy'),('p',' '),('op','*'),('p',' '),('var','dy'),('punc',')')], [('p',' '),('punc','}')], [('punc','}')], [], [('kw','object'),('p',' '),('ty','Geometry'),('p',' '),('punc','{')], [('p',' '),('kw','val'),('p',' '),('var','origin'),('p',' '),('op','='),('p',' '),('ty','Point'),('punc','('),('num','0.0'),('punc',','),('p',' '),('num','0.0'),('punc',')')], [('p',' '),('kw','val'),('p',' '),('var','pts'),('p',' '),('op','='),('p',' '),('ty','List'),('punc','('),('ty','Point'),('punc','('),('num','3.0'),('punc',','),('p',' '),('num','4.0'),('punc','),'),('p',' '),('ty','Point'),('punc','('),('num','1.0'),('punc',','),('p',' '),('num','2.0'),('punc','))')], [('p',' '),('kw','val'),('p',' '),('var','dists'),('p',' '),('op','='),('p',' '),('kw','for'),('p',' '),('punc','('),('var','p'),('p',' '),('op','<-'),('p',' '),('var','pts'),('punc',')'),('p',' '),('kw','yield'),('p',' '),('var','origin'),('op','.'),('fnc','distanceTo'),('punc','('),('var','p'),('punc',')')], [], [('p',' '),('kw','def'),('p',' '),('fnd','main'),('punc','('),('var','args'),('op',':'),('p',' '),('ty','Array'),('punc','['),('ty','String'),('punc',']'),('punc',')'),('op',':'),('p',' '),('ty','Unit'),('p',' '),('op','='),('p',' '),('punc','{')], [('p',' '),('var','dists'),('op','.'),('fnc','foreach'),('punc','('),('var','d'),('p',' '),('op','=>'),('p',' '),('fnc','println'),('punc','('),('str','s"dist = $d"'),('punc',')'),('punc',')')], [('p',' '),('kw','val'),('p',' '),('var','ok'),('p',' '),('op','='),('p',' '),('var','dists'),('op','.'),('fnc','nonEmpty'),('p',' '),('op','&&'),('p',' '),('con','true')], [('p',' '),('punc','}')], [('punc','}')], ] KOTLINS=[ [('cmd','//'),('cm',' User repository with a simple cache')], [('kw','package'),('p',' '),('var','com'),('op','.'),('var','example'),('op','.'),('var','data')], [], [('kw','import'),('p',' '),('var','kotlin'),('op','.'),('var','collections'),('op','.'),('var','mutableMapOf')], [], [('kw','data'),('p',' '),('kw','class'),('p',' '),('ty','User'),('punc','('),('kw','val'),('p',' '),('prop','id'),('op',':'),('p',' '),('ty','Int'),('punc',','),('p',' '),('kw','val'),('p',' '),('prop','name'),('op',':'),('p',' '),('ty','String'),('punc',')')], [], [('kw','class'),('p',' '),('ty','UserRepo'),('p',' '),('punc','{')], [('p',' '),('kw','private'),('p',' '),('kw','val'),('p',' '),('var','cache'),('p',' '),('op','='),('p',' '),('bi','mutableMapOf'),('punc','<'),('ty','Int'),('punc',','),('p',' '),('ty','User'),('punc','>'),('punc','()')], [], [('p',' '),('dec','@JvmStatic'),('p',' ')], [('p',' '),('kw','fun'),('p',' '),('fnd','findById'),('punc','('),('var','id'),('op',':'),('p',' '),('ty','Int'),('punc',')'),('op',':'),('p',' '),('ty','User'),('op','?'),('p',' '),('op','='),('p',' '),('var','cache'),('punc','['),('var','id'),('punc',']')], [], [('p',' '),('kw','fun'),('p',' '),('fnd','save'),('punc','('),('var','user'),('op',':'),('p',' '),('ty','User'),('punc',')'),('p',' '),('punc','{')], [('p',' '),('var','cache'),('punc','['),('var','user'),('op','.'),('prop','id'),('punc',']'),('p',' '),('op','='),('p',' '),('var','user')], [('p',' '),('bi','println'),('punc','('),('str','"saved '),('esc','\\n'),('str','"'),('p',' '),('op','+'),('p',' '),('var','user'),('op','.'),('prop','name'),('punc',')')], [('p',' '),('punc','}')], [('punc','}')], [], [('kw','fun'),('p',' '),('fnd','main'),('punc','()'),('p',' '),('punc','{')], [('p',' '),('kw','val'),('p',' '),('var','repo'),('p',' '),('op','='),('p',' '),('ty','UserRepo'),('punc','()')], [('p',' '),('var','repo'),('op','.'),('fnc','save'),('punc','('),('ty','User'),('punc','('),('num','1'),('punc',','),('p',' '),('str','"Ada"'),('punc','))')], [('p',' '),('kw','val'),('p',' '),('var','found'),('p',' '),('op','='),('p',' '),('var','repo'),('op','.'),('fnc','findById'),('punc','('),('num','1'),('punc',')'),('p',' '),('op','?:'),('p',' '),('kw','return')], [('p',' '),('bi','println'),('punc','('),('var','found'),('punc',')')], [('punc','}')], ] SWIFTS=[ [('cmd','//'),('cm',' Account model with balance guard')], [('kw','import'),('p',' '),('ty','Foundation')], [], [('dec','@frozen'),('p',' ')], [('kw','struct'),('p',' '),('ty','Account'),('p',' '),('punc','{')], [('p',' '),('kw','let'),('p',' '),('prop','id'),('op',':'),('p',' '),('ty','Int')], [('p',' '),('kw','var'),('p',' '),('prop','balance'),('op',':'),('p',' '),('ty','Double'),('p',' '),('op','='),('p',' '),('num','0.0')], [], [('p',' '),('kw','func'),('p',' '),('fnd','withdraw'),('punc','('),('var','amount'),('op',':'),('p',' '),('ty','Double'),('punc',')'),('p',' '),('op','->'),('p',' '),('ty','Bool'),('p',' '),('punc','{')], [('p',' '),('kw','guard'),('p',' '),('var','amount'),('p',' '),('op','<='),('p',' '),('prop','balance'),('p',' '),('kw','else'),('p',' '),('punc','{')], [('p',' '),('kw','return'),('p',' '),('con','false')], [('p',' '),('punc','}')], [('p',' '),('prop','balance'),('p',' '),('op','-='),('p',' '),('var','amount')], [('p',' '),('kw','return'),('p',' '),('con','true')], [('p',' '),('punc','}')], [('punc','}')], [], [('kw','let'),('p',' '),('var','acct'),('p',' '),('op','='),('p',' '),('ty','Account'),('punc','('),('var','id'),('op',':'),('p',' '),('num','7'),('punc',','),('p',' '),('var','balance'),('op',':'),('p',' '),('num','100.0'),('punc',')')], [('kw','var'),('p',' '),('var','copy'),('p',' '),('op','='),('p',' '),('var','acct')], [('kw','let'),('p',' '),('var','ok'),('p',' '),('op','='),('p',' '),('var','copy'),('op','.'),('fnc','withdraw'),('punc','('),('var','amount'),('op',':'),('p',' '),('num','30.0'),('punc',')')], [('bi','print'),('punc','('),('str','"acct ok="'),('punc',','),('p',' '),('var','ok'),('punc',')')], ] LUAS=[ [('cmd','--'),('cm',' Account module: balances and transfers')], [('kw','local'),('p',' '),('ty','Account'),('op','='),('punc','{}')], [('ty','Account'),('punc','.'),('prop','__index'),('op','='),('ty','Account')], [], [('kw','local'),('p',' '),('var','rates'),('op','='),('p',' '),('punc','{'),('str','"usd"'),('op','='),('num','1.0'),('punc',','),('p',' '),('str','"eur"'),('op','='),('num','0.92'),('punc','}')], [], [('kw','function'),('p',' '),('ty','Account'),('op','.'),('fnd','new'),('punc','('),('var','name'),('punc',','),('p',' '),('var','balance'),('punc',')')], [('p',' '),('kw','local'),('p',' '),('var','self'),('op','='),('p',' '),('fnc','setmetatable'),('punc','('),('punc','{}'),('punc',','),('p',' '),('ty','Account'),('punc',')')], [('p',' '),('var','self'),('punc','.'),('prop','name'),('op','='),('var','name')], [('p',' '),('var','self'),('punc','.'),('prop','balance'),('op','='),('p',' '),('var','balance'),('p',' '),('kw','or'),('p',' '),('num','0')], [('p',' '),('kw','return'),('p',' '),('var','self')], [('kw','end')], [], [('kw','function'),('p',' '),('ty','Account'),('op',':'),('fnd','report'),('punc','()')], [('p',' '),('kw','for'),('p',' '),('var','code'),('punc',','),('p',' '),('var','rate'),('p',' '),('kw','in'),('p',' '),('bi','pairs'),('punc','('),('var','rates'),('punc',')'),('p',' '),('kw','do')], [('p',' '),('bi','print'),('punc','('),('var','code'),('punc',','),('p',' '),('var','self'),('punc','.'),('prop','balance'),('p',' '),('op','*'),('p',' '),('var','rate'),('punc',')')], [('p',' '),('kw','end')], [('p',' '),('kw','if'),('p',' '),('var','self'),('punc','.'),('prop','balance'),('p',' '),('op','=='),('p',' '),('num','0'),('p',' '),('kw','then')], [('p',' '),('kw','return'),('p',' '),('con','nil')], [('p',' '),('kw','end')], [('p',' '),('kw','return'),('p',' '),('con','true')], [('kw','end')], ] RUBYS=[ [('cmd','#'),('cm',' Inventory tracker with tagged items')], [('kw','class'),('p',' '),('ty','Inventory')], [('p',' '),('kw','def'),('p',' '),('fnd','initialize'),('punc','('),('var','items'),('p',' '),('op','='),('p',' '),('punc','[]'),('punc',')')], [('p',' '),('var','@items'),('p',' '),('op','='),('p',' '),('var','items')], [('p',' '),('var','@tags'),('p',' '),('op','='),('p',' '),('punc','{'),('prop','sku:'),('p',' '),('con','nil'),('punc','}')], [('p',' '),('kw','end')], [], [('p',' '),('kw','def'),('p',' '),('fnd','add'),('punc','('),('var','name'),('punc',','),('p',' '),('var','price'),('punc',')')], [('p',' '),('kw','return'),('p',' '),('con','false'),('p',' '),('kw','unless'),('p',' '),('var','name'),('p',' '),('op','=~'),('p',' '),('re','/\\A\\w+\\z/')], [('p',' '),('var','@items'),('p',' '),('op','<<'),('p',' '),('punc','{'),('p',' '),('prop','name:'),('p',' '),('var','name'),('punc',','),('p',' '),('prop','price:'),('p',' '),('var','price'),('p',' '),('punc','}')], [('p',' '),('kw','end')], [], [('p',' '),('kw','def'),('p',' '),('fnd','total'),('punc','('),('var','tax'),('p',' '),('op','='),('p',' '),('num','0.08'),('punc',')')], [('p',' '),('var','sum'),('p',' '),('op','='),('p',' '),('num','0')], [('p',' '),('var','@items'),('punc','.'),('fnc','each'),('p',' '),('kw','do'),('p',' '),('punc','|'),('var','item'),('punc','|')], [('p',' '),('var','sum'),('p',' '),('op','+='),('p',' '),('var','item'),('punc','['),('prop',':price'),('punc',']')], [('p',' '),('kw','end')], [('p',' '),('bi','printf'),('punc','('),('str','"total: %.2f\\n"'),('punc',','),('p',' '),('var','sum'),('p',' '),('op','*'),('p',' '),('punc','('),('num','1'),('p',' '),('op','+'),('p',' '),('var','tax'),('punc','))')], [('p',' '),('kw','end')], [('kw','end')], ] PERLS=[ [('cmd','#'),('cm','!/usr/bin/perl')], [('kw','use'),('p',' '),('pp','strict'),('punc',';')], [('kw','use'),('p',' '),('pp','warnings'),('punc',';')], [], [('cmd','#'),('cm',' Parse a config line into a hash')], [('kw','sub'),('p',' '),('fnd','parse_config'),('p',' '),('punc','{')], [('p',' '),('kw','my'),('p',' '),('punc','('),('var','$line'),('punc',')'),('p',' '),('op','='),('p',' '),('var','@_'),('punc',';')], [('p',' '),('kw','my'),('p',' '),('var','%conf'),('p',' '),('op','='),('p',' '),('punc','()'),('punc',';')], [], [('p',' '),('kw','if'),('p',' '),('punc','('),('var','$line'),('p',' '),('op','=~'),('p',' '),('re','/^(\\w+)\\s*=\\s*(.+)$/'),('punc',')'),('p',' '),('punc','{')], [('p',' '),('var','$conf'),('punc','{'),('var','$1'),('punc','}'),('p',' '),('op','='),('p',' '),('var','$2'),('punc',';')], [('p',' '),('punc','}')], [], [('p',' '),('kw','return'),('p',' '),('op','\\'),('var','%conf'),('punc',';')], [('punc','}')], [], [('kw','my'),('p',' '),('var','$ref'),('p',' '),('op','='),('p',' '),('fnc','parse_config'),('punc','('),('str','"host = localhost"'),('punc',')'),('punc',';')], [('kw','my'),('p',' '),('var','@keys'),('p',' '),('op','='),('p',' '),('bi','keys'),('p',' '),('var','%$ref'),('punc',';')], [('bi','print'),('p',' '),('var','@keys'),('punc',';')], ] RLANGS=[ [('cmd','#'),('cm',' Summarize sales by region and fit a model')], [('var','library'),('punc','('),('bi','dplyr'),('punc',')')], [], [('var','sales'),('p',' '),('op','<-'),('p',' '),('fnc','read.csv'),('punc','('),('str','"sales.csv"'),('punc',','),('p',' '),('prop','stringsAsFactors'),('p',' '),('op','='),('p',' '),('con','FALSE'),('punc',')')], [('var','regions'),('p',' '),('op','<-'),('p',' '),('bi','c'),('punc','('),('str','"North"'),('punc',','),('p',' '),('str','"South"'),('punc',','),('p',' '),('str','"East"'),('punc',','),('p',' '),('str','"West"'),('punc',')')], [], [('cmd','#'),('cm',' Compute mean revenue per region')], [('fnd','summarize_region'),('p',' '),('op','<-'),('p',' '),('kw','function'),('punc','('),('var','df'),('punc',','),('p',' '),('var','reg'),('punc',')'),('p',' '),('punc','{')], [('p',' '),('var','subset'),('p',' '),('op','<-'),('p',' '),('var','df'),('punc','['),('var','df'),('op','$'),('prop','region'),('p',' '),('op','=='),('p',' '),('var','reg'),('punc',','),('p',' '),('punc',']')], [('p',' '),('kw','if'),('p',' '),('punc','('),('fnc','nrow'),('punc','('),('var','subset'),('punc',')'),('p',' '),('op','=='),('p',' '),('num','0'),('punc',')'),('p',' '),('punc','{')], [('p',' '),('kw','return'),('punc','('),('con','NA'),('punc',')')], [('p',' '),('punc','}')], [('p',' '),('fnc','mean'),('punc','('),('var','subset'),('op','$'),('prop','revenue'),('punc',','),('p',' '),('prop','na.rm'),('p',' '),('op','='),('p',' '),('con','TRUE'),('punc',')')], [('punc','}')], [], [('var','means'),('p',' '),('op','<-'),('p',' '),('fnc','sapply'),('punc','('),('var','regions'),('punc',','),('p',' '),('kw','function'),('punc','('),('var','r'),('punc',')'),('p',' '),('fnc','summarize_region'),('punc','('),('var','sales'),('punc',','),('p',' '),('var','r'),('punc',')'),('punc',')')], [('var','sales'),('p',' '),('op','%>%'),('p',' '),('fnc','filter'),('punc','('),('prop','revenue'),('p',' '),('op','>'),('p',' '),('num','1000'),('punc',')'),('p',' '),('op','%>%'),('p',' '),('fnc','head'),('punc','('),('num','5'),('punc',')')], [], [('var','model'),('p',' '),('op','<-'),('p',' '),('fnc','lm'),('punc','('),('prop','revenue'),('p',' '),('op','~'),('p',' '),('prop','units'),('p',' '),('op','+'),('p',' '),('prop','region'),('punc',','),('p',' '),('prop','data'),('p',' '),('op','='),('p',' '),('var','sales'),('punc',')')], [('fnc','print'),('punc','('),('fnc','summary'),('punc','('),('var','model'),('punc',')'),('punc',')')], ] ERLANGS=[ [('cmd','%'),('cm',' Bank account server with pattern matching')], [('pp','-module'),('punc','('),('ty','bank'),('punc',').')], [('pp','-export'),('punc','(['),('fnc','start'),('op','/'),('num','0'),('punc',','),('p',' '),('fnc','balance'),('op','/'),('num','1'),('punc','])'),('punc','.')], [], [('fnd','start'),('punc','()'),('p',' '),('op','->')], [('p',' '),('fnc','spawn'),('punc','('),('kw','fun'),('punc','()'),('p',' '),('op','->'),('p',' '),('fnc','loop'),('punc','('),('num','0'),('punc',')'),('p',' '),('kw','end'),('punc',').')], [], [('fnd','loop'),('punc','('),('var','Balance'),('punc',')'),('p',' '),('op','->')], [('p',' '),('kw','receive')], [('p',' '),('punc','{'),('con','deposit'),('punc',','),('p',' '),('var','Amount'),('punc','}'),('p',' '),('kw','when'),('p',' '),('var','Amount'),('p',' '),('op','>'),('p',' '),('num','0'),('p',' '),('op','->')], [('p',' '),('fnc','loop'),('punc','('),('var','Balance'),('p',' '),('op','+'),('p',' '),('var','Amount'),('punc',')'),('punc',';')], [('p',' '),('punc','{'),('con','withdraw'),('punc',','),('p',' '),('var','Amount'),('punc','}'),('p',' '),('op','->')], [('p',' '),('fnc','loop'),('punc','('),('var','Balance'),('p',' '),('op','-'),('p',' '),('var','Amount'),('punc',')'),('punc',';')], [('p',' '),('punc','{'),('con','balance'),('punc',','),('p',' '),('var','From'),('punc','}'),('p',' '),('op','->')], [('p',' '),('var','From'),('p',' '),('op','!'),('p',' '),('punc','{'),('con','ok'),('punc',','),('p',' '),('var','Balance'),('punc','}'),('punc',','),('p',' '),('fnc','loop'),('punc','('),('var','Balance'),('punc',')')], [('p',' '),('kw','end'),('punc','.')], [], [('fnd','balance'),('punc','('),('var','Pid'),('punc',')'),('p',' '),('op','->')], [('p',' '),('var','Pid'),('p',' '),('op','!'),('p',' '),('punc','{'),('con','balance'),('punc',','),('p',' '),('fnc','self'),('punc','()'),('punc','}'),('punc',','),('p',' '),('kw','receive'),('p',' '),('punc','{'),('con','ok'),('punc',','),('p',' '),('var','B'),('punc','}'),('p',' '),('op','->'),('p',' '),('var','B'),('p',' '),('kw','end'),('punc','.')], ] SQLS=[ [('cmd','-- '),('cm','Monthly revenue by active customer')], [('kw','SELECT'),('p',' '),('prop','c.id'),('punc',','),('p',' '),('prop','c.name'),('punc',',')], [('p',' '),('bi','COUNT'),('punc','('),('prop','o.id'),('punc',')'),('p',' '),('kw','AS'),('p',' '),('var','order_count'),('punc',',')], [('p',' '),('bi','COALESCE'),('punc','('),('bi','SUM'),('punc','('),('prop','o.total'),('punc','),'),('p',' '),('num','0'),('punc',')'),('p',' '),('kw','AS'),('p',' '),('var','revenue')], [('kw','FROM'),('p',' '),('prop','customers'),('p',' '),('var','c')], [('kw','JOIN'),('p',' '),('prop','orders'),('p',' '),('var','o'),('p',' '),('kw','ON'),('p',' '),('prop','o.customer_id'),('p',' '),('op','='),('p',' '),('prop','c.id')], [('kw','WHERE'),('p',' '),('prop','c.active'),('p',' '),('op','='),('p',' '),('con','TRUE')], [('p',' '),('kw','AND'),('p',' '),('prop','o.created_at'),('p',' '),('op','>='),('p',' '),('str',"'2024-01-01'")], [('p',' '),('kw','AND'),('p',' '),('prop','o.status'),('p',' '),('op','<>'),('p',' '),('con','NULL')], [('kw','GROUP BY'),('p',' '),('prop','c.id'),('punc',','),('p',' '),('prop','c.name')], [('kw','HAVING'),('p',' '),('bi','COUNT'),('punc','('),('prop','o.id'),('punc',')'),('p',' '),('op','>'),('p',' '),('num','5')], [('kw','ORDER BY'),('p',' '),('var','revenue'),('p',' '),('kw','DESC')], [('kw','LIMIT'),('p',' '),('num','25'),('punc',';')], [], [('cmd','-- '),('cm','Flag stale accounts for review')], [('kw','UPDATE'),('p',' '),('prop','customers')], [('kw','SET'),('p',' '),('prop','status'),('p',' '),('op','='),('p',' '),('str',"'dormant'")], [('kw','WHERE'),('p',' '),('prop','last_login'),('p',' '),('op','<'),('p',' '),('bi','CURRENT_DATE'),('p',' '),('op','-'),('p',' '),('kw','INTERVAL'),('p',' '),('str',"'90 days'")], [('p',' '),('kw','AND'),('p',' '),('prop','active'),('p',' '),('op','='),('p',' '),('con','FALSE'),('punc',';')], ] PHPS=[ [('pp',''),('p',' '),('var','$i'),('op','['),('str',"'price'"),('op',']'),('punc',','),('p',' '),('var','$items'),('punc',')'),('punc',';')], [('p',' '),('var','$subtotal'),('p',' '),('op','='),('p',' '),('bi','array_sum'),('punc','('),('var','$prices'),('punc',')'),('punc',';')], [], [('p',' '),('kw','if'),('p',' '),('punc','('),('var','$subtotal'),('p',' '),('op','==='),('p',' '),('num','0'),('punc',')'),('p',' '),('punc','{')], [('p',' '),('kw','return'),('p',' '),('num','0.0'),('punc',';')], [('p',' '),('punc','}')], [], [('p',' '),('var','$total'),('p',' '),('op','='),('p',' '),('var','$subtotal'),('p',' '),('op','*'),('p',' '),('punc','('),('num','1'),('p',' '),('op','+'),('p',' '),('var','$this'),('op','->'),('prop','taxRate'),('punc',')'),('punc',';')], [('p',' '),('fnc','printf'),('punc','('),('str','"Total: %.2f\\n"'),('punc',','),('p',' '),('var','$total'),('punc',')'),('punc',';')], [('p',' '),('kw','return'),('p',' '),('var','$total'),('punc',';')], [('p',' '),('punc','}')], [('punc','}')], ] ADAS=[ [('cmd','-- '),('cm','Compute factorial and print the result')], [('pp','with'),('p',' '),('var','Ada.Text_IO'),('punc',';')], [('pp','use'),('p',' '),('var','Ada.Text_IO'),('punc',';')], [], [('kw','procedure'),('p',' '),('fnd','Factorial_Demo'),('p',' '),('kw','is')], [('p',' '),('var','N'),('p',' '),('punc',':'),('p',' '),('ty','Integer'),('p',' '),('op',':='),('p',' '),('num','5'),('punc',';')], [('p',' '),('var','Result'),('p',' '),('punc',':'),('p',' '),('ty','Integer'),('p',' '),('op',':='),('p',' '),('num','1'),('punc',';')], [('kw','begin')], [('p',' '),('kw','for'),('p',' '),('var','I'),('p',' '),('kw','in'),('p',' '),('num','1'),('p',' '),('op','..'),('p',' '),('var','N'),('p',' '),('kw','loop')], [('p',' '),('var','Result'),('p',' '),('op',':='),('p',' '),('var','Result'),('p',' '),('op','*'),('p',' '),('var','I'),('punc',';')], [('p',' '),('kw','end'),('p',' '),('kw','loop'),('punc',';')], [], [('p',' '),('kw','if'),('p',' '),('var','Result'),('p',' '),('op','>'),('p',' '),('num','0'),('p',' '),('kw','then')], [('p',' '),('bi','Put_Line'),('punc','('),('str','"Factorial = "'),('p',' '),('op','&'),('p',' '),('var','Integer'),('punc',"'"),('var','Image'),('punc','('),('var','Result'),('punc','))'),('punc',';')], [('p',' '),('kw','end'),('p',' '),('kw','if'),('punc',';')], [('kw','end'),('p',' '),('fnd','Factorial_Demo'),('punc',';')], ] FORTRANS=[ [('cmd','! '),('cm','Sum the elements of an array')], [('kw','program'),('p',' '),('fnd','array_sum')], [('p',' '),('kw','implicit none')], [('p',' '),('ty','integer'),('p',' '),('punc','::'),('p',' '),('var','i'),('punc',','),('p',' '),('var','n')], [('p',' '),('ty','real'),('punc','('),('var','kind'),('op','='),('num','8'),('punc',')'),('p',' '),('punc','::'),('p',' '),('var','total')], [('p',' '),('ty','real'),('punc','('),('var','kind'),('op','='),('num','8'),('punc',')'),('punc',','),('p',' '),('kw','dimension'),('punc','('),('num','5'),('punc',')'),('p',' '),('punc','::'),('p',' '),('var','a')], [], [('p',' '),('var','n'),('p',' '),('op','='),('p',' '),('num','5')], [('p',' '),('var','total'),('p',' '),('op','='),('p',' '),('num','0.0')], [('p',' '),('var','a'),('p',' '),('op','='),('p',' '),('punc','['),('num','1.0'),('punc',','),('p',' '),('num','2.0'),('punc',','),('p',' '),('num','3.0'),('punc',','),('p',' '),('num','4.0'),('punc',','),('p',' '),('num','5.0'),('punc',']')], [], [('p',' '),('kw','do'),('p',' '),('var','i'),('p',' '),('op','='),('p',' '),('num','1'),('punc',','),('p',' '),('var','n')], [('p',' '),('var','total'),('p',' '),('op','='),('p',' '),('var','total'),('p',' '),('op','+'),('p',' '),('var','a'),('punc','('),('var','i'),('punc',')')], [('p',' '),('kw','end do')], [], [('p',' '),('bi','print'),('p',' '),('op','*'),('punc',','),('p',' '),('str','"Sum = "'),('punc',','),('p',' '),('var','total')], [('kw','end program'),('p',' '),('fnd','array_sum')], ] MATLABS=[ [('cmd','% '),('cm','Normalize a vector and report its length')], [('kw','function'),('p',' '),('var','out'),('p',' '),('op','='),('p',' '),('fnd','normalize_vec'),('punc','('),('var','v'),('punc',')')], [('p',' '),('var','n'),('p',' '),('op','='),('p',' '),('bi','length'),('punc','('),('var','v'),('punc',')'),('punc',';')], [('p',' '),('var','acc'),('p',' '),('op','='),('p',' '),('num','0'),('punc',';')], [], [('p',' '),('kw','for'),('p',' '),('var','i'),('p',' '),('op','='),('p',' '),('num','1'),('op',':'),('var','n')], [('p',' '),('var','acc'),('p',' '),('op','='),('p',' '),('var','acc'),('p',' '),('op','+'),('p',' '),('var','v'),('punc','('),('var','i'),('punc',')'),('op','^'),('num','2'),('punc',';')], [('p',' '),('kw','end')], [], [('p',' '),('var','mag'),('p',' '),('op','='),('p',' '),('bi','sqrt'),('punc','('),('var','acc'),('punc',')'),('punc',';')], [('p',' '),('kw','if'),('p',' '),('var','mag'),('p',' '),('op','=='),('p',' '),('num','0')], [('p',' '),('var','out'),('p',' '),('op','='),('p',' '),('bi','zeros'),('punc','('),('bi','size'),('punc','('),('var','v'),('punc',')'),('punc',')'),('punc',';')], [('p',' '),('kw','else')], [('p',' '),('var','out'),('p',' '),('op','='),('p',' '),('var','v'),('p',' '),('op','/'),('p',' '),('var','mag'),('punc',';')], [('p',' '),('kw','end')], [], [('p',' '),('bi','disp'),('punc','('),('str','"vector length:"'),('punc',')'),('punc',';')], [('p',' '),('bi','disp'),('punc','('),('var','n'),('punc',')'),('punc',';')], [('kw','end')], ] ASMS=[ [('cmd',';'),('cm',' print a greeting via the write syscall')], [('pp','section'),('p',' '),('pp','.data')], [('p',' '),('var','msg'),('p',' '),('pp','db'),('p',' '),('str','"Hello, world!"'),('punc',','),('p',' '),('num','0xA')], [('p',' '),('con','msglen'),('p',' '),('pp','equ'),('p',' '),('var','$'),('p',' '),('op','-'),('p',' '),('var','msg')], [], [('pp','section'),('p',' '),('pp','.text')], [('p',' '),('bi','global'),('p',' '),('fnc','_start')], [], [('fnd','_start'),('punc',':')], [('p',' '),('kw','mov'),('p',' '),('var','rax'),('punc',','),('p',' '),('num','1'),('p',' '),('cmd',';'),('cm',' sys_write')], [('p',' '),('kw','mov'),('p',' '),('var','rdi'),('punc',','),('p',' '),('num','1'),('p',' '),('cmd',';'),('cm',' stdout')], [('p',' '),('kw','lea'),('p',' '),('var','rsi'),('punc',','),('p',' '),('punc','['),('var','rel'),('p',' '),('var','msg'),('punc',']')], [('p',' '),('kw','mov'),('p',' '),('var','rdx'),('punc',','),('p',' '),('con','msglen')], [('p',' '),('kw','syscall')], [], [('p',' '),('kw','mov'),('p',' '),('var','rax'),('punc',','),('p',' '),('num','60'),('p',' '),('cmd',';'),('cm',' sys_exit')], [('p',' '),('kw','xor'),('p',' '),('var','rdi'),('punc',','),('p',' '),('var','rdi'),('p',' '),('cmd',';'),('cm',' status 0')], [('p',' '),('kw','syscall')], ] # THEME_STUDIO_DATA_END: generate.py execs only the lines above this marker (the # code samples and COLS). Everything below is the standalone /tmp/dupre-canon.html # preview generator, run only when samples.py is executed directly. cols="".join(f'

{n}

{render(s)}
' for n,s in [("Elisp",ELS),("Go",GOS),("Python",PYS),("TypeScript",TSS),("Java",JAS),("C",CS),("C++",CPS),("Rust",RUSTS),("Zig",ZIGS),("Shell",SHS)]) legend_rows=[ ("keyword (bold)","kw","class def if return import"),("builtin","bi","len range print"), ("function — definition (bold)","fnd","resolve cache-get push"),("function — call","fnc","get append fmt.Errorf"), ("decorator / attribute","dec","@dataclass @Injectable"),("type / class","ty","str dict Order Queue boolean"), ("property / field / key","prop","name colors items id re"),("constant","con","None nil true MaxItems :test"), ("number","num","8080 100 42 0"),("string","str",'"dupre" "fmt" `id`'),("escape","esc",r'\t \n'), ("regexp","re",'/^#[0-9a-f]{6}$/i'),("docstring","doc",'"""..." "Memo table."'), ("comment","cm","# reject nil // fallback"),("comment delimiter","cmd","# // ;; /*"), ("variable / use","var","v key self q console"),("operator","op",": = -> | == === . *"), ("punctuation / bracket","punc","{ } ( ) [ ] , ;"), ] def lrow(label,k,ex): c,b=COLS[k] return f'{NAMES.get(c,"")}{c}{label}{esc(ex)}' legend="".join(lrow(l,k,e) for l,k,e in legend_rows) def grp(title,items): sw="".join(f'
{n}
{h}
' for n,h in items) return f'
{title}
{sw}
' palette=(grp("ground / foreground",[("ground","#0d0b0a"),("bg-dim","#1a1714"),("fg","#cdced1")]) + grp("syntax hues",[("blue · keyword","#67809c"),("gold · variable","#e8bd30"),("regal · type","#9b5fd0"),("emerald · string","#2ba178"),("terracotta · const/num","#cb6b4d"),("tan · comment","#be9e74")]) + grp("metallic greyscale (structural)",[("gunmetal","#2f343a"),("metal","#474e56"),("pewter","#5e6770"),("steel · property","#838d97"),("silver · fn/op/punct","#a9b2bb"),("bright · fg","#cdced1")]) + grp("special green + fills",[("muted emerald · doc/regexp","#5d9b86"),("navy fill","#264364"),("gunmetal fill","#2f343a")])) html=f'''dupre revision — canonical

code samples

{cols}

color → tree-sitter category assignment — click a header to sort

{legend}
color △hex △category △example

palette

{palette}\n''' with open("/tmp/dupre-canon.html","w") as out: out.write(html) print("wrote /tmp/dupre-canon.html")