aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/samples.py
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-20 06:33:44 -0400
committerCraig Jennings <c@cjennings.net>2026-06-20 06:33:44 -0400
commit309b1e9ad288f26452a955ac77296a22fa4705ae (patch)
tree701b0f26dc29fdba3e0435d2def795501d749870 /scripts/theme-studio/samples.py
parent7382bf53ba0682928c92599660f0e43fc915d9a4 (diff)
downloaddotemacs-309b1e9ad288f26452a955ac77296a22fa4705ae.tar.gz
dotemacs-309b1e9ad288f26452a955ac77296a22fa4705ae.zip
feat(theme-studio): add 18 language previews
Add tokenized code samples for Racket, Scheme, Haskell, OCaml, Scala, Kotlin, Swift, Lua, Ruby, Perl, R, Erlang, SQL, PHP, Ada, Fortran, MATLAB, and Assembly, wired into the language dropdown. Each is an idiomatic snippet tagged by syntax category so the studio renders it in the assignment colors. A guard test checks every added language is registered and renders a non-trivial sample.
Diffstat (limited to 'scripts/theme-studio/samples.py')
-rw-r--r--scripts/theme-studio/samples.py413
1 files changed, 413 insertions, 0 deletions
diff --git a/scripts/theme-studio/samples.py b/scripts/theme-studio/samples.py
index 02605e75b..585fff04c 100644
--- a/scripts/theme-studio/samples.py
+++ b/scripts/theme-studio/samples.py
@@ -288,6 +288,419 @@ ZIGS=[
[('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','<?php')],
+ [('kw','namespace'),('p',' '),('ty','App\\Service'),('punc',';')],
+ [],
+ [('cmd','/** '),('doc','Computes invoice totals. */')],
+ [('dec','#[Service]')],
+ [('kw','class'),('p',' '),('ty','InvoiceCalculator')],
+ [('punc','{')],
+ [('p',' '),('kw','public'),('p',' '),('ty','float'),('p',' '),('var','$taxRate'),('p',' '),('op','='),('p',' '),('num','0.0825'),('punc',';')],
+ [],
+ [('p',' '),('kw','public'),('p',' '),('kw','function'),('p',' '),('fnd','total'),('punc','('),('kw','array'),('p',' '),('var','$items'),('punc',')'),('op',':'),('p',' '),('ty','float')],
+ [('p',' '),('punc','{')],
+ [('p',' '),('cmd','// '),('cm','sum each line item')],
+ [('p',' '),('var','$prices'),('p',' '),('op','='),('p',' '),('bi','array_map'),('punc','('),('kw','fn'),('punc','('),('var','$i'),('punc',')'),('p',' '),('op','=>'),('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.