-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtokens.py
19 lines (14 loc) · 10.6 KB
/
tokens.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random
tokens = ['!', '"', '#', '$', '%', '&', '’', '*', '+', ',', '-', '.', '/', ';', '=', '>', '@cclv', '@cclvi', '@crfalse', '@crtrue', '@foot', '@if', '@ins', '@lign', '@m', '@M', '@midfalse', '@midtrue', '@MM', '@ne', '@nother', '@penup', '@sf', '@vereq', 'aa', 'AA', 'above', 'abovedisplayshortskip', 'abovedisplayskip', 'abovewithdelims', 'accent', 'active', 'acute', 'adjdemerits', 'advance', 'advancepageno', 'ae', 'AE', 'afterassignment', 'aftergroup', 'aleph', 'alloc@', 'allocationnumber', 'allowbreak', 'alpha', 'amalg', 'angle', 'approx', 'arccos', 'arcsin', 'arctan', 'arg', 'arrowvert', 'Arrowvert', 'ast', 'asymp', 'atop', 'atopwithdelims', 'b', 'backslash', 'badness', 'bar', 'baselineskip', 'batchmode', 'begingroup', 'beginsection', 'belowdisplayshortskip', 'belowdisplayskip', 'beta', 'bf', 'bffam', 'bgroup', 'big', 'Big', 'bigbreak', 'bigcap', 'bigcirc', 'bigcup', 'bigg', 'Bigg', 'biggl', 'Biggl', 'biggm', 'Biggm', 'biggr', 'Biggr', 'bigl', 'Bigl', 'bigm', 'Bigm', 'bigodot', 'bigoplus', 'bigotimes', 'bigr', 'Bigr', 'bigskip', 'bigskipamount', 'bigsqcup', 'bigtriangledown', 'bigtriangleup', 'biguplus', 'bigvee', 'bigwedge', 'binoppenalty', 'bmod', 'body', 'bordermatrix', 'bot', 'botmark', 'bowtie', 'box', 'box255', 'boxmaxdepth', 'brace', 'braceld', 'bracelu', 'bracerd', 'braceru', 'bracevert', 'brack', 'break', 'breve', 'brokenpenalty', 'buildrel', 'bullet', 'bye', 'c', 'c@ncel', 'cal', 'cap', 'cases', 'catcode', 'cdot', 'cdotp', 'cdots', 'centering', 'centerline', 'ch@ck', 'char', 'chardef', 'check', 'chi', 'choose', 'circ', 'cleaders', 'cleartabs', 'closein', 'closeout', 'clubpenalty', 'clubsuit', 'colon', 'columns', 'cong', 'coprod', 'copy', 'copyright', 'cos', 'cosh', 'cot', 'coth', 'count', 'count@', 'count0', 'pageno', 'countdef', 'cr', 'crcr', 'csc', 'csname', 'cup', 'd', 'dag', 'dagger', 'dashv', 'day', 'ddag', 'ddagger', 'ddot', 'ddots', 'deadcycles', 'def', 'defaulthyphenchar', 'defaultskewchar', 'deg', 'delcode', 'delimiter', 'delimiterfactor', 'delimitershortfall', 'delta', 'Delta', 'det', 'diamond', 'diamondsuit', 'dim', 'dimen', 'dimen@', 'dimen@i', 'dimen@ii', 'dimendef', 'discretionary', 'displ@y', 'displayindent', 'displaylimits', 'displaylines', 'displaystyle', 'displaywidowpenalty', 'displaywidth', 'div', 'divide', 'do', 'dospecials', 'dosupereject', 'dot', 'doteq', 'dotfill', 'dots', 'doublehyphendemerits', 'downarrow', 'Downarrow', 'downbracefill', 'dp', 'dt@pfalse', 'dt@ptrue', 'dump', 'edef', 'egroup', 'eject', 'ell', 'else', 'emergencystretch', 'empty', 'emptyset', 'end', 'endcsname', 'endgraf', 'endgroup', 'endinput', 'endinsert', 'endline', 'endlinechar', 'enskip', 'enspace', 'epsilon', 'eqalign', 'eqalignno', 'eqno', 'equiv', 'errhelp', 'errmessage', 'errorcontextlines', 'errorstopmode', 'escapechar', 'eta', 'everycr', 'everydisplay', 'everyhbox', 'everyjob', 'everymath', 'everypar', 'everyvbox', 'exhyphenpenalty', 'exists', 'exp', 'expandafter', 'f@@t', 'f@t', 'fam', 'fi', 'filbreak', 'finalhyphendemerits', 'finph@nt', 'finsm@sh', 'firstmark', 'fivebf', 'fivei', 'fiverm', 'fivesy', 'flat', 'floatingpenalty', 'fmtname', 'fmtversion', 'fo@t', 'folio', 'font', 'fontdimen', 'fontname', 'footins', 'footline', 'footnote', 'footnoterule', 'footstrut', 'forall', 'frenchspacing', 'frown', 'futurelet', 'gamma', 'Gamma', 'gcd', 'gdef', 'ge', 'geq', 'gets', 'gg', 'global', 'globaldefs', 'goodbreak', 'grave', 'H', 'h@false', 'h@true', 'halign', 'hang', 'hangafter', 'hangindent', 'hat', 'hbadness', 'hbar', 'hbox', 'headline', 'heartsuit', 'hfil', 'hfill', 'hfilneg', 'hfuzz', 'hgl@', 'hglue', 'hideskip', 'hidewidth', 'hoffset', 'holdinginserts', 'hom', 'hookleftarrow', 'hookrightarrow', 'hphantom', 'hrule', 'hrulefill', 'hsize', 'hskip', 'hss', 'ht', 'hyphenation', 'hyphenchar', 'hyphenpenalty', 'i', 'ialign', 'if', 'if@', 'if@cr', 'if@mid', 'ifcase', 'ifcat', 'ifdim', 'ifdt@p', 'ifeof', 'iff', 'iffalse', 'ifh@', 'ifhbox', 'ifhmode', 'ifinner', 'ifmmode', 'ifnum', 'ifodd', 'ifp@ge', 'ifr@ggedbottom', 'iftrue', 'ifus@', 'ifv@', 'ifvbox', 'ifvmode', 'ifvoid', 'ifx', 'ignorespaces', 'Im', 'imath', 'immediate', 'in', 'indent', 'inf', 'infty', 'input', 'inputlineno', 'insc@unt', 'insert', 'insertpenalties', 'int', 'interdisplaylinepenalty', 'interfootnotelinepenalty', 'interlinepenalty', 'intop', 'iota', 'it', 'item', 'itemitem', 'iterate', 'itfam', 'j', 'jmath', 'jobname', 'joinrel', 'jot', 'kappa', 'ker', 'kern', 'l', 'L', 'lambda', 'Lambda', 'land', 'langle', 'language', 'lastbox', 'lastkern', 'lastpenalty', 'lastskip', 'lbrace', 'lbrack', 'lccode', 'lceil', 'ldotp', 'ldots', 'le', 'leaders', 'leavevmode', 'left', 'leftarrow', 'Leftarrow', 'leftarrowfill', 'leftharpoondown', 'leftharpoonup', 'lefthyphenmin', 'leftline', 'leftrightarrow', 'Leftrightarrow', 'leftskip', 'leq', 'leqalignno', 'leqno', 'let', 'lfloor', 'lg', 'lgroup', 'lhook', 'lim', 'liminf', 'limits', 'limsup', 'line', 'linepenalty', 'lineskip', 'lineskiplimit', 'll', 'llap', 'lmoustache', 'ln', 'lnot', 'log', 'long', 'longleftarrow', 'Longleftarrow', 'longleftrightarrow', 'Longleftrightarrow', 'longmapsto', 'longrightarrow', 'Longrightarrow', 'loop', 'looseness', 'lor', 'lower', 'lowercase', 'lq', 'm@g', 'm@ketabbox', 'm@ne', 'm@th', 'mag', 'magnification', 'magstep', 'magstephalf', 'makefootline', 'makeheadline', 'makeph@nt', 'makesm@sh', 'mapsto', 'mapstochar', 'mark', 'mathaccent', 'mathbin', 'mathchar', 'mathchardef', 'mathchoice', 'mathclose', 'mathcode', 'mathhexbox', 'mathinner', 'mathop', 'mathopen', 'mathord', 'mathpalette', 'mathph@nt', 'mathpunct', 'mathrel', 'mathsm@sh', 'mathstrut', 'mathsurround', 'matrix', 'max', 'maxdeadcycles', 'maxdepth', 'maxdimen', 'meaning', 'medbreak', 'medmuskip', 'medskip', 'medskipamount', 'message', 'mid', 'midinsert', 'min', 'mit', 'mkern', 'models', 'month', 'moveleft', 'moveright', 'mp', 'mscount', 'mskip', 'mu', 'multiply', 'multispan', 'muskip', 'muskipdef', 'n@space', 'nabla', 'narrower', 'natural', 'ne', 'nearrow', 'neg', 'negthinspace', 'neq', 'newbox', 'newcount', 'newdimen', 'newfam', 'newhelp', 'newif', 'newinsert', 'newlanguage', 'newlinechar', 'newmuskip', 'newread', 'newskip', 'newtoks', 'newwrite', 'next', 'ni', 'noalign', 'noboundary', 'nobreak', 'noexpand', 'noindent', 'nointerlineskip', 'nolimits', 'nonfrenchspacing', 'nonscript', 'nonstopmode', 'nopagenumbers', 'normalbaselines', 'normalbaselineskip', 'normalbottom', 'normallineskip', 'normallineskiplimit', 'not', 'notin', 'nu', 'null', 'nulldelimiterspace', 'nullfont', 'number', 'nwarrow', 'o', 'O', 'oalign', 'obeylines', 'obeyspaces', 'odot', 'oe', 'OE', 'of', 'offinterlineskip', 'oint', 'ointop', 'oldstyle', 'omega', 'Omega', 'ominus', 'omit', 'ooalign', 'openin', 'openout', 'openup', 'oplus', 'or', 'oslash', 'otimes', 'outer', 'output', 'outputpenalty', 'over', 'overbrace', 'overfullrule', 'overleftarrow', 'overline', 'overrightarrow', 'overwithdelims', 'owns', 'P', 'p@', 'p@gefalse', 'p@getrue', 'p@renwd', 'pagebody', 'pagecontents', 'pagedepth', 'pagefilllstretch', 'pagefillstretch', 'pagefilstretch', 'pagegoal', 'pageinsert', 'pageno', 'pageshrink', 'pagestretch', 'pagetotal', 'par', 'parallel', 'parfillskip', 'parindent', 'parshape', 'parskip', 'partial', 'patterns', 'pausing', 'penalty', 'perp', 'ph@nt', 'phantom', 'phi', 'Phi', 'pi', 'Pi', 'plainoutput', 'pm', 'pmatrix', 'pmod', 'postdisplaypenalty', 'Pr', 'pr@@@s', 'pr@@@t', 'pr@m@s', 'prec', 'preceq', 'predisplaypenalty', 'predisplaysize', 'preloaded', 'pretolerance', 'prevdepth', 'prevgraf', 'prim@s', 'prime', 'proclaim', 'prod', 'propto', 'psi', 'Psi', 'qquad', 'quad', 'r@@t', 'r@ggedbottomfalse', 'r@ggedbottomtrue', 'radical', 'raggedbottom', 'raggedright', 'raise', 'rangle', 'rbrace', 'rbrack', 'rceil', 'Re', 'read', 'relax', 'relbar', 'Relbar', 'relpenalty', 'removelastskip', 'repeat', 'rfloor', 'rgroup', 'rho', 'rhook', 'right', 'rightarrow', 'Rightarrow', 'rightarrowfill', 'rightharpoondown', 'rightharpoonup', 'righthyphenmin', 'rightleftharpoons', 'rightline', 'rightskip', 'rlap', 'rlh@', 'rm', 'rmoustache', 'romannumeral', 'root', 'rootbox', 'rq', 'S', 's@tcols', 's@tt@b', 'sb', 'scriptfont', 'scriptscriptfont', 'scriptscriptstyle', 'scriptspace', 'scriptstyle', 'scrollmode', 'searrow', 'sec', 'setbox', 'setlanguage', 'setminus', 'sett@b', 'settabs', 'sevenbf', 'seveni', 'sevenrm', 'sevensy', 'sfcode', 'sharp', 'shipout', 'show', 'showbox', 'showboxbreadth', 'showboxdepth', 'showhyphens', 'showlists', 'showthe', 'sigma', 'Sigma', 'sim', 'simeq', 'sin', 'sinh', 'sixt@@n', 'skew', 'skewchar', 'skip', 'skip@', 'skipdef', 'sl', 'slash', 'slfam', 'smallbreak', 'smallint', 'smallskip', 'smallskipamount', 'smash', 'smile', 'sp', 'sp@n', 'space', 'spacefactor', 'spaceskip', 'spadesuit', 'span', 'special', 'splitbotmark', 'splitfirstmark', 'splitmaxdepth', 'splittopskip', 'sqcap', 'sqcup', 'sqrt', 'sqsubseteq', 'sqsupseteq', 'ss', 'star', 'string', 'strut', 'strutbox', 'subset', 'subseteq', 'succ', 'succeq', 'sum', 'sup', 'supereject', 'supset', 'supseteq', 'surd', 'swarrow', 't', 't@bb@x', 't@bbox', 'tabalign', 'tabs', 'tabsdone', 'tabskip', 'tabsyet', 'tan', 'tanh', 'tau', 'tenbf', 'tenex', 'teni', 'tenit', 'tenrm', 'tensl', 'tensy', 'tentt', 'TeX', 'textfont', 'textindent', 'textstyle', 'the', 'theta', 'Theta', 'thickmuskip', 'thinmuskip', 'thinspace', 'thr@@', 'tilde', 'time', 'times', 'to', 'toks', 'toks@', 'toksdef', 'tolerance', 'top', 'topglue', 'topins', 'topinsert', 'topmark', 'topskip', 'tracingall', 'tracingcommands', 'tracinglostchars', 'tracingmacros', 'tracingonline', 'tracingoutput', 'tracingpages', 'tracingparagraphs', 'tracingrestores', 'tracingstats', 'triangle', 'triangleleft', 'triangleright', 'tt', 'ttfam', 'ttraggedright', 'tw@', 'u', 'uccode', 'uchyph', 'undefined', 'underbar', 'underbrace', 'underline', 'unhbox', 'unhcopy', 'unkern', 'unpenalty', 'unskip', 'unvbox', 'unvcopy', 'uparrow', 'Uparrow', 'upbracefill', 'updownarrow', 'Updownarrow', 'uplus', 'uppercase', 'upsilon', 'Upsilon', 'us@false', 'us@true', 'v', 'v@false', 'v@true', 'vadjust', 'valign', 'varepsilon', 'varphi', 'varpi', 'varrho', 'varsigma', 'vartheta', 'vbadness', 'vbox', 'vcenter', 'vdash', 'vdots', 'vec', 'vee', 'vert', 'Vert', 'vfil', 'vfill', 'vfilneg', 'vfootnote', 'vfuzz', 'vgl@', 'vglue', 'voffset', 'voidb@x', 'vphantom', 'vrule', 'vsize', 'vskip', 'vsplit', 'vss', 'vtop', 'wd', 'wedge', 'widehat', 'widetilde', 'widowpenalty', 'wlog', 'wp', 'wr', 'write', 'xdef', 'xi', 'Xi', 'xleaders', 'xspaceskip', 'year', 'z@', 'z@skip', 'zeta', '^', '^^L', '^^M', '_', '‘', '{', '|', '}', '~']
def pick():
open_brak = False
v = random.choice(tokens)
x = random.randrange(9)
if x > 5:
token = bytes('(backslash)' + v + '{', 'utf-8')
open_brak = True
elif x > 2:
token = bytes('(backslash)' + v + ' ', 'utf-8')
else:
token = bytes('(backslash)' + v, 'utf-8')
return token, open_brak