diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:55:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:55:26 +0000 |
commit | c46a8cff75c54bb399a1879724c1ae8a37b13d66 (patch) | |
tree | 87a7949b16876363f6f43316b0443598fe5d4708 /Master/texmf-dist/tex/latex/expl3/l3precom.sty | |
parent | c13c9fba05d6822e236462817e8c1f95f220988b (diff) |
expl3
git-svn-id: svn://tug.org/texlive/trunk@897 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/expl3/l3precom.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/expl3/l3precom.sty | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/l3precom.sty b/Master/texmf-dist/tex/latex/expl3/l3precom.sty new file mode 100644 index 00000000000..f1ccdd9086d --- /dev/null +++ b/Master/texmf-dist/tex/latex/expl3/l3precom.sty @@ -0,0 +1,115 @@ +%% +%% This is file `l3precom.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3precom.dtx (with options: `package,precompile,trace') +%% +%% +%% EXPERIMENTAL CODE +%% +%% Do not distribute this file without also distributing the +%% source files specified above. +%% +%% Do not distribute a modified version of this file. +%% +%% +%% File: l3precom.dtx Copyright (C) 1990-1998 LaTeX3 project +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{l3precom} + [1998/04/20 v1.0b L3 Experimental precompilation module] +\RequirePackage{l3int} +\RequirePackage{l3io} +\RequirePackage{l3seq} +\iow_new:N\c_cs_dump_stream +\tlp_new:Nn\g_cs_dump_name_tlp{} +\seq_new:N\g_cs_dump_seq +\def_new:Npn\cs_record_name:N#1{ + \seq_gput_left:Nn + \g_cs_trace_seq#1 + \seq_gput_left:Nn + \g_cs_dump_seq#1} +\def_new:Npn\cs_record_name:c{\exp_args:Nc\cs_record_name:N} +\def_new:Npn\cs_dump:{ + \iow_expanded_term:n{Precompiling~style~into~(\g_cs_dump_name_tlp)} + \iow_open:Nn\c_cs_dump_stream{\g_cs_dump_name_tlp} + \iow_expanded:Nn\c_cs_dump_stream + {\group_begin: + \tex_catcode:D`\token_to_string:N\*=11\scan_stop: + \token_to_string:N\CodeStart + } + \seq_map_inline:Nn + \g_cs_dump_seq + {\tex_message:D{.} + \iow_expanded:Nn\c_cs_dump_stream + {\token_to_string:N\gdef:Npn + \token_to_string:N##1 + {\tlp_to_str:N##1}} + } + \iow_expanded:Nn + \c_cs_dump_stream + {\token_to_string:N\fint_gset:Nn + \g_gen_sym_fint + {\fint_use:N\g_gen_sym_fint}^^J + \token_to_string:N\fint_gset:Nn + \g_ggen_sym_fint + {\fint_use:N\g_ggen_sym_fint}} + \iow_expanded:Nn + \c_cs_dump_stream + {\group_end:} + \iow_close:N\c_cs_dump_stream + \tex_message:D{~finished} +} +\def_new:Npn\cs_load_dump:n#1{ + \file_not_found:nTF{#1.cmp} + {\tlp_gset:Nn\g_cs_dump_name_tlp{#1.cmp}} + {\input{#1.cmp} + \let:NN\cs_dump:\fi: + \if_false:}} +\fint_new:N\g_gen_sym_fint +\fint_gset:Nn\g_gen_sym_fint{0} +\fint_new:N\g_ggen_sym_fint +\fint_gset:Nn\g_ggen_sym_fint{0} +\def_new:Npn\cs_gen_sym:N#1{ + \fint_gincr:N\g_gen_sym_fint + \tlp_set:Nc#1{l*\tex_romannumeral:D\fint_use:N\g_gen_sym_fint} + \exp_after:NN\cs_record_name:N#1 + \exp_after:NN\tlp_clear_new:N#1} +\def_new:Npn\cs_ggen_sym:N#1{ + \fint_gincr:N\g_ggen_sym_fint + \tlp_set:Nc#1{g*\tex_romannumeral:D\fint_use:N\g_ggen_sym_fint} + \exp_after:NN\cs_record_name:N#1 + \exp_after:NN\tlp_clear_new:N#1} +\seq_new:N\g_cs_trace_seq +\seq_new:N\g_register_trace_seq +\def:Npn\cs_record_meaning:N#1{ + \seq_gput_left:Nn + \g_cs_trace_seq#1} +\def:Npn\register_record_name:N#1{ + \seq_gput_left:Nn + \g_register_trace_seq#1} +\def_new:Npn\dumpLaTeXstate#1{ + \iow_expanded_term:n{Dumping~commands~into~(#1.dmp)} + \iow_open:Nn\c_cs_dump_stream{#1.dmp} + \seq_map_inline:Nn + \g_cs_trace_seq + {\tex_message:D{.} + \iow_expanded:Nn\c_cs_dump_stream + {\token_to_string:N##1~ + \token_to_meaning:N##1} + } + \tex_message:D{~registers} + \seq_map_inline:Nn + \g_register_trace_seq + {\tex_message:D{.} + \iow_expanded:Nn\c_cs_dump_stream + {\token_to_string:N##1 + \the_internal:D##1} + } + \tex_message:D{~finished} +} + +%% +%% +%% End of file `l3precom.sty'. |