├── .gitignore ├── LICENSE ├── README.md ├── benchmarks ├── grep-2.2 │ ├── ABOUT-NLS │ ├── AUTHORS │ ├── COPYING │ ├── ChangeLog │ ├── INSTALL │ ├── Makefile │ ├── Makefile.am │ ├── Makefile.in │ ├── NEWS │ ├── README │ ├── THANKS │ ├── TODO │ ├── acconfig.h │ ├── aclocal.m4 │ ├── config.cache │ ├── config.guess │ ├── config.h │ ├── config.h.in │ ├── config.log │ ├── config.status │ ├── configure │ ├── configure.in │ ├── djgpp │ │ ├── README │ │ ├── config.bat │ │ ├── config.h │ │ ├── intl.mak │ │ ├── main.mak │ │ ├── po.mak │ │ ├── po2tbl.sed │ │ ├── src.mak │ │ └── tests.mak │ ├── install-sh │ ├── intl │ │ ├── ChangeLog │ │ ├── Makefile │ │ ├── Makefile.in │ │ ├── VERSION │ │ ├── bindtextdom.c │ │ ├── cat-compat.c │ │ ├── dcgettext.c │ │ ├── dgettext.c │ │ ├── explodename.c │ │ ├── finddomain.c │ │ ├── gettext.c │ │ ├── gettext.h │ │ ├── gettextP.h │ │ ├── hash-string.h │ │ ├── intl-compat.c │ │ ├── l10nflist.c │ │ ├── libgettext.h │ │ ├── libintl.h │ │ ├── linux-msg.sed │ │ ├── loadinfo.h │ │ ├── loadmsgcat.c │ │ ├── localealias.c │ │ ├── po2tbl.sed │ │ ├── po2tbl.sed.in │ │ ├── textdomain.c │ │ └── xopen-msg.sed │ ├── missing │ ├── mkinstalldirs │ ├── po │ │ ├── ChangeLog │ │ ├── Makefile │ │ ├── Makefile.in │ │ ├── Makefile.in.in │ │ ├── POTFILES │ │ ├── POTFILES.in │ │ ├── cat-id-tbl.c │ │ ├── de.gmo │ │ ├── de.po │ │ ├── es.gmo │ │ ├── es.po │ │ ├── fr.gmo │ │ ├── fr.po │ │ ├── grep.pot │ │ ├── ko.gmo │ │ ├── ko.po │ │ ├── nl.gmo │ │ ├── nl.po │ │ ├── no.gmo │ │ ├── no.po │ │ ├── pl.gmo │ │ ├── pl.po │ │ ├── ru.gmo │ │ ├── ru.po │ │ ├── sl.gmo │ │ ├── sl.po │ │ ├── stamp-cat-id │ │ ├── sv.gmo │ │ └── sv.po │ ├── src │ │ ├── Makefile.CREST │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── alloca.c │ │ ├── btowc.c │ │ ├── dfa.c │ │ ├── dfa.h │ │ ├── dosbuf.c │ │ ├── egrep.man │ │ ├── fgrep.man │ │ ├── getopt.c │ │ ├── getopt.h │ │ ├── getopt1.c │ │ ├── getpagesize.h │ │ ├── grep.1 │ │ ├── grep.c │ │ ├── grep.h │ │ ├── idcount │ │ ├── kwset.c │ │ ├── kwset.h │ │ ├── memchr.c │ │ ├── obstack.c │ │ ├── obstack.h │ │ ├── regex.c │ │ ├── regex.h │ │ ├── search.c │ │ └── system.h │ ├── stamp-h │ ├── stamp-h.in │ ├── tests │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── empty.sh │ │ ├── khadafy.lines │ │ ├── khadafy.regexp │ │ ├── khadafy.sh │ │ ├── scriptgen.awk │ │ ├── spencer1.sh │ │ ├── spencer1.tests │ │ ├── spencer2.sh │ │ ├── spencer2.tests │ │ ├── status.sh │ │ └── warning.sh │ └── vms │ │ ├── README │ │ └── make.com ├── replace │ └── replace.c └── vim-5.7 │ ├── Makefile │ ├── README.txt │ ├── README_CREST.txt │ ├── README_src.txt │ ├── README_unix.txt │ ├── configure │ ├── pixmaps │ ├── alert.xpm │ ├── error.xpm │ ├── generic.xpm │ ├── info.xpm │ ├── quest.xpm │ ├── tb_blank.xpm │ ├── tb_close.xpm │ ├── tb_copy.xpm │ ├── tb_ctags.xpm │ ├── tb_cut.xpm │ ├── tb_exit.xpm │ ├── tb_find.xpm │ ├── tb_find_help.xpm │ ├── tb_find_next.xpm │ ├── tb_find_prev.xpm │ ├── tb_help.xpm │ ├── tb_jump.xpm │ ├── tb_load_session.xpm │ ├── tb_macro.xpm │ ├── tb_make.xpm │ ├── tb_maximize.xpm │ ├── tb_minimize.xpm │ ├── tb_new.xpm │ ├── tb_new_session.xpm │ ├── tb_open.xpm │ ├── tb_paste.xpm │ ├── tb_print.xpm │ ├── tb_redo.xpm │ ├── tb_replace.xpm │ ├── tb_save.xpm │ ├── tb_save_all.xpm │ ├── tb_save_session.xpm │ ├── tb_shell.xpm │ ├── tb_split.xpm │ └── tb_undo.xpm │ ├── runtime │ ├── bugreport.vim │ ├── doc │ │ ├── Makefile │ │ ├── autocmd.txt │ │ ├── change.txt │ │ ├── cmdline.txt │ │ ├── develop.txt │ │ ├── digraph.txt │ │ ├── doctags.c │ │ ├── editing.txt │ │ ├── eval.txt │ │ ├── farsi.txt │ │ ├── gui.txt │ │ ├── gui_w32.txt │ │ ├── gui_x11.txt │ │ ├── hangulin.txt │ │ ├── help.txt │ │ ├── howto.txt │ │ ├── if_cscope.txt │ │ ├── if_ole.txt │ │ ├── if_perl.txt │ │ ├── if_python.txt │ │ ├── if_sniff.txt │ │ ├── if_tcl.txt │ │ ├── index.txt │ │ ├── insert.txt │ │ ├── intro.txt │ │ ├── makehtml.awk │ │ ├── maketags.awk │ │ ├── map.txt │ │ ├── message.txt │ │ ├── motion.txt │ │ ├── multibyte.txt │ │ ├── options.txt │ │ ├── os_amiga.txt │ │ ├── os_beos.txt │ │ ├── os_dos.txt │ │ ├── os_mac.txt │ │ ├── os_mint.txt │ │ ├── os_msdos.txt │ │ ├── os_os2.txt │ │ ├── os_riscos.txt │ │ ├── os_unix.txt │ │ ├── os_vms.txt │ │ ├── os_win32.txt │ │ ├── pattern.txt │ │ ├── quickfix.txt │ │ ├── quotes.txt │ │ ├── recover.txt │ │ ├── repeat.txt │ │ ├── rightleft.txt │ │ ├── scroll.txt │ │ ├── starting.txt │ │ ├── syntax.txt │ │ ├── tags │ │ ├── tagsearch.txt │ │ ├── term.txt │ │ ├── tips.txt │ │ ├── todo.txt │ │ ├── uganda.txt │ │ ├── undo.txt │ │ ├── various.txt │ │ ├── version4.txt │ │ ├── version5.txt │ │ ├── vi_diff.txt │ │ ├── vim.1 │ │ ├── vim2html.pl │ │ ├── vimtutor.1 │ │ ├── visual.txt │ │ ├── windows.txt │ │ └── xxd.1 │ ├── filetype.vim │ ├── ftoff.vim │ ├── gvimrc_example.vim │ ├── macros │ │ ├── README.txt │ │ ├── diffwin.vim │ │ ├── dvorak │ │ ├── explorer.vim │ │ ├── hanoi │ │ │ ├── click.me │ │ │ ├── hanoi.vim │ │ │ └── poster │ │ ├── html │ │ ├── justify.vim │ │ ├── life │ │ │ ├── click.me │ │ │ └── life.vim │ │ ├── maze │ │ │ ├── Makefile │ │ │ ├── README.txt │ │ │ ├── maze.c │ │ │ ├── maze_5.78 │ │ │ ├── maze_mac │ │ │ ├── mazeansi.c │ │ │ └── poster │ │ ├── shellmenu.vim │ │ ├── swapmous.vim │ │ └── urm │ │ │ ├── README.txt │ │ │ ├── examples │ │ │ ├── urm │ │ │ └── urm.vim │ ├── menu.vim │ ├── mswin.vim │ ├── optwin.vim │ ├── scripts.vim │ ├── syntax │ │ ├── 2html.vim │ │ ├── README.txt │ │ ├── abaqus.vim │ │ ├── abc.vim │ │ ├── abel.vim │ │ ├── ada.vim │ │ ├── ahdl.vim │ │ ├── amiga.vim │ │ ├── aml.vim │ │ ├── apache.vim │ │ ├── apachestyle.vim │ │ ├── asm.vim │ │ ├── asmh8300.vim │ │ ├── asn.vim │ │ ├── aspperl.vim │ │ ├── aspvbs.vim │ │ ├── atlas.vim │ │ ├── ave.vim │ │ ├── awk.vim │ │ ├── basic.vim │ │ ├── bc.vim │ │ ├── bib.vim │ │ ├── btm.vim │ │ ├── c.vim │ │ ├── cf.vim │ │ ├── ch.vim │ │ ├── change.vim │ │ ├── clean.vim │ │ ├── clipper.vim │ │ ├── cobol.vim │ │ ├── colortest.vim │ │ ├── conf.vim │ │ ├── config.vim │ │ ├── cpp.vim │ │ ├── csh.vim │ │ ├── csp.vim │ │ ├── css.vim │ │ ├── cterm.vim │ │ ├── ctrlh.vim │ │ ├── cupl.vim │ │ ├── cuplsim.vim │ │ ├── cvs.vim │ │ ├── cweb.vim │ │ ├── dcl.vim │ │ ├── def.vim │ │ ├── diff.vim │ │ ├── diva.vim │ │ ├── dosbatch.vim │ │ ├── dosini.vim │ │ ├── dracula.vim │ │ ├── dtd.vim │ │ ├── eiffel.vim │ │ ├── elf.vim │ │ ├── elmfilt.vim │ │ ├── erlang.vim │ │ ├── esqlc.vim │ │ ├── expect.vim │ │ ├── exports.vim │ │ ├── focexec.vim │ │ ├── form.vim │ │ ├── forth.vim │ │ ├── fortran.vim │ │ ├── fvwm.vim │ │ ├── gdb.vim │ │ ├── gdmo.vim │ │ ├── gedcom.vim │ │ ├── gnuplot.vim │ │ ├── gp.vim │ │ ├── haskell.vim │ │ ├── hb.vim │ │ ├── help.vim │ │ ├── hitest.vim │ │ ├── html.vim │ │ ├── htmlm4.vim │ │ ├── icon.vim │ │ ├── idl.vim │ │ ├── idlang.vim │ │ ├── inform.vim │ │ ├── ishd.vim │ │ ├── ist.vim │ │ ├── java.vim │ │ ├── javacc.vim │ │ ├── javascript.vim │ │ ├── jgraph.vim │ │ ├── jproperties.vim │ │ ├── jsp.vim │ │ ├── kscript.vim │ │ ├── kwt.vim │ │ ├── lace.vim │ │ ├── latte.vim │ │ ├── lex.vim │ │ ├── lhaskell.vim │ │ ├── lilo.vim │ │ ├── lisp.vim │ │ ├── lite.vim │ │ ├── lotos.vim │ │ ├── lout.vim │ │ ├── lss.vim │ │ ├── lua.vim │ │ ├── m4.vim │ │ ├── mail.vim │ │ ├── make.vim │ │ ├── man.vim │ │ ├── manual.vim │ │ ├── maple.vim │ │ ├── masm.vim │ │ ├── master.vim │ │ ├── matlab.vim │ │ ├── mel.vim │ │ ├── mf.vim │ │ ├── mib.vim │ │ ├── model.vim │ │ ├── modsim3.vim │ │ ├── modula2.vim │ │ ├── modula3.vim │ │ ├── mp.vim │ │ ├── msql.vim │ │ ├── muttrc.vim │ │ ├── nasm.vim │ │ ├── nastran.vim │ │ ├── ncf.vim │ │ ├── nosyntax.vim │ │ ├── nroff.vim │ │ ├── objc.vim │ │ ├── ocaml.vim │ │ ├── opl.vim │ │ ├── ora.vim │ │ ├── pascal.vim │ │ ├── pcap.vim │ │ ├── pccts.vim │ │ ├── perl.vim │ │ ├── php3.vim │ │ ├── phtml.vim │ │ ├── pike.vim │ │ ├── pine.vim │ │ ├── plsql.vim │ │ ├── po.vim │ │ ├── pod.vim │ │ ├── postscr.vim │ │ ├── pov.vim │ │ ├── procmail.vim │ │ ├── prolog.vim │ │ ├── ptcap.vim │ │ ├── purifylog.vim │ │ ├── python.vim │ │ ├── radiance.vim │ │ ├── rc.vim │ │ ├── rcslog.vim │ │ ├── rebol.vim │ │ ├── remind.vim │ │ ├── rexx.vim │ │ ├── rpcgen.vim │ │ ├── ruby.vim │ │ ├── samba.vim │ │ ├── sas.vim │ │ ├── sather.vim │ │ ├── scheme.vim │ │ ├── sdl.vim │ │ ├── sed.vim │ │ ├── sgml.vim │ │ ├── sgmllnx.vim │ │ ├── sh.vim │ │ ├── sicad.vim │ │ ├── simula.vim │ │ ├── skill.vim │ │ ├── sl.vim │ │ ├── slang.vim │ │ ├── slrnrc.vim │ │ ├── slrnsc.vim │ │ ├── sm.vim │ │ ├── smil.vim │ │ ├── sml.vim │ │ ├── snnsnet.vim │ │ ├── snnspat.vim │ │ ├── snnsres.vim │ │ ├── spec.vim │ │ ├── spice.vim │ │ ├── spup.vim │ │ ├── sql.vim │ │ ├── sqr.vim │ │ ├── squid.vim │ │ ├── st.vim │ │ ├── stp.vim │ │ ├── synload.vim │ │ ├── syntax.vim │ │ ├── tads.vim │ │ ├── tags.vim │ │ ├── tcl.vim │ │ ├── tex.vim │ │ ├── texinfo.vim │ │ ├── tf.vim │ │ ├── tli.vim │ │ ├── tsalt.vim │ │ ├── uil.vim │ │ ├── vb.vim │ │ ├── verilog.vim │ │ ├── vgrindefs.vim │ │ ├── vhdl.vim │ │ ├── vim.vim │ │ ├── viminfo.vim │ │ ├── vrml.vim │ │ ├── web.vim │ │ ├── webmacro.vim │ │ ├── whitespace.vim │ │ ├── winbatch.vim │ │ ├── wml.vim │ │ ├── xdefaults.vim │ │ ├── xmath.vim │ │ ├── xml.vim │ │ ├── xpm.vim │ │ ├── xpm2.vim │ │ ├── xs.vim │ │ ├── xxd.vim │ │ ├── yacc.vim │ │ ├── z8a.vim │ │ └── zsh.vim │ ├── termcap │ ├── tools │ │ ├── README.txt │ │ ├── blink.c │ │ ├── ccfilter.1 │ │ ├── ccfilter.c │ │ ├── ccfilter_README.txt │ │ ├── efm_filter.pl │ │ ├── efm_filter.txt │ │ ├── gvimdiff │ │ ├── mve.awk │ │ ├── mve.txt │ │ ├── pltags.pl │ │ ├── ref │ │ ├── shtags.1 │ │ ├── shtags.pl │ │ ├── tcltags │ │ ├── vim132 │ │ ├── vimm │ │ ├── vimspell.sh │ │ └── vimspell.txt │ ├── tutor │ │ ├── README.txt │ │ └── tutor │ ├── vim16x16.gif │ ├── vim16x16.xpm │ ├── vim32x32.gif │ ├── vim32x32.xpm │ ├── vim48x48.gif │ ├── vim48x48.xpm │ └── vimrc_example.vim │ └── src │ ├── INSTALL │ ├── Makefile │ ├── ascii.h │ ├── buffer.c │ ├── charset.c │ ├── config.h.in │ ├── config.mk │ ├── config.mk.in │ ├── configure │ ├── configure.in │ ├── ctags │ ├── COPYING │ ├── FAQ │ ├── INSTALL │ ├── INSTALL.DOS │ ├── Makefile.in │ ├── Makefile.maint │ ├── NEWS │ ├── README.txt │ ├── acconfig.h │ ├── args.c │ ├── args.h │ ├── config.h.in │ ├── configure │ ├── configure.in │ ├── ctags.1 │ ├── ctags.h │ ├── ctags.lsm │ ├── debug.c │ ├── debug.h │ ├── eiffel.c │ ├── entry.c │ ├── entry.h │ ├── fortran.c │ ├── general.h │ ├── get.c │ ├── get.h │ ├── keyword.c │ ├── keyword.h │ ├── main.c │ ├── main.h │ ├── mkinstalldirs │ ├── options.c │ ├── options.h │ ├── parse.c │ ├── parse.h │ ├── qdos.c │ ├── read.c │ ├── read.h │ ├── sort.c │ ├── sort.h │ ├── strlist.c │ ├── strlist.h │ ├── strstr.c │ ├── vstring.c │ └── vstring.h │ ├── digraph.c │ ├── edit.c │ ├── eval.c │ ├── ex_cmds.c │ ├── ex_cmds.h │ ├── ex_docmd.c │ ├── ex_getln.c │ ├── farsi.c │ ├── farsi.h │ ├── feature.h │ ├── fileio.c │ ├── getchar.c │ ├── globals.h │ ├── gui.c │ ├── gui.h │ ├── gui_at_fs.c │ ├── gui_at_sb.c │ ├── gui_at_sb.h │ ├── gui_athena.c │ ├── gui_gtk.c │ ├── gui_gtk_f.c │ ├── gui_gtk_f.h │ ├── gui_gtk_x11.c │ ├── gui_motif.c │ ├── gui_x11.c │ ├── if_cscope.c │ ├── if_cscope.h │ ├── if_perl.xs │ ├── if_perlsfio.c │ ├── if_python.c │ ├── if_tcl.c │ ├── keymap.h │ ├── link.sh │ ├── macros.h │ ├── main.c │ ├── mark.c │ ├── memfile.c │ ├── memline.c │ ├── menu.c │ ├── message.c │ ├── misc1.c │ ├── misc2.c │ ├── multbyte.c │ ├── normal.c │ ├── ops.c │ ├── option.c │ ├── option.h │ ├── os_unix.c │ ├── os_unix.h │ ├── os_unixx.h │ ├── osdef.sh │ ├── osdef1.h.in │ ├── osdef2.h.in │ ├── pathdef.sh │ ├── proto.h │ ├── proto │ ├── buffer.pro │ ├── charset.pro │ ├── digraph.pro │ ├── edit.pro │ ├── eval.pro │ ├── ex_cmds.pro │ ├── ex_docmd.pro │ ├── ex_getln.pro │ ├── fileio.pro │ ├── getchar.pro │ ├── gui.pro │ ├── gui_athena.pro │ ├── gui_gtk.pro │ ├── gui_gtk_x11.pro │ ├── gui_motif.pro │ ├── gui_x11.pro │ ├── hangulin.pro │ ├── if_cscope.pro │ ├── if_perl.pro │ ├── if_perlsfio.pro │ ├── if_python.pro │ ├── if_tcl.pro │ ├── main.pro │ ├── mark.pro │ ├── memfile.pro │ ├── memline.pro │ ├── menu.pro │ ├── message.pro │ ├── misc1.pro │ ├── misc2.pro │ ├── multbyte.pro │ ├── normal.pro │ ├── ops.pro │ ├── option.pro │ ├── os_unix.pro │ ├── pty.pro │ ├── quickfix.pro │ ├── regexp.pro │ ├── screen.pro │ ├── search.pro │ ├── syntax.pro │ ├── tag.pro │ ├── term.pro │ ├── ui.pro │ ├── undo.pro │ ├── version.pro │ └── window.pro │ ├── pty.c │ ├── quickfix.c │ ├── regexp.c │ ├── regexp.h │ ├── screen.c │ ├── search.c │ ├── structs.h │ ├── syntax.c │ ├── tag.c │ ├── term.c │ ├── term.h │ ├── termlib.c │ ├── testdir │ ├── Makefile │ ├── dotest.in │ ├── test1.in │ ├── test1.ok │ ├── test10.in │ ├── test10.ok │ ├── test11.in │ ├── test11.ok │ ├── test12.in │ ├── test12.ok │ ├── test13.in │ ├── test13.ok │ ├── test14.in │ ├── test14.ok │ ├── test15.in │ ├── test15.ok │ ├── test16.in │ ├── test16.ok │ ├── test17.in │ ├── test17.ok │ ├── test17a.in │ ├── test18.in │ ├── test18.ok │ ├── test19.in │ ├── test19.ok │ ├── test2.in │ ├── test2.ok │ ├── test20.in │ ├── test20.ok │ ├── test21.in │ ├── test21.ok │ ├── test22.in │ ├── test22.ok │ ├── test23.in │ ├── test23.ok │ ├── test24.in │ ├── test24.ok │ ├── test25.in │ ├── test25.ok │ ├── test26.in │ ├── test26.ok │ ├── test27.in │ ├── test27.ok │ ├── test28.in │ ├── test28.ok │ ├── test29.in │ ├── test29.ok │ ├── test3.in │ ├── test3.ok │ ├── test30.in │ ├── test30.ok │ ├── test31.in │ ├── test31.ok │ ├── test32.in │ ├── test32.ok │ ├── test33.in │ ├── test33.ok │ ├── test34.in │ ├── test34.ok │ ├── test35.in │ ├── test35.ok │ ├── test36.in │ ├── test36.ok │ ├── test37.in │ ├── test37.ok │ ├── test38.in │ ├── test38.ok │ ├── test39.in │ ├── test39.ok │ ├── test4.in │ ├── test4.ok │ ├── test5.in │ ├── test5.ok │ ├── test6.in │ ├── test6.ok │ ├── test7.in │ ├── test7.ok │ ├── test8.in │ ├── test8.ok │ ├── test9.in │ ├── test9.ok │ └── vimrc.unix │ ├── toolcheck │ ├── typemap │ ├── ui.c │ ├── undo.c │ ├── version.c │ ├── version.h │ ├── vim.h │ ├── vim_icon.xbm │ ├── vim_mask.xbm │ ├── vimtutor │ ├── window.c │ └── xxd │ ├── Makefile.unix │ └── xxd.c ├── bin └── crestc ├── cil ├── CHANGES ├── LICENSE ├── META ├── Makefile.in ├── README.md ├── _tags ├── aclocal.m4 ├── bin │ └── cilly ├── config.guess ├── config.h.in ├── config.mk.in ├── config.sub ├── configure ├── configure.ac ├── install-sh ├── lib │ ├── .gdbinit │ ├── App │ │ ├── Cilly.pm.in │ │ └── Cilly │ │ │ ├── CilConfig.pm.in │ │ │ ├── KeptFile.pm │ │ │ ├── OutputFile.pm │ │ │ └── TempFile.pm │ ├── MANIFEST │ ├── Makefile.PL │ └── patcher ├── m4 │ ├── cil.m4 │ └── ocaml.m4 ├── myocamlbuild.ml ├── ocamlutil │ ├── alpha.ml │ ├── alpha.mli │ ├── bitmap.ml │ ├── bitmap.mli │ ├── clist.ml │ ├── clist.mli │ ├── errormsg.ml │ ├── errormsg.mli │ ├── growArray.ml │ ├── growArray.mli │ ├── inthash.ml │ ├── inthash.mli │ ├── longarray.ml │ ├── longarray.mli │ ├── pretty.ml │ ├── pretty.mli │ ├── stats.ml │ ├── stats.mli │ ├── trace.ml │ ├── trace.mli │ ├── util.ml │ └── util.mli ├── src │ ├── _tags │ ├── check.ml │ ├── check.mli │ ├── cil.ml │ ├── cil.mli │ ├── cil.mllib │ ├── cilint.ml │ ├── cilint.mli │ ├── cillower.ml │ ├── cillower.mli │ ├── ciloptions.ml │ ├── ciloptions.mli │ ├── cilutil.ml │ ├── cilversion.ml.in │ ├── escape.ml │ ├── escape.mli │ ├── ext │ │ ├── _tags │ │ ├── arithabs.ml │ │ ├── astslicer.ml │ │ ├── availexps.ml │ │ ├── availexpslv.ml │ │ ├── blockinggraph.ml │ │ ├── blockinggraph.mli │ │ ├── callgraph.ml │ │ ├── callgraph.mli │ │ ├── canonicalize.ml │ │ ├── canonicalize.mli │ │ ├── ccl.ml │ │ ├── ccl.mli │ │ ├── cfg.ml │ │ ├── cfg.mli │ │ ├── ciltools.ml │ │ ├── cqualann.ml │ │ ├── crestInstrument.ml │ │ ├── dataflow.ml │ │ ├── dataflow.mli │ │ ├── dataslicing.ml │ │ ├── dataslicing.mli │ │ ├── deadcodeelim.ml │ │ ├── dominators.ml │ │ ├── dominators.mli │ │ ├── epicenter.ml │ │ ├── expcompare.ml │ │ ├── heap.ml │ │ ├── heapify.ml │ │ ├── inliner.ml │ │ ├── liveness.ml │ │ ├── llvm.ml │ │ ├── llvmgen.ml │ │ ├── llvmssa.ml │ │ ├── llvmutils.ml │ │ ├── logcalls.ml │ │ ├── logcalls.mli │ │ ├── logwrites.ml │ │ ├── oneret.ml │ │ ├── oneret.mli │ │ ├── optutil.ml │ │ ├── optutil.mli │ │ ├── partial.ml │ │ ├── predabst.ml │ │ ├── pta │ │ │ ├── golf.ml │ │ │ ├── golf.mli │ │ │ ├── olf.ml │ │ │ ├── olf.mli │ │ │ ├── ptranal.ml │ │ │ ├── ptranal.mli │ │ │ ├── setp.ml │ │ │ ├── setp.mli │ │ │ ├── steensgaard.ml │ │ │ ├── steensgaard.mli │ │ │ ├── uref.ml │ │ │ └── uref.mli │ │ ├── rand.ml │ │ ├── reachingdefs.ml │ │ ├── rmciltmps.ml │ │ ├── sfi.ml │ │ ├── simplemem.ml │ │ ├── simplify.ml │ │ ├── simplify.mli │ │ ├── ssa.ml │ │ ├── ssa.mli │ │ ├── stackoverflow.ml │ │ ├── stackoverflow.mli │ │ ├── ufsarithabs.ml │ │ └── usedef.ml │ ├── formatcil.ml │ ├── formatcil.mli │ ├── formatlex.mll │ ├── formatparse.mly │ ├── frontc │ │ ├── cabs.ml │ │ ├── cabs2cil.ml │ │ ├── cabs2cil.mli │ │ ├── cabshelper.ml │ │ ├── cabsvisit.ml │ │ ├── cabsvisit.mli │ │ ├── clexer.mli │ │ ├── clexer.mll │ │ ├── cparser.mly │ │ ├── cprint.ml │ │ ├── frontc.ml │ │ ├── frontc.mli │ │ ├── lexerhack.ml │ │ ├── patch.ml │ │ ├── patch.mli │ │ ├── whitetrack.ml │ │ └── whitetrack.mli │ ├── libmaincil.ml │ ├── machdep-ml.c.in │ ├── machdepenv.ml │ ├── main.ml │ ├── mergecil.ml │ ├── mergecil.mli │ ├── rmtmps.ml │ ├── rmtmps.mli │ ├── zrapp.ml │ └── zrapp.mli └── stamp-h.in ├── include └── .empty ├── lib └── .empty ├── src ├── Makefile ├── base │ ├── basic_types.cc │ ├── basic_types.h │ ├── symbolic_execution.cc │ ├── symbolic_execution.h │ ├── symbolic_expression.cc │ ├── symbolic_expression.h │ ├── symbolic_interpreter.cc │ ├── symbolic_interpreter.h │ ├── symbolic_path.cc │ ├── symbolic_path.h │ ├── symbolic_predicate.cc │ ├── symbolic_predicate.h │ ├── yices_solver.cc │ └── yices_solver.h ├── libcrest │ ├── crest.cc │ └── crest.h ├── process_cfg │ └── process_cfg.cc ├── run_crest │ ├── concolic_search.cc │ ├── concolic_search.h │ └── run_crest.cc └── tools │ └── print_execution.cc └── test ├── Makefile ├── cfg_search_test.c ├── cfg_test.c ├── concrete_return.c ├── function.c ├── left_shift.c ├── math.c ├── shift_cast.c ├── simple.c ├── structure_return.c ├── structure_test.c ├── table_test.c ├── unary.c ├── uniform_test.c └── unsigned.c /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.slo 3 | *.lo 4 | *.o 5 | 6 | # Compiled Dynamic libraries 7 | *.so 8 | *.dylib 9 | 10 | # Compiled Static libraries 11 | *.lai 12 | *.la 13 | *.a 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008, Jacob Burnim (jburnim@gmail.com) 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, this 11 | list of conditions and the following disclaimer in the documentation and/or 12 | other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 15 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 18 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 21 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 23 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to create Makefile.in 2 | AUTOMAKE_OPTIONS = no-dependencies 3 | 4 | SUBDIRS = intl po src tests 5 | 6 | EXTRA_DIST = TODO README \ 7 | vms/make.com vms/README \ 8 | djgpp/config.bat djgpp/config.h \ 9 | djgpp/po2tbl.sed djgpp/intl.mak \ 10 | djgpp/main.mak djgpp/po.mak \ 11 | djgpp/src.mak djgpp/tests.mak \ 12 | djgpp/README 13 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/README: -------------------------------------------------------------------------------- 1 | This is GNU grep, the "fastest grep in the west" (we hope). All 2 | bugs reported in previous releases have been fixed. Many exciting new 3 | bugs have probably been introduced in this revision. 4 | 5 | GNU grep is provided "as is" with no warranty. The exact terms 6 | under which you may use and (re)distribute this program are detailed 7 | in the GNU General Public License, in the file COPYING. 8 | 9 | GNU grep is based on a fast lazy-state deterministic matcher (about 10 | twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper 11 | search for a fixed string that eliminates impossible text from being 12 | considered by the full regexp matcher without necessarily having to 13 | look at every character. The result is typically many times faster 14 | than Unix grep or egrep. (Regular expressions containing backreferencing 15 | will run more slowly, however.) 16 | 17 | See the files AUTHORS and THANKS for a list of authors and other contributors. 18 | 19 | See the file INSTALL for compilation and installation instructions. 20 | 21 | See the file NEWS for a description of major changes in this release. 22 | 23 | See the file PROJECTS for ideas for how you could help us improve grep. 24 | 25 | Send bug reports to bug-gnu-utils@gnu.org. Be sure to 26 | include the word "grep" in your Subject: header field. 27 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/acconfig.h: -------------------------------------------------------------------------------- 1 | /* Define to use grep's error-checking malloc in the kwset routines. */ 2 | #undef GREP 3 | 4 | /* Package name. */ 5 | #undef PACKAGE 6 | 7 | /* Version number. */ 8 | #undef VERSION 9 | 10 | /* 11 | * Internationalization stuffs. 12 | */ 13 | 14 | #undef HAVE_STPCPY 15 | 16 | #undef ENABLE_NLS 17 | 18 | #undef HAVE_CATGETS 19 | 20 | #undef HAVE_GETTEXT 21 | 22 | #undef HAVE_LC_MESSAGES 23 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/djgpp/config.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Configuring Grep for DJGPP... 3 | update djgpp/config.h ./config.h 4 | sed -e /@VERSION@/d djgpp/main.mak > Makefile 5 | sed -n -e /^VERSION/p configure >> Makefile 6 | sed -e /@VERSION@/d djgpp/src.mak > src\Makefile 7 | sed -n -e /^VERSION/p configure >> src\Makefile 8 | sed -e /@VERSION@/d djgpp/tests.mak > tests\Makefile 9 | sed -n -e /^VERSION/p configure >> tests\Makefile 10 | sed -e /@VERSION@/d djgpp/intl.mak > intl\Makefile 11 | sed -n -e /^VERSION/p configure >> intl\Makefile 12 | sed -e /@VERSION@/d djgpp/po.mak > po\Makefile 13 | sed -n -e /^VERSION/p configure >> po\Makefile 14 | sed -e '/^#/d' ./intl/linux-msg.sed > intl\po2msg.sed 15 | sed -e '/^#.*[^\\]$/d' -e '/^#$/d' djgpp/po2tbl.sed > intl\po2tbl.sed 16 | if exist make.com ren make.com vmsmake.com 17 | if exist config.h.in REN config.h.in config.h-in 18 | if exist intl\po2tbl.sed.in REN intl\po2tbl.sed.in po2tbl-in.sed 19 | if exist intl\Makefile.in.in REN intl\Makefile.in.in Makefile.in-in 20 | echo Done. 21 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/djgpp/config.h: -------------------------------------------------------------------------------- 1 | /* config.h for DJGPP v2. Generated from config.h.in. */ 2 | /* config.h.in. Generated automatically from configure.in by autoheader. */ 3 | 4 | /* Almost everything is defined for us on */ 5 | 6 | #include 7 | 8 | /* Define if you have alloca, as a function or macro. */ 9 | #define HAVE_ALLOCA 1 10 | 11 | /* Define to use grep's error-checking malloc in the kwset routines. */ 12 | #define GREP 1 13 | 14 | /* Package name. */ 15 | #define PACKAGE "grep" 16 | 17 | /* Version number. */ 18 | #define VERSION "2.1.1" 19 | 20 | /* Define if you have the header file. */ 21 | #define HAVE_MALLOC_H 1 22 | 23 | /* Define if you have the header file. */ 24 | #define HAVE_MEMORY_H 1 25 | 26 | /* Define if you have the setrlimit function. */ 27 | #define HAVE_SETRLIMIT 1 28 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/intl/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/intl/ChangeLog -------------------------------------------------------------------------------- /benchmarks/grep-2.2/intl/VERSION: -------------------------------------------------------------------------------- 1 | GNU gettext library from gettext-0.10.32 2 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/intl/libintl.h: -------------------------------------------------------------------------------- 1 | .././intl/libgettext.h -------------------------------------------------------------------------------- /benchmarks/grep-2.2/intl/po2tbl.sed: -------------------------------------------------------------------------------- 1 | 1 { 2 | i\ 3 | /* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\ 4 | \ 5 | #if HAVE_CONFIG_H\ 6 | # include \ 7 | #endif\ 8 | \ 9 | #include "libgettext.h"\ 10 | \ 11 | const struct _msg_ent _msg_tbl[] = { 12 | h 13 | s/.*/0/ 14 | x 15 | } 16 | /^msgid/ { 17 | s/msgid[ ]*\(".*"\)/ {\1/ 18 | tb 19 | :b 20 | N 21 | s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/ 22 | ta 23 | s/\(.*\)\n.*/\1/ 24 | bc 25 | :a 26 | s/\(.*\)\(\n.*\)/\1\\\2/ 27 | P 28 | s/.*\n\(.*\)/\1/ 29 | tb 30 | :c 31 | x 32 | td 33 | :d 34 | s/9\(_*\)$/_\1/ 35 | td 36 | s/^\(_*\)$/0\1/ 37 | s/8\(_*\)$/9\1/ 38 | s/7\(_*\)$/8\1/ 39 | s/6\(_*\)$/7\1/ 40 | s/5\(_*\)$/6\1/ 41 | s/4\(_*\)$/5\1/ 42 | s/3\(_*\)$/4\1/ 43 | s/2\(_*\)$/3\1/ 44 | s/1\(_*\)$/2\1/ 45 | s/0\(_*\)$/1\1/ 46 | s/_/0/g 47 | x 48 | G 49 | s/\(.*\)\n\([0-9]*\)/\1, \2},/ 50 | s/\(.*\)"$/\1/ 51 | p 52 | } 53 | $ { 54 | i\ 55 | };\ 56 | 57 | g 58 | s/0*\(.*\)/int _msg_tbl_length = \1;/p 59 | } 60 | d 61 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/mkinstalldirs: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # mkinstalldirs --- make directory hierarchy 3 | # Author: Noah Friedman 4 | # Created: 1993-05-16 5 | # Public domain 6 | 7 | # $Id: mkinstalldirs,v 1.1.1.1 1997/07/15 20:00:42 alainm Exp $ 8 | 9 | errstatus=0 10 | 11 | for file 12 | do 13 | set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` 14 | shift 15 | 16 | pathcomp= 17 | for d 18 | do 19 | pathcomp="$pathcomp$d" 20 | case "$pathcomp" in 21 | -* ) pathcomp=./$pathcomp ;; 22 | esac 23 | 24 | if test ! -d "$pathcomp"; then 25 | echo "mkdir $pathcomp" 1>&2 26 | 27 | mkdir "$pathcomp" || lasterr=$? 28 | 29 | if test ! -d "$pathcomp"; then 30 | errstatus=$lasterr 31 | fi 32 | fi 33 | 34 | pathcomp="$pathcomp/" 35 | done 36 | done 37 | 38 | exit $errstatus 39 | 40 | # mkinstalldirs ends here 41 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/ChangeLog: -------------------------------------------------------------------------------- 1 | * got a basic set of *.po from Franc,ois Pinard 2 | ftp.iro.umontreal.ca 3 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/POTFILES: -------------------------------------------------------------------------------- 1 | ../src/dfa.c \ 2 | ../src/getopt.c \ 3 | ../src/getopt1.c \ 4 | ../src/grep.c \ 5 | ../src/kwset.c \ 6 | ../src/obstack.c 7 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/POTFILES.in: -------------------------------------------------------------------------------- 1 | # List of files which containing translatable strings. 2 | 3 | src/dfa.c 4 | src/getopt.c 5 | src/getopt1.c 6 | src/grep.c 7 | src/kwset.c 8 | src/obstack.c 9 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/de.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/de.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/de.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/de.po -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/es.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/es.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/es.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/es.po -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/fr.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/fr.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/fr.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/fr.po -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/ko.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/ko.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/ko.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/ko.po -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/nl.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/nl.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/no.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/no.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/no.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/no.po -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/pl.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/pl.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/pl.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/pl.po -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/ru.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/ru.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/ru.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/ru.po -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/sl.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/sl.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/sl.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/sl.po -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/stamp-cat-id: -------------------------------------------------------------------------------- 1 | timestamp 2 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/sv.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/sv.gmo -------------------------------------------------------------------------------- /benchmarks/grep-2.2/po/sv.po: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/grep-2.2/po/sv.po -------------------------------------------------------------------------------- /benchmarks/grep-2.2/src/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to create Makefile.in 2 | AUTOMAKE_OPTIONS=no-dependencies 3 | 4 | LN = ln 5 | 6 | bin_PROGRAMS = grep egrep fgrep 7 | grep_SOURCES = grep.c grep.h \ 8 | dfa.c dfa.h \ 9 | kwset.c kwset.h \ 10 | obstack.c obstack.h \ 11 | getopt.c getopt1.c getopt.h \ 12 | search.c getpagesize.h system.h 13 | egrep_SOURCES = $(grep_SOURCES) 14 | fgrep_SOURCES = $(grep_SOURCES) 15 | LDADD = @ALLOCA@ @LIBOBJS@ @INTLLIBS@ 16 | localedir = $(prefix)/@DATADIRNAME@/locale 17 | INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\" 18 | man_MANS = grep.1 fgrep.1 egrep.1 19 | EXTRA_DIST = grep.1 egrep.man fgrep.man \ 20 | regex.c regex.h \ 21 | dosbuf.c 22 | CLEANFILES = egrep.1 fgrep.1 23 | 24 | fgrep.1: fgrep.man 25 | inst=`echo "grep" | sed '$(transform)'`.1; \ 26 | sed -e "s%@grep@%$$inst%g" $(srcdir)/fgrep.man > $@ 27 | 28 | egrep.1: egrep.man 29 | inst=`echo "grep" | sed '$(transform)'`.1; \ 30 | sed -e "s%@grep@%$$inst%g" $(srcdir)/egrep.man > $@ 31 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/src/btowc.c: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. 2 | This file is part of the GNU C Library. 3 | Contributed by Ulrich Drepper, 4 | 5 | The GNU C Library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public License as 7 | published by the Free Software Foundation; either version 2 of the 8 | License, or (at your option) any later version. 9 | 10 | The GNU C Library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with the GNU C Library; see the file COPYING.LIB. If not, 17 | write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 | Boston, MA 02111-1307, USA. */ 19 | 20 | #include 21 | #include 22 | 23 | 24 | /* We use UTF8 encoding for multibyte strings and therefore a valid 25 | one byte multibyte string only can have a value from 0 to 0x7f. */ 26 | wint_t 27 | btowc (c) 28 | int c; 29 | { 30 | if (WEOF != (wint_t) EOF || c < 0 || c > 0x7f) 31 | return WEOF; 32 | else 33 | return (wint_t) c; 34 | } 35 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/src/egrep.man: -------------------------------------------------------------------------------- 1 | .so man1/@grep@ 2 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/src/fgrep.man: -------------------------------------------------------------------------------- 1 | .so man1/@grep@ 2 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/src/getpagesize.h: -------------------------------------------------------------------------------- 1 | /* Emulate getpagesize on systems that lack it. */ 2 | 3 | #ifndef HAVE_GETPAGESIZE 4 | 5 | # ifdef VMS 6 | # define getpagesize() 512 7 | # endif 8 | 9 | # ifdef HAVE_UNISTD_H 10 | # include 11 | # endif 12 | 13 | # ifdef _SC_PAGESIZE 14 | # define getpagesize() sysconf(_SC_PAGESIZE) 15 | # else /* no _SC_PAGESIZE */ 16 | # ifdef HAVE_SYS_PARAM_H 17 | # include 18 | # ifdef EXEC_PAGESIZE 19 | # define getpagesize() EXEC_PAGESIZE 20 | # else /* no EXEC_PAGESIZE */ 21 | # ifdef NBPG 22 | # define getpagesize() NBPG * CLSIZE 23 | # ifndef CLSIZE 24 | # define CLSIZE 1 25 | # endif /* no CLSIZE */ 26 | # else /* no NBPG */ 27 | # ifdef NBPC 28 | # define getpagesize() NBPC 29 | # else /* no NBPC */ 30 | # ifdef PAGESIZE 31 | # define getpagesize() PAGESIZE 32 | # endif /* PAGESIZE */ 33 | # endif /* no NBPC */ 34 | # endif /* no NBPG */ 35 | # endif /* no EXEC_PAGESIZE */ 36 | # else /* no HAVE_SYS_PARAM_H */ 37 | # define getpagesize() 8192 /* punt totally */ 38 | # endif /* no HAVE_SYS_PARAM_H */ 39 | # endif /* no _SC_PAGESIZE */ 40 | 41 | #endif /* no HAVE_GETPAGESIZE */ 42 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/src/idcount: -------------------------------------------------------------------------------- 1 | 18558 2 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/stamp-h: -------------------------------------------------------------------------------- 1 | timestamp 2 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/stamp-h.in: -------------------------------------------------------------------------------- 1 | timestamp 2 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to create Makefile.in 2 | 3 | AWK=@AWK@ 4 | 5 | TESTS = warning.sh khadafy.sh spencer1.sh spencer2.sh status.sh empty.sh 6 | EXTRA_DIST = $(TESTS) khadafy.lines khadafy.regexp \ 7 | scriptgen.awk spencer1.tests spencer2.tests 8 | CLEANFILES = tmp1.script tmp2.script khadafy.out 9 | TESTS_ENVIRONMENT = GREP=$(top_builddir)/src/grep AWK=$(AWK) 10 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/empty.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # test that the empty file means no pattern 3 | # and an empty pattern means match all. 4 | 5 | : ${srcdir=.} 6 | 7 | failures=0 8 | 9 | # should return 0 found a match 10 | echo "abcd" | ${GREP} -E -e '' > /dev/null 2>&1 11 | if test $? -ne 0 ; then 12 | echo "Status: Wrong status code, test \#1 failed" 13 | failures=1 14 | fi 15 | 16 | # should return 1 found no match 17 | echo "abcd" | ${GREP} -E -f /dev/null > /dev/null 2>&1 18 | if test $? -ne 1 ; then 19 | echo "Status: Wrong status code, test \#2 failed" 20 | failures=1 21 | fi 22 | 23 | # should return 0 found a match 24 | echo "abcd" | ${GREP} -E -f /dev/null -e "abc" > /dev/null 2>&1 25 | if test $? -ne 0 ; then 26 | echo "Status: Wrong status code, test \#3 failed" 27 | failures=1 28 | fi 29 | 30 | exit $failures 31 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/khadafy.lines: -------------------------------------------------------------------------------- 1 | 1) Muammar Qaddafi 2 | 2) Mo'ammar Gadhafi 3 | 3) Muammar Kaddafi 4 | 4) Muammar Qadhafi 5 | 5) Moammar El Kadhafi 6 | 6) Muammar Gadafi 7 | 7) Mu'ammar al-Qadafi 8 | 8) Moamer El Kazzafi 9 | 9) Moamar al-Gaddafi 10 | 10) Mu'ammar Al Qathafi 11 | 11) Muammar Al Qathafi 12 | 12) Mo'ammar el-Gadhafi 13 | 13) Moamar El Kadhafi 14 | 14) Muammar al-Qadhafi 15 | 15) Mu'ammar al-Qadhdhafi 16 | 16) Mu'ammar Qadafi 17 | 17) Moamar Gaddafi 18 | 18) Mu'ammar Qadhdhafi 19 | 19) Muammar Khaddafi 20 | 20) Muammar al-Khaddafi 21 | 21) Mu'amar al-Kadafi 22 | 22) Muammar Ghaddafy 23 | 23) Muammar Ghadafi 24 | 24) Muammar Ghaddafi 25 | 25) Muamar Kaddafi 26 | 26) Muammar Quathafi 27 | 27) Muammar Gheddafi 28 | 28) Muamar Al-Kaddafi 29 | 29) Moammar Khadafy 30 | 30) Moammar Qudhafi 31 | 31) Mu'ammar al-Qaddafi 32 | 32) Mulazim Awwal Mu'ammar Muhammad Abu Minyar al-Qadhafi 33 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/khadafy.regexp: -------------------------------------------------------------------------------- 1 | M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] 2 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/khadafy.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # Regression test for GNU grep. 3 | 4 | : ${srcdir=.} 5 | : ${GREP=../src/grep} 6 | 7 | failures=0 8 | 9 | # The Khadafy test is brought to you by Scott Anderson . . . 10 | 11 | ${GREP} -E -f $srcdir/khadafy.regexp $srcdir/khadafy.lines > khadafy.out 12 | if cmp $srcdir/khadafy.lines khadafy.out 13 | then 14 | : 15 | else 16 | echo Khadafy test failed -- output left on khadafy.out 17 | failures=1 18 | fi 19 | 20 | exit $failure 21 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/scriptgen.awk: -------------------------------------------------------------------------------- 1 | BEGIN {FS = "@"; print "failures=0" } 2 | $0 !~ /^#/ && NF = 3 { 3 | printf("echo '%s'|${GREP} -E -e '%s' > /dev/null 2>&1\n",$3, $2); 4 | printf("if test $? -ne %s ; then\n", $1) 5 | printf "\techo Spencer test \\#%d failed\n", ++n 6 | print "\tfailures=1" 7 | print "fi" 8 | } 9 | END { print "exit $failures"; } 10 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/spencer1.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # Regression test for GNU grep. 3 | 4 | : ${srcdir=.} 5 | 6 | failures=0 7 | 8 | # . . . and the following by Henry Spencer. 9 | 10 | ${AWK-awk} -f $srcdir/scriptgen.awk $srcdir/spencer1.tests > tmp1.script 11 | 12 | sh tmp1.script && exit $failures 13 | exit 1 14 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/spencer2.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # Regression test for GNU grep. 3 | 4 | : ${srcdir=.} 5 | 6 | failures=0 7 | 8 | # . . . and the following by Henry Spencer. 9 | 10 | ${AWK-awk} -f $srcdir/scriptgen.awk $srcdir/spencer2.tests > tmp2.script 11 | 12 | sh tmp2.script && exit $failures 13 | exit 1 14 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/status.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # Test for status code for GNU grep. 3 | # status code 4 | # 0 match found 5 | # 1 no match 6 | # 2 file not found 7 | 8 | : ${srcdir=.} 9 | 10 | failures=0 11 | 12 | # should return 0 found a match 13 | echo "abcd" | ${GREP} -E -e 'abc' > /dev/null 2>&1 14 | if test $? -ne 0 ; then 15 | echo "Status: Wrong status code, test \#1 failed" 16 | failures=1 17 | fi 18 | 19 | # should return 1 found no match 20 | echo "abcd" | ${GREP} -E -e 'zbc' > /dev/null 2>&1 21 | if test $? -ne 1 ; then 22 | echo "Status: Wrong status code, test \#2 failed" 23 | failures=1 24 | fi 25 | 26 | # the filename MMMMMMMM.MMM should not exist hopefully 27 | # should return 2 file not found 28 | if test -b MMMMMMMM.MMM; then 29 | echo "Please remove MMMMMMMM.MMM to run check" 30 | else 31 | ${GREP} -E -e 'abc' MMMMMMMM.MMM> /dev/null 2>&1 32 | if test $? -ne 2 ; then 33 | echo "Status: Wrong status code, test \#3 failed" 34 | failures=1 35 | fi 36 | fi 37 | 38 | exit $failures 39 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/tests/warning.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # Tell them not to be alarmed. 4 | 5 | : ${srcdir=.} 6 | 7 | failures=0 8 | 9 | # 10 | cat <<\EOF 11 | 12 | Please, do not be alarmed if some of the tests failed. 13 | Report them to , 14 | with the line number, the name of the file, 15 | and grep version number 'grep --version'. 16 | Make sure you have the word grep in the subject. 17 | Thank You. 18 | 19 | EOF 20 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/vms/README: -------------------------------------------------------------------------------- 1 | ** VMS 2 | 3 | Warning: untested 4 | VMS users should try running the enclosed command file "make.com". 5 | It may be necessary to add : 6 | 7 | #ifdef vms 8 | #include 9 | #endif 10 | 11 | in system.h (see HAVE_STRERROR). 12 | 13 | If you do not have NLS : 14 | 15 | #define ENABLE_NLS 0 16 | #define HAVE_LIBINTL_H 0 17 | -------------------------------------------------------------------------------- /benchmarks/grep-2.2/vms/make.com: -------------------------------------------------------------------------------- 1 | $ ! Set the LOGICAL SYS to SYS$LIBRARY if it isn't defined 2 | $ ! so that #include will search SYS$LIBRARY for the file. 3 | $ IF F$TRNLNM("SYS") .EQS. "" THEN DEFINE SYS SYS$LIBRARY 4 | $ WRITE SYS$OUTPUT "Compiling ALLOCA..." 5 | $ CC ALLOCA.C /DEFINE=(HAVE_STRING_H,HAVE_MEMCHR,HAVE_STRERROR) 6 | $ WRITE SYS$OUTPUT "Compiling DFA..." 7 | $ CC DFA.C /DEFINE=(HAVE_STRING_H,HAVE_MEMCHR,HAVE_STRERROR) 8 | $ WRITE SYS$OUTPUT "Compiling GETOPT..." 9 | $ CC GETOPT.C /DEFINE=(HAVE_STRING_H,HAVE_MEMCHR,HAVE_STRERROR) 10 | $ WRITE SYS$OUTPUT "Compiling GETOPT1..." 11 | $ CC GETOPT1.C /DEFINE=(HAVE_STRING_H,HAVE_MEMCHR,HAVE_STRERROR) 12 | $ WRITE SYS$OUTPUT "Compiling GREP..." 13 | $ CC GREP.C /DEFINE=(HAVE_STRING_H,HAVE_MEMCHR,HAVE_STRERROR) 14 | $ WRITE SYS$OUTPUT "Compiling KWSET..." 15 | $ CC KWSET.C /DEFINE=(HAVE_STRING_H,HAVE_MEMCHR,HAVE_STRERROR) 16 | $ WRITE SYS$OUTPUT "Compiling OBSTACK..." 17 | $ CC OBSTACK.C /DEFINE=(HAVE_STRING_H,HAVE_MEMCHR,HAVE_STRERROR) 18 | $ WRITE SYS$OUTPUT "Compiling REGEX..." 19 | $ CC REGEX.C /DEFINE=(HAVE_STRING_H,HAVE_MEMCHR,HAVE_STRERROR) 20 | $ WRITE SYS$OUTPUT "Compiling SEARCH..." 21 | $ CC SEARCH.C /DEFINE=(HAVE_STRING_H,HAVE_MEMCHR,HAVE_STRERROR) 22 | $ WRITE SYS$OUTPUT "Linking..." 23 | $ LINK GREP,ALLOCA,DFA,GETOPT,GETOPT1,KWSET,OBSTACK,REGEX,SEARCH 24 | $ EXIT 25 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/Makefile: -------------------------------------------------------------------------------- 1 | # This is a stub for the Unix Makefile, to provide support for doing 2 | # "make install" in the top Vim directory. 3 | # 4 | # NOTE: If this doesn't work properly, first change directory to "src" and use 5 | # the Makefile there: 6 | # cd src 7 | # make [arguments] 8 | # Noticed on AIX systems when using this Makefile: Trying to run "cproto" or 9 | # something else after Vim has been compiled. Don't know why... 10 | 11 | all install uninstall tools config configure proto depend lint tags types test testclean clean distclean: 12 | cd src && $(MAKE) $@ 13 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/README_src.txt: -------------------------------------------------------------------------------- 1 | README_src.txt for version 5.7 of Vim: Vi IMproved. 2 | 3 | The source archive contains the files needed to compile Vim on Unix systems. 4 | It is packed for Unix systems (NL line separator). It is also used for other 5 | systems in combination with the extra archive (vim-5.7-extra.tar.gz, in the 6 | "extra" directory of ftp.vim.org). 7 | 8 | For more information, see the README.txt file that comes with the runtime 9 | archive (vim-5.7-rt.tar.gz). To be able to run Vim you MUST get the runtime 10 | archive too! 11 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/README_unix.txt: -------------------------------------------------------------------------------- 1 | README_unix.txt for version 5.7 of Vim: Vi IMproved. 2 | 3 | This file explains the installation of Vim on Unix systems. 4 | See "README.txt" for general information about Vim. 5 | 6 | 7 | When you use the source distribution, "make install" is used to install Vim. 8 | See the "INSTALL" file in the "src" directory. 9 | 10 | If you use a compiled package, follow the instructions for the package. 11 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/configure: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # This is just a stub for the Unix configure script, to provide support for 4 | # doing "./configure" in the top Vim directory. 5 | 6 | cd src && ./configure "$@" 7 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_blank.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_blank_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 2 1", 5 | /* colors */ 6 | " c none", 7 | ". c black", 8 | /* pixels */ 9 | "..................", 10 | ". .", 11 | ". .", 12 | ". .", 13 | ". .", 14 | ". .", 15 | ". .", 16 | ". .", 17 | ". .", 18 | ". .", 19 | ". .", 20 | ". .", 21 | ". .", 22 | ". .", 23 | ". .", 24 | ". .", 25 | "..................", 26 | " "}; 27 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_close.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_close_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 7 1", 5 | /* colors */ 6 | "# s None c None", 7 | ": c white", 8 | " c black", 9 | "$ c grey50", 10 | "x c grey", 11 | ". c #800000", 12 | "% c red", 13 | /* pixels */ 14 | "##################", 15 | "####.#######.#####", 16 | "###.%. .%. ###", 17 | "##.%%%.xxx.%%%.$##", 18 | "###.%%%.x.%%%. $##", 19 | "### .%%%.%%%.: $##", 20 | "### x.%%%%%.x: $##", 21 | "### xx.%%%.xx: $##", 22 | "### x.%%%%%.x: $##", 23 | "### .%%%.%%%.: $##", 24 | "###.%%%.x.%%%. $##", 25 | "##.%%%.xxx.%%%.$##", 26 | "###.%.xxxxx.%%%.##", 27 | "### .xxxxxxx.%.$##", 28 | "### ::::::::x. $##", 29 | "### $##", 30 | "######$$$$$$$$$$##", 31 | "##################" 32 | }; 33 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_copy.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tb_copy_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 18 18 4 1", 5 | /* colors */ 6 | " c None s mask", 7 | ". c white s white", 8 | "n c black s style", 9 | "m c grey50 s dark", 10 | /* pixels */ 11 | 12 | " ", 13 | " ", 14 | " nnnnnnnnnn ", 15 | " n........nm ", 16 | " n.nnnnnnnnnnnnn ", 17 | " n....n........n ", 18 | " n.nnnn.nnnnnn.nm ", 19 | " n....n........nm ", 20 | " n.nnnn.nnnnnn.nm ", 21 | " n....n........nm ", 22 | " n.nn.n.nnnnnn.nm ", 23 | " n....n........nm ", 24 | " nnnnnn.nn.....nm ", 25 | " mmmmn........nm ", 26 | " nnnnnnnnnnm ", 27 | " mmmmmmmmm ", 28 | " ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_ctags.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tb_ctags_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 18 18 7 1", 5 | /* colors */ 6 | ". c black", 7 | "a c yellow4", 8 | "b c grey50", 9 | "c c gray", 10 | "d c yellow", 11 | "e c None", 12 | "X c white", 13 | /* pixels */ 14 | "eeeee..e.....eeeee", 15 | "eeee.XX.XXXXX.eeee", 16 | "eeee.XXXXXXXXX.eee", 17 | "eeee.XX.XXXX..X.ee", 18 | "eeeee..e....be..ee", 19 | "eeeaaccac...cac.ce", 20 | "eeabddddd...bddd.b", 21 | "eabdddddd...bddd.b", 22 | "abdcbcddd...bddd.b", 23 | "addb.bddd...bddd.b", 24 | "bddcbcddd...bddd.b", 25 | "b.ddddddd...bddd.b", 26 | "eb.dddddd...bddd.b", 27 | "eeb.........b....b", 28 | "eeebbbbbb...bbbbbb", 29 | "eeeeeeeee...beeeee", 30 | "eeeeeeeee...beeeee", 31 | "eeeeeeeeeebbbeeeee" 32 | }; 33 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_cut.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tb_cut_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 18 18 3 1", 5 | /* colors */ 6 | " c None s mask", 7 | "n c black s style", 8 | "m c grey50 s dark", 9 | /* pixels */ 10 | " ", 11 | " n nm ", 12 | " nm nm ", 13 | " n nm ", 14 | " nm nm ", 15 | " n nm ", 16 | " nmnm ", 17 | " nm ", 18 | " nnnm ", 19 | " mnm nm ", 20 | " nnnm nnn ", 21 | " nmmnm nm n ", 22 | " n nm nm nm ", 23 | " n nm nm nm ", 24 | " nnmm nnm ", 25 | " mm mm ", 26 | " ", 27 | " " 28 | }; 29 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_exit.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_exit_xpm[] = { 3 | "18 18 4 1", 4 | " c None", 5 | ". c black", 6 | "X c white", 7 | "o c red", 8 | " ", 9 | " ", 10 | " ......... ", 11 | " .XXXXXX.. ", 12 | " .XXXXXX.. ", 13 | " ...XXXXXX.. ", 14 | " .o.XXXXXX.. ", 15 | " ......oo.XX..X.. ", 16 | " .oooooooo.X..X.. ", 17 | " .oooooooo.XXXX.. ", 18 | " ......oo.XXXXX.. ", 19 | " .o.XXXXXX.. ", 20 | " ...XXXXXX.. ", 21 | " .XXXX.... ", 22 | " .XX...... ", 23 | " ......... ", 24 | " ", 25 | " "}; 26 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_find.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_find_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 7 1", 5 | /* colors */ 6 | " c None", 7 | ". c black", 8 | "X c white", 9 | "o c lightgray", 10 | "O c lightsteelblue", 11 | "+ c grey", 12 | "@ c grey50", 13 | /* pixels */ 14 | " ", 15 | " ......... ", 16 | " .XXXXXXX.. ", 17 | " .XXXXXXX.o. ", 18 | " .XXXXXXX.... ", 19 | " .XXXXXXXXXX. ", 20 | " .XXXXXXX.... ", 21 | " .XXXXXX.OOOO. ", 22 | " .XXXXX.OXXOOO. ", 23 | " .XXXXX.OXOOOO. ", 24 | " .XXXXX.OOOOOO. ", 25 | " .XXXXX.OOOXOO. ", 26 | " .XXXXXX.OOOO.+ ", 27 | " .XXXXXXX....+.. ", 28 | " .XXXXXXXXXX. ... ", 29 | " ............ .. ", 30 | " @@@@@@@@@@ ", 31 | " "}; 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_find_help.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_find_help_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 6 1", 5 | /* colors */ 6 | " c None", 7 | ". c black", 8 | "X c grey50", 9 | "o c lightgray", 10 | "O c white", 11 | "+ c lightsteelblue", 12 | /* pixels */ 13 | " ", 14 | " ", 15 | " .....X ", 16 | " .. X..X ", 17 | " ..X ... ", 18 | " ..X .... ", 19 | " X.. .oOOo. ", 20 | " .o++Ooo. ", 21 | " .OOOOoO. ", 22 | " ..oOO+oo. ", 23 | " ...oOOo.X ", 24 | " ....X.. ", 25 | " ..X ... ", 26 | " ..X .. ", 27 | " ..X ", 28 | " XX ", 29 | " ", 30 | " "}; 31 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_find_next.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_find_next_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 9 1", 5 | /* colors */ 6 | " c None", 7 | ". c black", 8 | "X c white", 9 | "o c lightgray", 10 | "O c #800000", 11 | "+ c red", 12 | "@ c lightsteelblue", 13 | "# c grey", 14 | "$ c grey50", 15 | /* pixels */ 16 | " ", 17 | " ......... ", 18 | " .XXXXXXX.. ", 19 | " .XXXXXXX.o. ", 20 | " .XOXXXXX.... ", 21 | " XXOOXXXXXXX. ", 22 | "OOOOO+OXXX.... ", 23 | "O++++++OX.@@@@. ", 24 | "O+++++++O@XX@@@. ", 25 | "O++++++O.@X@@@@. ", 26 | "OOOOO+OX.@@@@@@. ", 27 | " XXOOXX.@@@X@@. ", 28 | " .XOXXXX.@@@@.# ", 29 | " .XXXXXXX....#.. ", 30 | " .XXXXXXXXXX. ...", 31 | " ............ ..", 32 | " $$$$$$$$$$ ", 33 | " "}; 34 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_find_prev.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_find_prev_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 9 1", 5 | /* colors */ 6 | " c None", 7 | ". c white", 8 | "X c black", 9 | "o c lightgray", 10 | "O c grey", 11 | "+ c #800000", 12 | "@ c red", 13 | "# c lightsteelblue", 14 | "$ c grey50", 15 | /* pixels */ 16 | " ", 17 | " XXXXXXXXX ", 18 | " X.......XX ", 19 | " X.......XoX ", 20 | " O.+.....XXXX ", 21 | " .++........X ", 22 | " +@+++++.XXXX ", 23 | " +@@@@@@+X####X ", 24 | "+@@@@@@@X#..###X ", 25 | " +@@@@@@X#.####X ", 26 | " +@++++X######X ", 27 | " .++...X###.##X ", 28 | " O.+....X####XO ", 29 | " X.......XXXXOXX ", 30 | " X..........X XXX", 31 | " XXXXXXXXXXXX XX", 32 | " $$$$$$$$$$ ", 33 | " "}; 34 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_help.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_help_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 3 1", 5 | /* colors */ 6 | " c None", 7 | ". c black", 8 | "X c grey50", 9 | /* pixels */ 10 | " ", 11 | " ", 12 | " .....X ", 13 | " .. X..X ", 14 | " ..X ... ", 15 | " ..X ... ", 16 | " X.. X..X ", 17 | " ..X ", 18 | " .. ", 19 | " ..X ", 20 | " ..X ", 21 | " ", 22 | " ..X ", 23 | " ..X ", 24 | " ..X ", 25 | " XX ", 26 | " ", 27 | " "}; 28 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_jump.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tb_jump_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 18 18 6 1", 5 | /* colors */ 6 | ". c black", 7 | "a c yellow4", 8 | "b c grey50", 9 | "c c gray", 10 | "d c yellow", 11 | "e c None", 12 | /* pixels */ 13 | "eeeeeeeeeeeeeeeeee", 14 | "eeeeeeeeeeeeeeeeee", 15 | "eeeeeeeeeeeeeeeeee", 16 | "eeeeeeeeeeeeeeeeee", 17 | "eeeaaaaaaaaaaaaaae", 18 | "eeabdddddddddddd.b", 19 | "eabddddddddddddd.b", 20 | "abdcbcdddddddddd.b", 21 | "addb.bdddddddddd.b", 22 | "bddcbcdddddddddd.b", 23 | "b.dddddddddddddd.b", 24 | "eb.ddddddddddddd.b", 25 | "eeb..............b", 26 | "eeebbbbbbbbbbbbbbb", 27 | "eeeeeeeeeeeeeeeeee", 28 | "eeeeeeeeeeeeeeeeee", 29 | "eeeeeeeeeeeeeeeeee", 30 | "eeeeeeeeeeeeeeeeee" 31 | }; 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_load_session.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_load_session_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 7 1", 5 | /* colors */ 6 | " c None", 7 | ". c #800000", 8 | "X c red", 9 | "o c black", 10 | "O c white", 11 | "+ c darkgray", 12 | "@ c grey50", 13 | /* pixels */ 14 | " .. ", 15 | " .XX. ", 16 | " .XXXX. ", 17 | " ...XX... ", 18 | " .XX. ", 19 | " .XX. ", 20 | " .XX. ", 21 | " .... ", 22 | " ooooooooooooo ", 23 | " oOOOOOOOOOO++@o ", 24 | " oOOOOOOOOOOOO@@o ", 25 | " oO+++++++++XX@@o ", 26 | " oO+++++++++++@@o ", 27 | " oOoooooooooo+@@o@", 28 | " oOOOOOOOOOOO+@@o@", 29 | " o+@@@@@@@@@@@@o@ ", 30 | " ooooooooooooo@ ", 31 | " @@@@@@@@@@@ "}; 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_macro.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tb_macro_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | " 18 18 4 1", 5 | /* colors */ 6 | " c None", 7 | ". c grey50", 8 | "# c black", 9 | "o c white", 10 | /* pixels */ 11 | " .##. ", 12 | " .#oo#. ", 13 | " #oooo#. ", 14 | " .#oooo#. ", 15 | " .#oo#. ", 16 | " #####. ", 17 | " #####o#. ", 18 | " .#oooooo# ", 19 | " ##oooooo## ", 20 | " .####oo.# ", 21 | " .###ooo#. ", 22 | " ##ooooo## ", 23 | " .#ooooooo## ", 24 | " #ooo###ooo## ", 25 | " #ooo#. ##oooo# ", 26 | " #oo#. .#ooo# ", 27 | " .### .###. ", 28 | " .. .# "}; 29 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_make.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_make_xpm[] = { 3 | "18 18 4 1", 4 | " c None", 5 | ". c black", 6 | "X c white", 7 | "o c grey50", 8 | " ", 9 | " .. ..... ", 10 | " .XX.XXXXX. ", 11 | " .XXXXXXXXX. ", 12 | " .Xo.XXXX..X. ", 13 | " .. ....o .. ", 14 | " ... . ", 15 | " ...o ", 16 | " ...o ", 17 | " ...o ", 18 | " ...o ", 19 | " ...o ", 20 | " ...o ", 21 | " ...o ", 22 | " ...o ", 23 | " ...o ", 24 | " ooo ", 25 | " "}; 26 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_maximize.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_maximize_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 5 1", 5 | /* colors */ 6 | " s None c None", 7 | ". c white", 8 | "X c black", 9 | "a c grey50", 10 | "x c lightsteelblue", 11 | /* pixels */ 12 | " ", 13 | " .XXXXXXXXXXX ", 14 | " .Xxxxxxxxx.X ", 15 | " .Xxx.xxxxx.Xa ", 16 | " .Xx..xxxxx.Xa ", 17 | " .Xxxxxxxxx.Xa ", 18 | " .Xxxxxxxxx.Xa ", 19 | " .Xxxxxxxxx.Xa ", 20 | " .Xxxxxxxxx.Xa ", 21 | " .Xxxxxxxxx.Xa ", 22 | " .Xxxxxxxxx.Xa ", 23 | " .Xxxxxxxxx.Xa ", 24 | " .Xxxxxxxxx.Xa ", 25 | " .Xxxxxxxxx.Xa ", 26 | " .X.........Xa ", 27 | " .XXXXXXXXXXXa ", 28 | " aaaaaaaaaa ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_minimize.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_minimize_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 5 1", 5 | /* colors */ 6 | " s None c None", 7 | ". c white", 8 | "X c black", 9 | "o c lightsteelblue", 10 | "O c grey50", 11 | /* pixels */ 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " .XXXXXXXXXXXXX ", 18 | " .Xoooooooooo.X ", 19 | " .Xoo.ooooooo.XO ", 20 | " .Xoooooooooo.XO ", 21 | " .Xooooooooo..XO ", 22 | " .X...........XO ", 23 | " .XXXXXXXXXXXXXO ", 24 | " OOOOOOOOOOOO ", 25 | " ", 26 | " ", 27 | " ", 28 | " ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_new.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_new_xpm[] = { 3 | "18 18 5 1", 4 | " s mask c None", 5 | ". s dark c grey50", 6 | "X s white c white", 7 | "x c lightsteelblue", 8 | "o s style c black", 9 | " . .X. ", 10 | " X. .X. X.", 11 | " X.oXoX.X", 12 | " ooooooooooXXXXo..", 13 | " oxxxxxxxxXXXXXXXX", 14 | " oxxXxxxxxoXoXXo..", 15 | " oxXXxxxx.xXoXoX ", 16 | " oxxxxxx.xxXoX..X ", 17 | " oxxxxxxxxxXoX. .X", 18 | " oxxxxxxxxxXo. .", 19 | " oxxxxxxxxxXo. ", 20 | " oxxxxxxxxxXo. ", 21 | " oxxxxxxxxxXo. ", 22 | " oxxxxxxxxxXo. ", 23 | " oxxxxxxxxxXo. ", 24 | " oXXXXXXXXXXo. ", 25 | " oooooooooooo. ", 26 | " .......... "}; 27 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_new_session.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_new_session_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 6 1", 5 | /* colors */ 6 | " c None", 7 | ". c grey50", 8 | "X c white", 9 | "o c black", 10 | "O c darkgray", 11 | "+ c red", 12 | /* pixels */ 13 | " . .X. . ", 14 | " . oXo . ", 15 | " ..oXXXo.. ", 16 | " XXXXXXXXX ", 17 | " ..oXXXo.. ", 18 | " . oXo . ", 19 | " . .X. . ", 20 | " . ", 21 | " ooooooooooooo ", 22 | " oXXXXXXXXXXOO.o ", 23 | " oXXXXXXXXXXXX..o ", 24 | " oXOOOOOOOOO++..o ", 25 | " oXOOOOOOOOOOO..o ", 26 | " oXooooooooooO..o.", 27 | " oXXXXXXXXXXXO..o.", 28 | " oO............o. ", 29 | " ooooooooooooo. ", 30 | " ........... "}; 31 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_open.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_open_xpm[] = { 3 | "18 18 6 1", 4 | " s mask c None", 5 | ". s style c black", 6 | "X s dark c gray50", 7 | "o s white c white", 8 | "O s mid c darkgray", 9 | "+ c gray", 10 | " ", 11 | " .........X ", 12 | " .oooooo.o.X ", 13 | " .oooooo.oo.X ", 14 | " .oooooo....X ", 15 | " ...ooooooooo... ", 16 | " .O.OOOOOOOOo. . ", 17 | ".............O.X.X", 18 | ".oooooooooooo..X.X", 19 | " .o++++++++++X.X.X", 20 | " .o+++++++++++.X.X", 21 | " .o++++++++++X..X", 22 | " .o+++++++++++..X", 23 | " .oXXXXXXXXXXX.X", 24 | " ..............X", 25 | " XXXXXXXXXXXXX", 26 | " ", 27 | " "}; 28 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_paste.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_paste_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 5 1", 5 | /* colors */ 6 | " c None s mask", 7 | "X c black s style", 8 | "o c grey50 s dark", 9 | "O c white s white", 10 | "+ c gray s mid", 11 | /* pixels */ 12 | " ", 13 | " XXXX ", 14 | " XXXX ", 15 | " XXX++++XXXo ", 16 | " X+oXXXXXXooXo ", 17 | " X+oooooooooXo ", 18 | " X+oo+XXXXXXXXXX ", 19 | " X+oo+XOOOOOOOOX ", 20 | " X+oo+XOXXXXXXOXo ", 21 | " X+oo+XOOOOOOOOXo ", 22 | " X+oo+XOOOOOOOOXo ", 23 | " X+oo+XOXXXXXXOXo ", 24 | " X+oo+XOOOOOOOOXo ", 25 | " XXXXXOXXOOOOOXo ", 26 | " oooXOOOOOOOOXo ", 27 | " XXXXXXXXXXo ", 28 | " ooooooooo ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_print.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_print_xpm[] = { 3 | "18 18 6 1", 4 | " c None", 5 | ". c black", 6 | "X c white", 7 | "o c gray", 8 | "O c grey50", 9 | "+ c red", 10 | " .......... ", 11 | " .XXXXXXXX. ", 12 | " .X...XXXX.O ", 13 | " .XXXXXXXX.O ", 14 | " .X...XXXX.O ", 15 | " .XXXXXXXX.O ", 16 | " .X.....XX.O ", 17 | " .XXXXXXXX.O ", 18 | "................ ", 19 | ".XXXXXXXXXXXXXO. ", 20 | ".X++ooooooooooO.O ", 21 | ".XooooooooooooO.O ", 22 | ".XooooooooooooO.O ", 23 | "................O ", 24 | " .oooooooooooo.OO ", 25 | " ..............O ", 26 | " OOOOOOOOOOOOO ", 27 | " "}; 28 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_redo.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_redo_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 4 1", 5 | /* colors */ 6 | " s mask c None", 7 | ". s style c black", 8 | "X s white c white", 9 | "o s dark c grey50", 10 | /* pixels */ 11 | " ", 12 | " ", 13 | " ..... .. ", 14 | " ..XXXXX..X.o ", 15 | " .XXXXXXXXXX.o ", 16 | " .XX....XXXX.o ", 17 | " .XX.ooo.XXXX.o ", 18 | " .XX.o .XXXXX.o ", 19 | " .XX.o .......o ", 20 | " .XX.o ooo.ooo ", 21 | " .XX.o .X. ", 22 | " .XX.....XX.o ", 23 | " .XXXXXXXX.oo ", 24 | " ..XXXXX.oo ", 25 | " .....oo ", 26 | " ooooo ", 27 | " ", 28 | " "}; 29 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_replace.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_replace_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 6 1", 5 | /* colors */ 6 | " c None", 7 | ". c black", 8 | "X c red", 9 | "o c grey50", 10 | "a c white", 11 | "b c lightgray", 12 | /* pixels */ 13 | " ", 14 | " ......... ", 15 | " .aaaaaaa.. ", 16 | " .a..aaaa.a. ", 17 | " ob..oaaa.... ", 18 | " b.a..aaaaaa. ", 19 | " o....oaaaaa.o ", 20 | " .aaa..aaaaa.o ", 21 | " ..oao...aaa .o ", 22 | " baaaaaaaaaabo ", 23 | " .aXX Xaaa....b ", 24 | " .aoX XXaa.oa.. ", 25 | " .aaoXXXXXa....b ", 26 | " .aaaaaXXaa.oa.. ", 27 | " .aaaaaXaaa.oa.. ", 28 | " ......b..b....b ", 29 | " ooooooobbbb ", 30 | " "}; 31 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_save.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_save_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 5 1", 5 | /* colors */ 6 | " c None", 7 | ". c black", 8 | "X c gray", 9 | "o c white", 10 | "x c grey50", 11 | /* pixels */ 12 | " ", 13 | " .............. ", 14 | " .X.oooooooo. . ", 15 | " .X.oooooooo...x ", 16 | " .X.oooooooo.X.x ", 17 | " .X.oooooooo.X.x ", 18 | " .X.oooooooo.X.x ", 19 | " .X.oooooooo.X.x ", 20 | " .XX........XX.x ", 21 | " .XXXXXXXXXXXX.x ", 22 | " .XX.........X.x ", 23 | " .XX...... .X.x ", 24 | " .XX...... .X.x ", 25 | " .XX...... .X.x ", 26 | " .............x ", 27 | " xxxxxxxxxxxxx ", 28 | " ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_save_all.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_save_all_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 5 1", 5 | /* colors */ 6 | " c None", 7 | ". c black", 8 | "X c gray", 9 | "o c white", 10 | "x c grey50", 11 | /* pixels */ 12 | ".............. ", 13 | ".X.oooooooo.o. ", 14 | ".X.oooooooo...x ", 15 | ".X............... ", 16 | ".X..X.oooooooo.o. ", 17 | ".X..X.oooooooo...x", 18 | ".X..X.oooooooo.X.x", 19 | ".XX.X.oooooooo.X.x", 20 | ".XX.X.oooooooo.X.x", 21 | ".XX.X.oooooooo.X.x", 22 | ".XX.XX........XX.x", 23 | ".XX.XXXXXXXXXXXX.x", 24 | ".XX.XX.........X.x", 25 | " ...XX......oo.X.x", 26 | " x.XX......oo.X.x", 27 | " .XX......oo.X.x", 28 | " .............x", 29 | " xxxxxxxxxxxx "}; 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_save_session.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_save_session_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 7 1", 5 | /* colors */ 6 | " c None", 7 | ". c #800000", 8 | "X c red", 9 | "o c black", 10 | "O c white", 11 | "+ c darkgray", 12 | "@ c grey50", 13 | /* pixels */ 14 | " .... ", 15 | " .XX. ", 16 | " .XX. ", 17 | " .XX. ", 18 | " ...XX... ", 19 | " .XXXX. ", 20 | " .XX. ", 21 | " .. ", 22 | " ooooooooooooo ", 23 | " oOOOOOOOOOO++@o ", 24 | " oOOOOOOOOOOOO@@o ", 25 | " oO+++++++++XX@@o ", 26 | " oO+++++++++++@@o ", 27 | " oOoooooooooo+@@o@", 28 | " oOOOOOOOOOOO+@@o@", 29 | " o+@@@@@@@@@@@@o@ ", 30 | " ooooooooooooo@ ", 31 | " @@@@@@@@@@@ "}; 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_shell.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_shell_xpm[] = { 3 | "18 18 5 1 0 0", 4 | /* colors */ 5 | " c None", 6 | ". c black", 7 | "X c grey", 8 | "o c gray50", 9 | "O c white", 10 | /* pixels */ 11 | " ", 12 | " ... ... ", 13 | " .oXoooXo. ", 14 | " .XOXo.oXOX. ", 15 | " .oXOXoXOXo. ", 16 | " .oXXXX.XXXXo. ", 17 | " .oX.oOXoXOo.Xo. ", 18 | " .XXXoOX.XOoXXX. ", 19 | " .XOX.oOoOo.XOX.o ", 20 | " .oXOX.X.X.XOXo.o ", 21 | " .oOXoXXXoXOo.o ", 22 | " .oXXXOXXXo.o ", 23 | " .XXOOOXX.o ", 24 | " ..oXXXo..o ", 25 | " .oXXXXXXXo.o ", 26 | " ...........o ", 27 | " oooooooooo ", 28 | " "}; 29 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_split.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_split_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 5 1", 5 | /* colors */ 6 | " s None c None", 7 | ". c white", 8 | "X c black", 9 | "o c lightsteelblue", 10 | "O c grey50", 11 | /* pixels */ 12 | " ", 13 | " .XXXXXXXXXXX ", 14 | " .Xoooooooo.X ", 15 | " .Xoo.ooooo.XO ", 16 | " .Xo..ooooo.XO ", 17 | " .Xoooooooo.XO ", 18 | " .Xoooooooo.XO ", 19 | " .X.........XO ", 20 | " .XXXXXXXXXXXO ", 21 | " .XOOOOOOOO.XO ", 22 | " .Xoo.ooooo.XO ", 23 | " .Xo..ooooo.XO ", 24 | " .Xoooooooo.XO ", 25 | " .Xoooooooo.XO ", 26 | " .X.........XO ", 27 | " .XXXXXXXXXXXO ", 28 | " OOOOOOOOOO ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/pixmaps/tb_undo.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * tb_undo_xpm[] = { 3 | /* width height num_colors chars_per_pixel */ 4 | "18 18 5 1", 5 | /* colors */ 6 | " s mask c None", 7 | ". s style c black", 8 | "X s white c white", 9 | "o s dark c grey50", 10 | "x s gray c gray", 11 | /* pixels */ 12 | " ", 13 | " ", 14 | " .. ..... ", 15 | " .X..XXXXX.. ", 16 | " .XXXXXXXXXX. ", 17 | " .XXXX....XX.o ", 18 | " .XXXX.ooo.XX. ", 19 | " .XXXXX. .XX.o ", 20 | " .......o .XX.o ", 21 | " o.ooooo .XX.o ", 22 | " .X. .XX.o ", 23 | " .XX.....XX.oo ", 24 | " .XXXXXXXX.o ", 25 | " .XXXXX..oo ", 26 | " .....ooo ", 27 | " ooooo ", 28 | " ", 29 | " "}; 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/doc/digraph.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/doc/digraph.txt -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/doc/farsi.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/doc/farsi.txt -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/doc/maketags.awk: -------------------------------------------------------------------------------- 1 | BEGIN { FS=" "; } 2 | 3 | NR == 1 { nf=split(FILENAME,f,".") 4 | print ""; 5 | print "" f[1] ""; 6 | print ""; 7 | print "

Vim Documentation: " f[1] "

"; 8 | print ""; 9 | print "
"; 10 | print "
";
11 | }
12 | 
13 | {
14 | 	#
15 | 	# protect special chars
16 | 	#
17 | 	gsub(/&/,"\\&");
18 | 	gsub(/>/,"\\>");
19 | 	gsub(/"tags.ref"
26 | 	n=split($2,w,".");
27 | 	printf ("|%s|	%s\n",w[1],$1,$1,$2);
28 | }
29 | 
30 | END     {
31 | 	topback();
32 | 	print "
\n\n\n\n"; 33 | } 34 | 35 | # 36 | # as main we keep index.txt (by default) 37 | # other candidate, help.txt 38 | # 39 | function topback () { 40 | printf("top - "); 41 | printf("back to help\n"); 42 | } 43 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/doc/options.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/doc/options.txt -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/doc/rightleft.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/doc/rightleft.txt -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/doc/vimtutor.1: -------------------------------------------------------------------------------- 1 | .TH VIMTUTOR 1 "1998 December 28" 2 | .SH NAME 3 | vimtutor \- the Vim tutor 4 | .SH SYNOPSIS 5 | .br 6 | .B vimtutor 7 | .SH DESCRIPTION 8 | .B Vimtutor 9 | starts the 10 | .B Vim 11 | tutor. 12 | It copies the tutor file first, so that it can be modified without changing 13 | the original file. 14 | .PP 15 | The 16 | .B Vimtutor 17 | is useful for people that want to learn their first 18 | .B Vim 19 | commands. 20 | .PP 21 | There are no options or arguments. 22 | .B Vim 23 | is always started in Vi compatible mode. 24 | .SH FILES 25 | .TP 15 26 | /usr/local/lib/vim/tutor/tutor 27 | The 28 | .B Vimtutor 29 | text file. 30 | .SH AUTHOR 31 | The 32 | .B Vimtutor 33 | was originally written for Vi by Michael C. Pierce and Robert K. Ware, 34 | Colorado School of Mines using ideas supplied by Charles Smith, 35 | Colorado State University. 36 | E-mail: bware@mines.colorado.edu. 37 | .br 38 | It was modified for 39 | .B Vim 40 | by Bram Moolenaar. 41 | .SH SEE ALSO 42 | vim(1) 43 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/ftoff.vim: -------------------------------------------------------------------------------- 1 | " Vim support file to switch off detection of file types 2 | " 3 | " Maintainer: Bram Moolenaar 4 | " Last change: 1999 Feb 02 5 | 6 | if exists("did_load_filetypes") 7 | unlet did_load_filetypes 8 | endif 9 | 10 | " Remove all autocommands in the filetype group 11 | au! filetype * 12 | 13 | " vim: ts=8 tw=0 sts=0 14 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/README.txt: -------------------------------------------------------------------------------- 1 | The macros in the maze, hanoi and urm directories can be used to test Vim for 2 | vi compatibility. They have been written for vi to show its unlimited 3 | possibilities. The life macros can be used for performance comparisons. 4 | 5 | hanoi Macros that solve the tower of hanoi problem. 6 | life Macros that run Conway's game of life. 7 | maze Macros that solve a maze (amazing!). 8 | urm Macros that simulate a simple computer: "Universal Register Machine" 9 | 10 | 11 | The other files contain some handy utilities. They also serve as examples for 12 | how to use Vi and Vim functionality. 13 | 14 | diffwin.vim show the differences of two windows 15 | dvorak for when you use a Dvorak keyboard 16 | explorer.vim file browser 17 | html macros for editing HTML files 18 | justify.vim user function for justifying text 19 | shellmenu.vim menus for editing shell scripts in the GUI version 20 | swapmous.vim swap left and right mouse buttons 21 | 22 | This one is only for Unix. It can be found in the extra archive: 23 | file_select.vim macros that make a handy file selector 24 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/hanoi/click.me: -------------------------------------------------------------------------------- 1 | 2 | 3 | See Vim solve the towers of Hanoi! 4 | 5 | Instructions: 6 | type ":so hanoi.vim" to load the macros 7 | type "g" to start it 8 | 9 | and watch it go. 10 | 11 | to quit type ":q!" 12 | to interrupt type CTRL-C 13 | 14 | (This text will disappear as soon as you type "g") 15 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/hanoi/hanoi.vim: -------------------------------------------------------------------------------- 1 | set remap 2 | set noterse 3 | set wrapscan 4 | " to set the height of the tower, change the digit in the following 5 | " two lines to the height you want (select from 1 to 9) 6 | map t 7 7 | map! t 7 8 | map L 1G/t X/^0 $P1GJ$An$BGC0e$X0E0F$X/T @f @h $A1GJ@f0l$Xn$PU 9 | map g IL 10 | 11 | map J /^0[^t]*$ 12 | map X x 13 | map P p 14 | map U L 15 | map A "fyl 16 | map B "hyl 17 | map C "fp 18 | map e "fy2l 19 | map E "hp 20 | map F "hy2l 21 | 22 | " initialisations: 23 | " KM cleanup buffer 24 | " Y create tower of desired height 25 | " NOQ copy it and inster a T 26 | " NO copy this one 27 | " S change last char into a $ 28 | " R change last char in previous line into a n 29 | " T insert two lines containing a zero 30 | " V add a last line containing a backslash 31 | map I KMYNOQNOSkRTV 32 | 33 | "create empty line 34 | map K 1Go 35 | 36 | "delete to end of file 37 | map M dG 38 | 39 | "yank one line 40 | map N yy 41 | 42 | "put 43 | map O p 44 | 45 | "delete more than height-of-tower characters 46 | map q tllD 47 | 48 | "create a tower of desired height 49 | map Y o0123456789Z0q 50 | 51 | "insert a T in column 1 52 | map Q 0iT 53 | 54 | "substitute last character with a n 55 | map R $rn 56 | 57 | "substitute last character with a $ 58 | map S $r$ 59 | 60 | "insert two lines containing a zero 61 | map T ko0 0  62 | 63 | "add a backslash at the end 64 | map V Go/ 65 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/hanoi/poster: -------------------------------------------------------------------------------- 1 | Article 2913 of alt.sources: 2 | Path: oce-rd1!hp4nl!mcsun!uunet!munnari.oz.au!metro!cluster!swift!softway!otc!gregm 3 | From: gregm@otc.otca.oz.au (Greg McFarlane) 4 | Newsgroups: comp.sources.d,alt.sources,comp.editors 5 | Subject: VI SOLVES HANOI 6 | Message-ID: <2323@otc.otca.oz> 7 | Date: 19 Feb 91 01:32:14 GMT 8 | Sender: news@otc.otca.oz 9 | Reply-To: gregm@otc.otca.oz.au (Greg McFarlane) 10 | Organization: OTC Development Unit, Australia 11 | Lines: 80 12 | Xref: oce-rd1 comp.sources.d:5702 alt.sources:2913 comp.editors:2313 13 | 14 | Submitted-by: gregm@otc.otca.oz.au 15 | Archive-name: hanoi.vi.macros/part01 16 | 17 | Everyone seems to be writing stupid Tower of Hanoi programs. 18 | Well, here is the stupidest of them all: the hanoi solving vi macros. 19 | 20 | Save this article, unshar it, and run uudecode on hanoi.vi.macros.uu. 21 | This will give you the macro file hanoi.vi.macros. 22 | Then run vi (with no file: just type "vi") and type: 23 | :so hanoi.vi.macros 24 | g 25 | and watch it go. 26 | 27 | The default height of the tower is 7 but can be easily changed by editing 28 | the macro file. 29 | 30 | The disks aren't actually shown in this version, only numbers representing 31 | each disk, but I believe it is possible to write some macros to show the 32 | disks moving about as well. Any takers? 33 | 34 | (For maze solving macros, see alt.sources or comp.editors) 35 | 36 | Greg 37 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/life/click.me: -------------------------------------------------------------------------------- 1 | 2 | To run the "Conway's game of life" macros: 3 | 4 | 1. Type ":so life.vim". This loads the macros. 5 | 2. Type "g" to run the macros. 6 | 3. Type CTRL-C to interrupt. 7 | 4. Type ":q!" to get out. 8 | 9 | See life.vim for more advanced usage. 10 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/maze/Makefile: -------------------------------------------------------------------------------- 1 | # It's simple... 2 | # NOTE: The maze program doesn't work on x86 systems, might be a byte order 3 | # problem. 4 | 5 | maze: mazeansi.c 6 | cc -o maze mazeansi.c 7 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/maze/maze.c: -------------------------------------------------------------------------------- 1 | char*M,A,Z,E=40,J[40],T[40];main(C){for(*J=A=scanf(M="%d",&C); 2 | -- E; J[ E] =T 3 | [E ]= E) printf("._"); for(;(A-=Z=!Z) || (printf("\n|" 4 | ) , A = 39 ,C -- 5 | ) ; Z || printf (M ))M[Z]=Z[A-(E =A[J-Z])&&!C 6 | & A == T[ A] 7 | |6<<27" to load the macros 11 | 12 | type "g" to start 13 | 14 | to interrupt type "" 15 | to quit type ":q!" 16 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/maze/mazeansi.c: -------------------------------------------------------------------------------- 1 | char*M,A,Z,E=40,J[80],T[3];main(C){for(M=J+E,*J=A=scanf("%d",& 2 | C) ;-- E;J [E ]=M 3 | [E ]= E) printf("._"); for(;(A-=Z=!Z) || (printf("\n|" 4 | ) , A = 39 ,C -- 5 | ) ; Z || printf (T ))T[Z]=Z[A-(E =A[J-Z])&&!C 6 | & A == M[ A] 7 | |6<<11 4 | noremap <2-LeftMouse> <2-RightMouse> 5 | noremap <3-LeftMouse> <3-RightMouse> 6 | noremap <4-LeftMouse> <4-RightMouse> 7 | noremap 8 | noremap 9 | noremap 10 | noremap <2-RightMouse> <2-LeftMouse> 11 | noremap <3-RightMouse> <3-LeftMouse> 12 | noremap <4-RightMouse> <4-LeftMouse> 13 | noremap 14 | noremap 15 | noremap g 16 | noremap g 17 | noremap! 18 | noremap! 19 | noremap! 20 | noremap! 21 | noremap! 22 | noremap! 23 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/urm/examples: -------------------------------------------------------------------------------- 1 | Note that enough temporary registers should be provided for each example. 2 | All should be initialised to 0. 3 | 4 | Initial register values for benchmarking: 0,8,3,0,... 5 | 6 | Performed on a Xenix 386/16: 7 | Operation [sec, kbyte tmp space]: program 8 | 9 | Asym. Diff.[ 7, 4]: (s2;s3)3. 10 | Abs. Diff. [90,81]: (a1;a4;s2)2; (a2;s1)1; (a1;a5;s3)3; (a3;s1)1; (s2;s3)3; (s5;s4)4; (a2;s5)5. 11 | Add [ 7, 4]: (a2;s3)3. 12 | Mult [227, 161]: (a4;a5;s2)2; ((a2;s4)4; s3; (a1;a4;s5)5; (a5;s1)1)3. 13 | Copy [ 48, 25]: (a1;a3;s2)2; (a2;s1)1. 14 | sign [ 30, 17]: (a3;s2)2; (a2;(s3)3)3. 15 | !sign[ 36, 28]: (a3;s2)2; (a2;(s3)3)3; a3; (s3;s2)2; (s3;a2)3. 16 | Div [630,1522]: (a9;s2)2; (a2;a10;s3)3; (a3;s2)2; (a2;(s3)3)3; a3; (s3;s2)2; (s3;a2)3; (a2)2;(a2;s9)9;(a3;s10)10; (a9;a10;s2)2; (a11;a12;s3)3; (a2;s12)12; (a3;s9)9; (s2;s3)3; (a3;s2)2; (a2;(s3)3)3; a3; (s3;s2)2; (s3;a2)3; (a1;s2)2; (a2;s10)10; (a3;s11)11; ((a12;a13;s3)3; (a3;s13)13; (s2;s3)3; (a3;s12)12; a14; (s1)1; (a9;a10;s2)2; (a11;a12;s3)3; (a2;s12)12; (a3;s9)9; (s2;s3)3; (a3;s2)2; (a2;(s3)3)3; a3; (s3;s2)2; (s3;a2)3; (a1;s2)2; (a2;s10)10; (a3;s11)11)1; (s2)2; (a2;s14)14. 17 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/urm/urm: -------------------------------------------------------------------------------- 1 | >0 2 | >3 3 | >4 4 | >0 5 | >0 6 | >0 7 | (a4;a5;s2)2; ((a2;s4)4; s3; (a1;a4;s5)5; (a5;s1)1)3. 8 | _________ 9 | O ; =xp ( =x%hp ) @l a @db s @dt . =x0xkdd:ready _end_ 10 | o 0 1 2 3 4 5 6 7 8 9 0 11 | _________ 12 | INIT main(k), l, b, c, t, u, q, d 13 | "kT "lT "bT "cT "tT "uT "qT "dT 14 | =lF'wa/O fpaw"zdt hp@z0"xD@x@k 15 | =2ldwhp'wiGT'wp0P0"yD@ya =xlwP >0 =x%p I k/>0 ww"ydt 0D@y 16 | 'wa/o fwF'wpi`ar`aF'wffp0"vD@v0"vDp03x@v'wa @c 0 0 0I f0w"wdt 0D@w 17 | `ahmaF'wa 'aa1 > @b 0p0f>w"vdt 0D@v 18 | 'wa/o wfbF'wpi`ar`aF'wffp0"vD@v0"vDp03x@v'wa @u 9 0 0I f9w"wdt 0D@w 19 | `ahmaF'wa `alr0 > @q 0p0f>w"vdt 0D@v 20 | `ahy2l'wa `ax >1 @t 0p0/>1 ww"idt 0D@i 21 | =xwhpbldwhp'wpaG$ma0"yD@y@ 22 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/macros/urm/urm.vim: -------------------------------------------------------------------------------- 1 | map * 1G/INIT j"iT@i1G/INIT dG 2 | map g 1G/^[(as;.] i >,mkkmw@k 3 | map T y$ 4 | map F yl 5 | map = 'kf, 6 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/abaqus.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Abaqus finite element input file 3 | " Maintainer: Carl Osterwisch 4 | " Last Change: 8th Feb 2000 5 | 6 | " Remove any old syntax stuff hanging around 7 | syn clear 8 | 9 | " Abaqus comment lines 10 | syn match abaqusComment "^\*\*.*$" 11 | 12 | " Abaqus keyword lines 13 | syn match abaqusKeywordLine "^\*\h.*" contains=abaqusKeyword,abaqusParameter,abaqusValue 14 | syn match abaqusKeyword "^\*\h[^,]*" contained 15 | syn match abaqusParameter ",[^,=]\+"lc=1 contained 16 | syn match abaqusValue "=\s*[^,]*"lc=1 contained 17 | 18 | " Illegal syntax 19 | syn match abaqusBadLine "^\s\+\*.*" 20 | 21 | if !exists("did_abaqus_syntax_inits") 22 | let did_abaqus_syntax_inits = 1 23 | " The default methods for highlighting. Can be overridden later 24 | hi link abaqusComment Comment 25 | hi link abaqusKeyword Statement 26 | hi link abaqusParameter Identifier 27 | hi link abaqusValue Constant 28 | hi link abaqusBadLine Error 29 | endif 30 | 31 | let b:current_syntax = "abaqus" 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/apachestyle.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Apache-style config files (Apache, ProFTPd, etc) 3 | " Maintainer: Christian Hammers 4 | " URL: none 5 | " Last Change: 1999 Oct 28 6 | 7 | " Apache-style config files look this way: 8 | " 9 | " Option value 10 | " Option value1 value2 11 | "
12 | " Option value 13 | " 14 | " # Comments... 15 | " 16 | "
17 | 18 | " Remove any old syntax stuff hanging around 19 | syn clear 20 | syn case ignore 21 | 22 | " specials 23 | syn match apachestyleComment "^\s*#.*" 24 | 25 | " options and values 26 | syn region apachestyleOption start="^\s*[A-Za-z]" end="$\|\s" 27 | 28 | " tags 29 | syn region apachestyleTag start=+<+ end=+>+ contains=apachestyleTagN,apachestyleTagError 30 | syn match apachestyleTagN contained +<[/\s]*[-a-zA-Z0-9]\++ms=s+1 31 | syn match apachestyleTagError contained "[^>]<"ms=s+1 32 | 33 | 34 | if !exists("did_apachestyle_syntax_inits") 35 | let did_apachestyle_syntax_inits = 1 36 | 37 | hi link apachestyleComment Comment 38 | hi link apachestyleOption String 39 | hi link apachestyleTag Special 40 | hi link apachestyleTagN Identifier 41 | hi link apachestyleTagError Error 42 | endif 43 | 44 | let b:current_syntax = "apachestyle" 45 | " vim: ts=8 46 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/aspperl.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Active State's PerlScript (ASP) 3 | " Maintainer: Aaron Hope 4 | " URL: http://nim.dhs.org/~edh/aspperl.vim 5 | " Last Change: 2000 Jun 06 6 | 7 | " Remove any old syntax stuff hanging around 8 | syn clear 9 | 10 | if !exists("main_syntax") 11 | let main_syntax = 'perlscript' 12 | endif 13 | 14 | so :p:h/html.vim 15 | syn include @AspPerlScript :p:h/perl.vim 16 | 17 | syn cluster htmlPreproc add=AspPerlScriptInsideHtmlTags 18 | 19 | syn region AspPerlScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ skip=+".*%>.*"+ end=+%>+ contains=@AspPerlScript 20 | syn region AspPerlScriptInsideHtmlTags keepend matchgroup=Delimiter start=+]*>+ end=++ contains=@AspPerlScript 21 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/change.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: WEB Changes 3 | " Maintainer: Andreas Scherer 4 | " Last Change: August 23, 1999 5 | 6 | " Details of the change mechanism of the WEB and CWEB languages can be found 7 | " in the articles by Donald E. Knuth and Silvio Levy cited in "web.vim" and 8 | " "cweb.vim" respectively. 9 | 10 | " Remove any old syntax stuff hanging around 11 | syn clear 12 | 13 | " We distinguish two groups of material, (a) stuff between @x..@y, and 14 | " (b) stuff between @y..@z. WEB/CWEB ignore everything else in a change file. 15 | syn region changeFromMaterial start="^@x.*$"ms=e+1 end="^@y.*$"me=s-1 16 | syn region changeToMaterial start="^@y.*$"ms=e+1 end="^@z.*$"me=s-1 17 | 18 | if !exists("did_change_syntax_inits") 19 | let did_change_syntax_inits = 1 20 | " The default methods for highlighting. Can be overridden later. 21 | hi link changeFromMaterial String 22 | hi link changeToMaterial Statement 23 | endif 24 | 25 | let b:current_syntax = "change" 26 | 27 | " vim: ts=8 28 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/conf.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: generic configure file 3 | " Maintainer: Bram Moolenaar 4 | " Last Change: 2000 Feb 11 5 | 6 | " remove any old syntax stuff hanging around 7 | syn clear 8 | 9 | syn keyword confTodo contained TODO FIXME XXX 10 | " Avoid matching "text#text", used in /etc/disktab and /etc/gettytab 11 | syn match confComment "^#.*" contains=confTodo 12 | syn match confComment "\s#.*"ms=s+1 contains=confTodo 13 | syn region confString start=+"+ skip=+\\\\\|\\"+ end=+"+ oneline 14 | syn region confString start=+'+ skip=+\\\\\|\\'+ end=+'+ oneline 15 | 16 | if !exists("did_conf_syntax_inits") 17 | let did_conf_syntax_inits = 1 18 | " The default methods for highlighting. Can be overridden later 19 | hi link confComment Comment 20 | hi link confTodo Todo 21 | hi link confString String 22 | endif 23 | 24 | let b:current_syntax = "conf" 25 | 26 | " vim: ts=8 27 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/ctrlh.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: CTRL-H (e.g., ASCII manpages) 3 | " Maintainer: Bram Moolenaar 4 | " Last Change: 1999 Oct 25 5 | 6 | " Existing syntax is kept, this file can be used as an addition 7 | 8 | " Recognize underlined text: _^Hx 9 | syntax match CtrlHUnderline /_\b./ contains=CtrlHHide 10 | 11 | " Recognize bold text: x^Hx 12 | syntax match CtrlHBold /\(.\)\b\1/ contains=CtrlHHide 13 | 14 | " Hide the CTRL-H (backspace) 15 | syntax match CtrlHHide /.\b/ contained 16 | 17 | if !exists("did_ctrlh_syntax_inits") 18 | let did_ctrlh_syntax_inits = 1 19 | " The default methods for highlighting. Can be overridden later 20 | hi link CtrlHHide Ignore 21 | hi CtrlHUnderline term=underline cterm=underline gui=underline 22 | hi CtrlHBold term=bold cterm=bold gui=bold 23 | endif 24 | 25 | " vim: ts=8 26 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/cvs.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: CVS commit file 3 | " Maintainer: Matt Dunford (zoot@zotikos.com) 4 | " Last Change: Tue May 30 14:45:43 PDT 2000 5 | 6 | " Remove any old syntax stuff hanging around 7 | syn clear 8 | 9 | " syn region cvsText start="^[^C][^V][^S][^:]" end="$" 10 | syn region cvsLine start="^CVS:" end="$" contains=cvsFile,cvsDir,cvsFiles 11 | syn match cvsFile contained "\s\t.*" 12 | syn match cvsDir contained "Committing in.*$" 13 | syn match cvsFiles contained "\S\+ Files:" 14 | 15 | if !exists("did_cvs_syntax_inits") 16 | let did_cvs_syntax_inits = 1 17 | " hi link cvsText String 18 | hi link cvsLine Comment 19 | hi link cvsFile Identifier 20 | hi link cvsFiles cvsDir 21 | hi link cvsDir Statement 22 | endif 23 | 24 | let b:current_syntax = "cvs" 25 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/def.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Microsoft Module-Definition (.def) File 3 | " Maintainer: Rob Brady 4 | " Last Change: $Date: 1999/08/17 00:19:18 $ 5 | " URL: http://www.datatone.com/~robb/vim/syntax/def.vim 6 | " $Revision: 1.3 $ 7 | 8 | " Remove any old syntax stuff hanging around 9 | syn clear 10 | 11 | syn case ignore 12 | 13 | syn match defComment ";.*" 14 | 15 | syn keyword defKeyword LIBRARY STUB EXETYPE DESCRIPTION CODE WINDOWS DOS 16 | syn keyword defKeyword RESIDENTNAME PRIVATE EXPORTS IMPORTS SEGMENTS 17 | syn keyword defKeyword HEAPSIZE DATA 18 | syn keyword defStorage LOADONCALL MOVEABLE DISCARDABLE SINGLE 19 | syn keyword defStorage FIXED PRELOAD 20 | 21 | syn match defOrdinal "@\d\+" 22 | 23 | syn region defString start=+'+ end=+'+ 24 | 25 | syn match defNumber "\d+" 26 | syn match defNumber "0x\x\+" 27 | 28 | 29 | if !exists("did_def_syntax_inits") 30 | let did_def_syntax_inits = 1 31 | hi link defComment Comment 32 | hi link defKeyword Keyword 33 | hi link defStorage StorageClass 34 | hi link defString String 35 | hi link defNumber Number 36 | hi link defOrdinal Operator 37 | endif 38 | 39 | let b:current_syntax = "def" 40 | 41 | " vim: ts=8 42 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/dosini.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Configuration File (ini file) for MSDOS/MS Windows 3 | " Maintainer: Sean M. McKee 4 | " Last Change: 1999 Jul 23 5 | " Version Info: @(#)dosini.vim 1.6 97/12/15 08:54:12 6 | 7 | " clear any unwanted syntax defs 8 | syn clear 9 | 10 | " shut case off 11 | syn case ignore 12 | 13 | syn match dosiniLabel "^.\{-}=" 14 | syn region dosiniHeader start="\[" end="\]" 15 | syn match dosiniComment "^;.*$" 16 | 17 | if !exists("did_dosini_syntax_inits") 18 | let did_dosini_syntax_inits = 1 19 | " The default methods for highlighting. Can be overridden later 20 | hi link dosiniHeader Special 21 | hi link dosiniComment Comment 22 | hi link dosiniLabel Type 23 | 24 | endif 25 | 26 | let b:current_syntax = "dosini" 27 | 28 | " vim:ts=8 29 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/elmfilt.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Elm Filter rules 3 | " Maintainer: Dr. Charles E. Campbell, Jr. 4 | " Last Change: November 11, 1998 5 | 6 | " remove any old syntax stuff hanging around 7 | syn clear 8 | 9 | syn keyword elmfiltAction delete execute executec forward forwardc leave save savecopy 10 | syn match elmfiltArg "[^\\]%[&0-9]"lc=1 contained 11 | syn keyword elmfiltCond lines always subject sender from to lines received 12 | syn region elmfiltMatch start="/" skip="\\/" end="/" 13 | syn match elmfiltNumber "\d\+" 14 | syn keyword elmfiltOper and not matches 15 | syn match elmfiltOper "\~" 16 | syn match elmfiltOper "<=\|>=\|!=\|<\|<\|=\|(\|)" 17 | syn keyword elmfiltRule if then 18 | syn region elmfiltString start='"' skip='"\(\\\\\)*\\"' end='"' contains=elmfiltArg 19 | syn match elmfiltComment "^#.*$" 20 | 21 | if !exists("did_elmfilt_syntax_inits") 22 | let did_elmfilt_syntax_inits= 1 23 | hi link elmfiltAction Statement 24 | hi link elmfiltArg Special 25 | hi link elmfiltComment Comment 26 | hi link elmfiltCond Type 27 | hi link elmfiltMatch Special 28 | hi link elmfiltNumber Number 29 | hi link elmfiltOper Operator 30 | hi link elmfiltRule Statement 31 | hi link elmfiltString String 32 | endif 33 | let b:current_syntax = "elmfilt" 34 | " vim: ts=9 35 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/erlang.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/syntax/erlang.vim -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/htmlm4.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: HTML and M4 3 | " Maintainer: Claudio Fleiner 4 | " URL: http://www.fleiner.com/vim/syntax/htmlm4.vim 5 | " Last Change: 1999 May 20 6 | 7 | " Remove any old syntax stuff hanging around 8 | 9 | " we define it here so that included files can test for it 10 | if !exists("main_syntax") 11 | syn clear 12 | let main_syntax='htmlm4' 13 | endif 14 | 15 | so :p:h/html.vim 16 | syn case match 17 | 18 | so :p:h/m4.vim 19 | syn cluster htmlPreproc add=@m4Top 20 | syn cluster m4StringContents add=htmlTag,htmlEndTag 21 | 22 | let b:current_syntax = "htmlm4" 23 | 24 | if main_syntax == 'htmlm4' 25 | unlet main_syntax 26 | endif 27 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/jgraph.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: jgraph (graph plotting utility) 3 | " Maintainer: Jonas Munsin jmunsin@iki.fi 4 | " Last Change: 1999 Jun 14 5 | " this syntax file is not yet complete 6 | 7 | 8 | " Remove any old syntax stuff hanging around 9 | syn clear 10 | syn case match 11 | 12 | " comments 13 | syn region jgraphComment start="(\* " end=" \*)" 14 | 15 | syn keyword jgraphCmd newcurve newgraph marktype 16 | syn keyword jgraphType xaxis yaxis 17 | 18 | syn keyword jgraphType circle box diamond triangle x cross ellipse 19 | syn keyword jgraphType xbar ybar text postscript eps none general 20 | 21 | syn keyword jgraphType solid dotted dashed longdash dotdash dodotdash 22 | syn keyword jgraphType dotdotdashdash pts 23 | 24 | "integer number, or floating point number without a dot. - or no - 25 | syn match jgraphNumber "\<-\=\d\+\>" 26 | "floating point number, with dot - or no - 27 | syn match jgraphNumber "\<-\=\d\+\.\d*\>" 28 | "floating point number, starting with a dot - or no - 29 | syn match jgraphNumber "\-\=\.\d\+\>" 30 | 31 | 32 | hi link jgraphComment Comment 33 | hi link jgraphCmd Identifier 34 | hi link jgraphType Type 35 | hi link jgraphNumber Number 36 | 37 | 38 | let b:current_syntax = "jgraph" 39 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/lhaskell.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Haskell with literate comments 3 | " Maintainer: John Williams 4 | " Last Change: 1998 December 3 5 | 6 | " Enable literate comments 7 | let b:hs_literate_comments=1 8 | 9 | " Include standard Haskell highlighting 10 | source :p:h/haskell.vim 11 | 12 | " vim: ts=8 13 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/man.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Man page 3 | " Maintainer: Gautam H. Mudunuri 4 | " Last Change: 1999 Jun 14 5 | " Version Info: 6 | 7 | " clear any unwanted syntax defs 8 | syn clear 9 | 10 | syn case ignore 11 | syn match manReference "[a-z][a-z0-9_]*([1-9][a-z]\{0,1})" 12 | syn match manTitle "^\i\+([0-9]\+[a-z]\=).*" 13 | syn match manSectionHeading "^[a-z][a-z ]*[a-z]$" 14 | syn match manOptionDesc "^\s*[+-][a-z0-9]\S*" 15 | " syn match manHistory "^[a-z].*last change.*$" 16 | 17 | if !exists("did_man_syntax_inits") 18 | let did_man_syntax_inits = 1 19 | " The default methods for highlighting. Can be overridden later 20 | hi link manTitle Title 21 | hi link manSectionHeading Statement 22 | hi link manOptionDesc Constant 23 | " hi link manHistory Comment 24 | hi link manReference PreProc 25 | endif 26 | 27 | let b:current_syntax = "man" 28 | 29 | " vim:ts=8 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/manual.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax support file 2 | " Maintainer: Bram Moolenaar 3 | " Last Change: 1998 Dec 6 4 | 5 | " This file is used for ":syntax manual". 6 | " It installs the Syntax autocommands, but no the FileType autocommands. 7 | 8 | if has("syntax") 9 | 10 | " Load the Syntax autocommands and set the default methods for highlighting. 11 | if !exists("syntax_on") 12 | so :p:h/synload.vim 13 | endif 14 | 15 | let syntax_manual = 1 16 | 17 | " Remove the connection between FileType and Syntax autocommands. 18 | au! syntax FileType 19 | 20 | " If the GUI is already running, may still need to install the FileType menu. 21 | if has("gui_running") && !exists("did_install_syntax_menu") 22 | source $VIMRUNTIME/menu.vim 23 | endif 24 | 25 | endif " has("syntax") 26 | 27 | " vim: ts=8 sts=0 28 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/master.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Focus Master File 3 | " Maintainer: Rob Brady 4 | " Last Change: $Date: 1999/08/13 06:51:26 $ 5 | " URL: http://www.datatone.com/~robb/vim/syntax/master.vim 6 | " $Revision: 1.4 $ 7 | 8 | " this is a very simple syntax file - I will be improving it 9 | " add entire DEFINE syntax 10 | 11 | " Remove any old syntax stuff hanging around 12 | syn clear 13 | 14 | syn case match 15 | 16 | " A bunch of useful keywords 17 | syn keyword masterKeyword FILENAME SUFFIX SEGNAME SEGTYPE PARENT FIELDNAME 18 | syn keyword masterKeyword FIELD ALIAS USAGE INDEX MISSING ON 19 | syn keyword masterKeyword FORMAT CRFILE CRKEY 20 | syn keyword masterDefine DEFINE DECODE EDIT 21 | syn region masterString start=+"+ end=+"+ 22 | syn region masterString start=+'+ end=+'+ 23 | syn match masterComment "\$.*" 24 | 25 | if !exists("did_master_syntax_inits") 26 | let did_master_syntax_inits = 1 27 | hi link masterKeyword Keyword 28 | hi link masterComment Comment 29 | hi link masterString String 30 | endif 31 | 32 | let b:current_syntax = "master" 33 | 34 | " vim: ts=8 35 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/nosyntax.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax support file 2 | " Maintainer: Bram Moolenaar 3 | " Last Change: 1998 Dec 6 4 | 5 | " This file is used for ":syntax off". 6 | " It removes the autocommands and stops highlighting for all buffers. 7 | 8 | if has("syntax") 9 | 10 | " remove all syntax autocommands and remove the syntax for each buffer 11 | augroup syntax 12 | au! 13 | au BufEnter * syn clear 14 | au BufEnter * if exists("b:current_syntax") | unlet b:current_syntax | endif 15 | doautoall syntax BufEnter * 16 | au! 17 | augroup END 18 | 19 | " Just in case: remove all autocommands for the Syntax event 20 | au! Syntax 21 | 22 | if exists("syntax_on") 23 | unlet syntax_on 24 | endif 25 | if exists("syntax_manual") 26 | unlet syntax_manual 27 | endif 28 | endif 29 | 30 | " vim: ts=8 31 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/pascal.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/syntax/pascal.vim -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/po.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: po (GNU gettext) 3 | " Maintainer: Sung-Hyun Nam 4 | " Last Change: 1999/12/14 5 | 6 | " remove any old syntax stuff hanging around 7 | syn clear 8 | 9 | syn match poComment "^#.*$" 10 | syn match poSources "^#:.*$" 11 | syn match poStatement "^\(msgid\|msgstr\)" 12 | syn match poSpecial contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)" 13 | syn match poFormat "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([diuoxXfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained 14 | syn match poFormat "%%" contained 15 | syn region poString start=+"+ skip=+\\\\\|\\"+ end=+"+ 16 | \ contains=poSpecial,poFormat 17 | 18 | if !exists("did_po_syntax_inits") 19 | let did_po_syntax_inits = 1 20 | " The default methods for highlighting. Can be overridden later. 21 | hi link poComment Comment 22 | hi link poSources PreProc 23 | hi link poStatement Statement 24 | hi link poSpecial Special 25 | hi link poFormat poSpecial 26 | hi link poString String 27 | endif 28 | 29 | let b:current_syntax = "po" 30 | 31 | " vim:set ts=8 sts=8 sw=8 noet: 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/rcslog.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: RCS log output 3 | " Maintainer: Joe Karthauser 4 | " Last Change: 1999 Jan 02 5 | 6 | " Remove any old syntax stuff hanging around 7 | syn clear 8 | 9 | syn match rcslogRevision "^revision.*$" 10 | syn match rcslogFile "^RCS file:.*" 11 | syn match rcslogDate "^date: .*$" 12 | 13 | if !exists("did_rcslog_syntax_inits") 14 | let did_rcslog_syntax_inits = 1 15 | 16 | hi link rcslogFile Type 17 | hi link rcslogRevision Constant 18 | hi link rcslogDate Identifier 19 | 20 | endif 21 | 22 | let b:current_syntax = "rcslog" 23 | 24 | " vim: ts=8 25 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/sdl.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/syntax/sdl.vim -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/sh.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/syntax/sh.vim -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/syntax.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax support file 2 | " Maintainer: Bram Moolenaar 3 | " Last Change: 1998 Dec 6 4 | 5 | " This file is used for ":syntax on". 6 | " It installs the autocommands and starts highlighting for all buffers. 7 | 8 | if has("syntax") 9 | 10 | " If Syntax highlighting appears to be on already, turn it off first, so that 11 | " any leftovers are cleared. 12 | if exists("syntax_on") || exists("syntax_manual") 13 | so :p:h/nosyntax.vim 14 | endif 15 | 16 | " Load the Syntax autocommands and set the default methods for highlighting. 17 | so :p:h/synload.vim 18 | 19 | " Load the FileType autocommands, in case that hasn't been done yet. 20 | filetype on 21 | 22 | " Set up the connection between FileType and Syntax autocommands. 23 | " This makes the syntax automatically set when the file type is detected. 24 | augroup syntax 25 | au! FileType * exe "set syntax=" . expand("") 26 | augroup END 27 | 28 | 29 | " Execute the syntax autocommands for the each buffer. 30 | doautoall filetype BufRead 31 | 32 | endif " has("syntax") 33 | 34 | " vim: ts=8 sts=0 35 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/tags.vim: -------------------------------------------------------------------------------- 1 | " Language: tags 2 | " Maintainer: Dr. Charles E. Campbell, Jr. 3 | " Last Change: January 28, 1999 4 | 5 | " Remove any old syntax stuff hanging around 6 | syn clear 7 | 8 | syn match tagName "^[^\t]\+" skipwhite nextgroup=tagPath 9 | syn match tagPath "[^\t]\+" contained skipwhite nextgroup=tagAddr contains=tagBaseFile 10 | syn match tagBaseFile "[a-zA-Z_]\+[\.a-zA-Z_0-9]*\t"me=e-1 contained 11 | syn match tagAddr "\d*" contained skipwhite nextgroup=tagComment 12 | syn region tagAddr matchgroup=tagDelim start="/" skip="\(\\\\\)*\\/" matchgroup=tagDelim end="$\|/" oneline contained skipwhite nextgroup=tagComment 13 | syn match tagComment ";.*$" contained contains=tagField 14 | syn match tagComment "^!_TAG_.*$" 15 | syn match tagField contained "[a-z]*:" 16 | 17 | if !exists("did_drchip_tags_inits") 18 | let did_drchip_tags_inits = 1 19 | hi link tagBaseFile PreProc 20 | hi link tagComment Comment 21 | hi link tagDelim Delimiter 22 | hi link tagField Number 23 | hi link tagName Identifier 24 | hi link tagPath PreProc 25 | endif 26 | 27 | let b:current_syntax = "tags" 28 | 29 | " vim: ts=12 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/vgrindefs.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Vgrindefs 3 | " Maintainer: Bram Moolenaar 4 | " Last Change: 1997 Sep 14 5 | 6 | " The Vgrindefs file is used to specify a language for vgrind 7 | 8 | " Remove any old syntax stuff hanging around 9 | syn clear 10 | 11 | " Comments 12 | syn match vgrindefsComment "^#.*" 13 | 14 | " The fields that vgrind recognizes 15 | syn match vgrindefsField ":ab=" 16 | syn match vgrindefsField ":ae=" 17 | syn match vgrindefsField ":pb=" 18 | syn match vgrindefsField ":bb=" 19 | syn match vgrindefsField ":be=" 20 | syn match vgrindefsField ":cb=" 21 | syn match vgrindefsField ":ce=" 22 | syn match vgrindefsField ":sb=" 23 | syn match vgrindefsField ":se=" 24 | syn match vgrindefsField ":lb=" 25 | syn match vgrindefsField ":le=" 26 | syn match vgrindefsField ":nc=" 27 | syn match vgrindefsField ":tl" 28 | syn match vgrindefsField ":oc" 29 | syn match vgrindefsField ":kw=" 30 | 31 | " Also find the ':' at the end of the line, so all ':' are highlighted 32 | syn match vgrindefsField ":\\$" 33 | syn match vgrindefsField ":$" 34 | syn match vgrindefsField "\\$" 35 | 36 | if !exists("did_vgrindefs_syntax_inits") 37 | let did_vgrindefs_syntax_inits = 1 38 | " The default methods for highlighting. Can be overridden later 39 | hi link vgrindefsField Statement 40 | hi link vgrindefsComment Comment 41 | endif 42 | 43 | let b:current_syntax = "vgrindefs" 44 | 45 | " vim: ts=8 46 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/viminfo.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Vim .viminfo file 3 | " Maintainer: Bram Moolenaar 4 | " Last Change: 1999 Aug 19 5 | 6 | " Remove any old syntax stuff hanging around 7 | syn clear 8 | 9 | " The lines that are NOT recognized 10 | syn match viminfoError "^[^\t].*" 11 | 12 | " The one-character one-liners that are recognized 13 | syn match viminfoStatement "^[/&$@:?=%!<]" 14 | 15 | " The two-character one-liners that are recognized 16 | syn match viminfoStatement "^['>"]." 17 | syn match viminfoStatement "^\~[/&]" 18 | syn match viminfoStatement "^\~[hH]" 19 | syn match viminfoStatement "^\~[mM][sS][lL][eE]\d\+\~\=[/&]" 20 | 21 | " Comments 22 | syn match viminfoComment "^#.*" 23 | 24 | if !exists("did_viminfo_syntax_inits") 25 | let did_viminfo_syntax_inits = 1 26 | " The default methods for highlighting. Can be overridden later 27 | hi link viminfoComment Comment 28 | hi link viminfoError Error 29 | hi link viminfoStatement Statement 30 | endif 31 | 32 | let b:current_syntax = "viminfo" 33 | 34 | " vim: ts=8 35 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/web.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: WEB 3 | " Maintainer: Andreas Scherer 4 | " Last Change: August 23, 1999 5 | 6 | " Details of the WEB language can be found in the article by Donald E. Knuth, 7 | " "The WEB System of Structured Documentation", included as "webman.tex" in 8 | " the standard WEB distribution, available for anonymous ftp at 9 | " ftp://labrea.stanford.edu/pub/tex/web/. 10 | 11 | " Remove any old syntax stuff hanging around 12 | syntax clear 13 | 14 | " Although WEB is the ur-language for the "Literate Programming" paradigm, 15 | " we base this syntax file on the modern superset, CWEB. Note: This shortcut 16 | " may introduce some illegal constructs, e.g., CWEB's "@c" does _not_ start a 17 | " code section in WEB. Anyway, I'm not a WEB programmer. 18 | source :p:h/cweb.vim 19 | 20 | " Replace C/C++ syntax by Pascal syntax. 21 | syntax include @webIncludedC :p:h/pascal.vim 22 | 23 | " Double-@ means single-@, anywhere in the WEB source (as in CWEB). 24 | " Don't misinterpret "@'" as the start of a Pascal string. 25 | syntax match webIgnoredStuff "@[@']" 26 | 27 | let b:current_syntax = "web" 28 | 29 | " vim: ts=8 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/whitespace.vim: -------------------------------------------------------------------------------- 1 | " Simplistic way to make spaces and Tabs visible 2 | 3 | " This can be added to an already active syntax. 4 | "syn clear 5 | 6 | syn match Space " " 7 | syn match Tab "\t" 8 | if &background == "dark" 9 | hi Space ctermbg=darkred guibg=#500000 10 | hi Tab ctermbg=darkgreen guibg=#003000 11 | else 12 | hi Space ctermbg=lightred guibg=#ffd0d0 13 | hi Tab ctermbg=lightgreen guibg=#d0ffd0 14 | endif 15 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/xs.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: XS (Perl extension interface language) 3 | " Maintainer: Michael W. Dodge 4 | " Last Change: 1999 Mar 08 5 | 6 | " Remove any old syntax stuff hanging around 7 | syn clear 8 | 9 | " Read the C syntax to start with 10 | source :p:h/c.vim 11 | 12 | " XS extentions 13 | " TODO: Figure out how to look for trailing '='. 14 | syn keyword xsKeyword MODULE PACKAGE PREFIX 15 | syn keyword xsKeyword OUTPUT: CODE: INIT: PREINIT: INPUT: 16 | syn keyword xsKeyword PPCODE: REQUIRE: CLEANUP: BOOT: 17 | syn keyword xsKeyword VERSIONCHECK: PROTOTYPES: PROTOTYPE: 18 | syn keyword xsKeyword ALIAS: INCLUDE: CASE: 19 | " TODO: Figure out how to look for trailing '('. 20 | syn keyword xsMacro SV EXTEND PUSHs 21 | syn keyword xsVariable RETVAL NO_INIT 22 | "syn match xsCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1 23 | "syn match xsCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$" 24 | 25 | if !exists("did_xs_syntax_inits") 26 | let did_xs_syntax_inits = 1 27 | hi link xsKeyword Keyword 28 | hi link xsMacro Macro 29 | hi link xsVariable Identifier 30 | endif 31 | 32 | let b:current_syntax = "xs" 33 | 34 | " vim: ts=8 35 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/syntax/xxd.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: bin using xxd 3 | " Version: 5.4-3 4 | " Maintainer: Dr. Charles E. Campbell, Jr. 5 | " Last Change: March 19, 1999 6 | " Notes: use :help xxd to see how to invoke it 7 | 8 | " Removes any old syntax stuff hanging around 9 | syn clear 10 | 11 | syn match xxdAddress "^[0-9a-f]\+:" contains=xxdSep 12 | syn match xxdSep contained ":" 13 | syn match xxdAscii " .\{,16\}\r\=$"hs=s+2 contains=xxdDot 14 | syn match xxdDot contained "[.\r]" 15 | 16 | if !exists("did_xxd_syntax_inits") 17 | let did_xxd_syntax_inits = 1 18 | 19 | hi link xxdAddress Constant 20 | hi link xxdSep Identifier 21 | hi link xxdAscii Statement 22 | endif 23 | 24 | let b:current_syntax = "xxd" 25 | 26 | " vim: ts=4 27 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/tools/README.txt: -------------------------------------------------------------------------------- 1 | Some tools that can be used with Vim: 2 | 3 | blink.c: C program to make the cursor blink in an xterm. 4 | 5 | ccfilter*: C program to filter the output of a few compilers to a common 6 | QuickFix format. 7 | 8 | efm_filter.*: Perl script to filter error messages to QuickFix format. 9 | 10 | gvimdiff: Shell script for side-by-side comparing files with 11 | highlighting. Requires sdiff, gvim and a wide screen. 12 | 13 | mve.* Awk script to filter error messages to QuickFix format. 14 | 15 | pltags.pl: Perl script to create a tags file from Perl scripts. 16 | 17 | ref: Shell script for the K command. 18 | 19 | shtags.*: Perl script to create a tags file from a shell script. 20 | 21 | tcltags: Shell + Awk script to create a tags file from a TCL file. 22 | 23 | vim132: Shell script to edit in 132 column mode on vt100 compatible 24 | terminals. 25 | 26 | vimm: Shell script to start Vim on a DEC terminal with mouse 27 | enabled. 28 | 29 | vimspell.*: Shell script for highlighting spelling mistakes. 30 | 31 | [ctags, xxd and tee can be found in the src directory] 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/tools/blink.c: -------------------------------------------------------------------------------- 1 | /* 2 | * An extremely simple program to make the cursor blink in an xterm. 3 | * This is useful when the cursor is hard to spot in a highlighted file. 4 | * Start in the background: "blink&" Stop by killing it. 5 | * Bram Moolenaar 980109 (based on an idea from John Lange). 6 | */ 7 | 8 | #include 9 | 10 | main() 11 | { 12 | while (1) 13 | { 14 | printf("\e[?25h"); 15 | fflush(stdout); 16 | usleep(400000); /* on time */ 17 | printf("\e[?25l"); 18 | fflush(stdout); 19 | usleep(250000); /* off time */ 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/tools/efm_filter.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # 3 | # This program works as a filter that reads from stdin, copies to 4 | # stdout *and* creates an error file that can be read by vim. 5 | # 6 | # This program has only been tested on SGI, Irix5.3. 7 | # 8 | # Written by Ives Aerts in 1996. This little program is not guaranteed 9 | # to do (or not do) anything at all and can be freely used for 10 | # whatever purpose you can think of. 11 | 12 | $args = @ARGV; 13 | 14 | unless ($args == 1) { 15 | die("Usage: vimccparse \n"); 16 | } 17 | 18 | $filename = @ARGV[0]; 19 | open (OUT, ">$filename") || die ("Can't open file: \"$filename\""); 20 | 21 | while () { 22 | print; 23 | if ( (/"(.*)", line (\d+): (e)rror\((\d+)\):/) 24 | || (/"(.*)", line (\d+): (w)arning\((\d+)\):/) ) { 25 | $file=$1; 26 | $line=$2; 27 | $errortype="\u$3"; 28 | $errornr=$4; 29 | chop($errormsg=); 30 | $errormsg =~ s/^\s*//; 31 | $sourceline=; 32 | $column=index(, "^") - 1; 33 | 34 | print OUT "$file>$line:$column:$errortype:$errornr:$errormsg\n"; 35 | } 36 | } 37 | 38 | close(OUT); 39 | exit(0); 40 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/tools/efm_filter.txt: -------------------------------------------------------------------------------- 1 | [adopted from a message that Ives posted in the Vim mailing list] 2 | 3 | Some compilers produce an error message that cannot be handled with 4 | 'errorformat' in Vim. Following is an example of a Perl script that 5 | translates one error message into something that Vim understands. 6 | 7 | 8 | The compiler that generates this kind of error messages (4 lines): 9 | 10 | "/tmp_mnt/cm/src/apertos/MoU/MetaCore/MetaCore/common/src/MetaCoreImp_M.cc", 11 | line 50: error(3114): 12 | identifier "PRIMITIVE_M" is undefined 13 | return(ExecuteCore(PRIMITIVE_M, 14 | 15 | You can find a small perl program at the end. 16 | The way I use it is: 17 | 18 | :set errorformat=%f>%l:%c:%t:%n:%m 19 | :set makeprg=clearmake\ -C\ gnu 20 | :set shellpipe=2>&1\|\ vimccparse 21 | 22 | If somebody thinks this is useful: feel free to do whatever you can think 23 | of with this code. 24 | 25 | -Ives 26 | ____________________________________________________________ 27 | Ives Aerts (SW Developer) Sony Telecom Europe 28 | ives@sonytel.be St.Stevens Woluwestr. 55 29 | `Death could create most things, B-1130 Brussels, Belgium 30 | except for plumbing.' PHONE : +32 2 724 19 67 31 | (Soul Music - T.Pratchett) FAX : +32 2 726 26 86 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/tools/mve.awk: -------------------------------------------------------------------------------- 1 | #!/usr/bin/nawk -f 2 | # 3 | # Change "nawk" to "awk" or "gawk" if you get errors. 4 | # 5 | # Make Vim Errors 6 | # Processes errors from cc for use by Vim's quick fix tools 7 | # specifically it translates the ---------^ notation to a 8 | # column number 9 | # 10 | BEGIN { FS="[:,]" } 11 | 12 | /^cfe/ { file=$3 13 | msg=$5 14 | split($4,s," ") 15 | line=s[2] 16 | } 17 | 18 | # You may have to substitute a tab character for the \t here: 19 | /^[\t-]*\^/ { 20 | p=match($0, ".*\\^" ) 21 | col=RLENGTH-2 22 | printf("%s, line %d, col %d : %s\n", file,line,col,msg) 23 | } 24 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/tools/mve.txt: -------------------------------------------------------------------------------- 1 | [ The mve awk script was posted on the vimdev mailing list ] 2 | 3 | From: jimmer@barney.mdhc.mdc.com (J. McGlasson) 4 | Date: Mon, 31 Mar 1997 13:16:49 -0700 (Mar) 5 | 6 | My compiler (SGI MIPSpro C compiler - IRIX 6.4) works like this. 7 | I have written a script mve (make vim errors), through which I pipe my make 8 | output, which translates output of the following form: 9 | 10 | cfe: Error: syntax.c, line 4: Syntax Error 11 | int i[12; 12 | ------------^ 13 | 14 | into: 15 | 16 | cl.c, line 4, col 12 : Syntax Error 17 | 18 | (in vim notation: %f, line %l, col %c : %m) 19 | 20 | You might be able to tailor this for your compiler's output. 21 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/tools/ref: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # ref - Check spelling of the arguments 4 | # 5 | # Usage: ref word .. 6 | # 7 | # can be used for the K command of Vim 8 | # 9 | spell <. 6 | # 7 | # I use the following mappings (in .vimrc): 8 | # 9 | # noremap :so `vimspell.sh %` 10 | # noremap :syntax clear SpellErrors 11 | # 12 | # Neil Schemenauer 13 | # March 1999 14 | 15 | INFILE=$1 16 | OUTFILE=/tmp/vimspell.$$ 17 | # if you have "tempfile", use the following line 18 | #OUTFILE=`tempfile` 19 | 20 | # 21 | # local spellings 22 | # 23 | LOCAL_DICT=${LOCAL_DICT-$HOME/local/lib/local_dict} 24 | 25 | if [ -f $LOCAL_DICT ] 26 | then 27 | SPELL_ARGS="+$LOCAL_DICT" 28 | fi 29 | 30 | spell $SPELL_ARGS $INFILE | sort -u | 31 | awk ' 32 | { 33 | printf "syntax match SpellErrors \"\\<%s\\>\"\n", $0 ; 34 | } 35 | 36 | END { 37 | printf "highlight link SpellErrors ErrorMsg\n\n" ; 38 | } 39 | ' > $OUTFILE 40 | echo "!rm $OUTFILE" >> $OUTFILE 41 | echo $OUTFILE 42 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/tools/vimspell.txt: -------------------------------------------------------------------------------- 1 | vimspell.sh 2 | =========== 3 | 4 | This is a simple script to spell check a file and generate the syntax 5 | statements necessary to highlight the errors in vim. It is based on a 6 | similar program by Krishna Gadepalli . 7 | 8 | To use this script, first place it in a directory in your path. Next, 9 | you should add some convenient key mappings. I use the following (in 10 | .vimrc): 11 | 12 | noremap :so `vimspell.sh %` 13 | noremap :syntax clear SpellErrors 14 | 15 | This program requires the old Unix "spell" command. On my Debian 16 | system, "spell" is a wrapper around "ispell". For better security, 17 | you should uncomment the line in the script that uses "tempfile" to 18 | create a temporary file. As all systems don't have "tempfile" the 19 | insecure "pid method" is used. 20 | 21 | 22 | Neil Schemenauer 23 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/tutor/README.txt: -------------------------------------------------------------------------------- 1 | Tutor is a "hands on" tutorial for new users of the Vim editor. 2 | 3 | Most new users can get through it in less than one hour. The result 4 | is that you can do a simple editing task using the Vim editor. 5 | 6 | Tutor is a file that contains the tutorial lessons. You can simply 7 | execute "vim tutor" and then follow the instructions in the lessons. 8 | The lessons tell you to modify the file, so DON'T DO THIS ON YOUR 9 | ORIGINAL COPY. 10 | 11 | On Unix you can also use the "vimtutor" program. It will make a 12 | scratch copy of the tutor first. 13 | 14 | I have considered adding more advanced lessons but have not found the 15 | time. Please let me know how you like it and send any improvements you 16 | make. 17 | 18 | Bob Ware, Colorado School of Mines, Golden, Co 80401, USA 19 | (303) 273-3987 20 | bware@mines.colorado.edu bware@slate.mines.colorado.edu bware@mines.bitnet 21 | 22 | [This file was modified for Vim by Bram Moolenaar] 23 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/vim16x16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/vim16x16.gif -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/vim16x16.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *magick[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "16 16 8 1", 5 | " c Gray0", 6 | ". c #000080", 7 | "X c #008000", 8 | "o c Green", 9 | "O c #808080", 10 | "+ c #c0c0c0", 11 | "@ c Gray100", 12 | "# c None", 13 | /* pixels */ 14 | "## o # ##", 15 | "# @@@@@ X @@@@ #", 16 | "# +++++O ++++O ", 17 | "## +++O X @++O #", 18 | "## +++O @++O ##", 19 | "## +++O @++O ##", 20 | "#o +++O@++O XX #", 21 | "oX +++@++O XXXX ", 22 | " X +++++ XXXX.#", 23 | "# ++++ + X ##", 24 | "## ++++ ++ + #", 25 | "## +++ ++ +++++ ", 26 | "## ++O + + + + ", 27 | "## +O X + + + + ", 28 | "### # ++ + + + ", 29 | "####### # # # #" 30 | }; 31 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/vim32x32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/vim32x32.gif -------------------------------------------------------------------------------- /benchmarks/vim-5.7/runtime/vim48x48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/runtime/vim48x48.gif -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/ascii.h: -------------------------------------------------------------------------------- 1 | /* vi:set ts=8 sts=4 sw=4: 2 | * 3 | * VIM - Vi IMproved by Bram Moolenaar 4 | * 5 | * Do ":help uganda" in Vim to read copying and usage conditions. 6 | * Do ":help credits" in Vim to see a list of people who contributed. 7 | */ 8 | 9 | /* 10 | * Definitions of various common control characters 11 | */ 12 | 13 | #define NUL '\000' 14 | #define BS '\010' 15 | #define TAB '\011' 16 | #define NL '\012' 17 | #define NL_STR (char_u *)"\012" 18 | #define FF '\014' 19 | #define CR '\015' 20 | #define ESC '\033' 21 | #define ESC_STR (char_u *)"\033" 22 | #define DEL 0x7f 23 | #define CSI 0x9b 24 | 25 | #define Ctrl(x) ((x) & 0x1f) 26 | #define Meta(x) ((x) | 0x80) 27 | 28 | /* 29 | * Character that separates dir names in a path. 30 | * For MS-DOS, WIN32 and OS/2 we use a backslash. A slash mostly works 31 | * fine, but there are places where it doesn't (e.g. in a command name). 32 | * For Macintosh we use a colon. 33 | * For Acorn we use a dot. 34 | */ 35 | #ifdef BACKSLASH_IN_FILENAME 36 | # define PATHSEP psepc 37 | # define PATHSEPSTR pseps 38 | #else 39 | # ifdef COLON_AS_PATHSEP 40 | # define PATHSEP ':' 41 | # define PATHSEPSTR ":" 42 | # else 43 | # ifdef RISCOS 44 | # define PATHSEP '.' 45 | # define PATHSEPSTR "." 46 | # else 47 | # define PATHSEP '/' 48 | # define PATHSEPSTR "/" 49 | # endif 50 | # endif 51 | #endif 52 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/config.mk: -------------------------------------------------------------------------------- 1 | the first targets to make vim are: scratch config myself 2 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/ctags/COPYING: -------------------------------------------------------------------------------- 1 | You can obtain a copy of the GNU General Public License from the GNU web 2 | site at http://www.gnu.org/copyleft/gpl.html, or from the Exuberant Ctags 3 | web site at http://darren.hiebert.com/ctags/gpl.html, or by writing to 4 | the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 5 | MA 02111-1307 USA 6 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/ctags/INSTALL.DOS: -------------------------------------------------------------------------------- 1 | Simple makefiles are provided for a few environments. 2 | 3 | Makefile.amiga For Amiga using Manx C 4 | Makefile.bc3 For MSDOS using Borland C/C++ 3.x 5 | Makefile.bc5 For Win32 using Borland C++ 5.5 6 | Makefile.djg For MSDOS using Gnu GCC (DJGPP) compiler 7 | Makefile.ming For Win32 using Mingw32 compiler 8 | Makefile.mvc For Win32 using Microsoft Visual C++ 9 | Makefile.os2 For OS/2 using GCC (EMX) compiler 10 | Makefile.qdos For QDOS using C68 compiler 11 | 12 | Make sure that your makefile defines the appropriate label for the host for 13 | which you are compiling (i.e. AMIGA, MSDOS, OS2, QDOS, or WIN32) 14 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/ctags/get.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * $Id: get.h,v 8.1 1999/03/04 04:16:38 darren Exp $ 3 | * 4 | * Copyright (c) 1998-1999, Darren Hiebert 5 | * 6 | * This source code is released for free distribution under the terms of the 7 | * GNU General Public License. 8 | * 9 | * External interface to get.c 10 | *****************************************************************************/ 11 | #ifndef _GET_H 12 | #define _GET_H 13 | 14 | /*============================================================================ 15 | = Include files 16 | ============================================================================*/ 17 | #include "general.h" 18 | #include "ctags.h" /* to define langType */ 19 | 20 | /*============================================================================ 21 | = Function prototypes 22 | ============================================================================*/ 23 | extern boolean isBraceFormat __ARGS((void)); 24 | extern unsigned int getDirectiveNestLevel __ARGS((void)); 25 | extern void cppInit __ARGS((const boolean state)); 26 | extern void cppTerminate __ARGS((void)); 27 | extern void cppBeginStatement __ARGS((void)); 28 | extern void cppEndStatement __ARGS((void)); 29 | extern void cppUngetc __ARGS((const int c)); 30 | extern int cppGetc __ARGS((void)); 31 | 32 | #endif /* _GET_H */ 33 | 34 | /* vi:set tabstop=8 shiftwidth=4: */ 35 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/ctags/keyword.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * $Id: keyword.h,v 8.1 1999/03/04 04:16:38 darren Exp $ 3 | * 4 | * Copyright (c) 1998-1999, Darren Hiebert 5 | * 6 | * This source code is released for free distribution under the terms of the 7 | * GNU General Public License. 8 | * 9 | * External interface to keyword.c 10 | *****************************************************************************/ 11 | #ifndef _KEYWORD_H 12 | #define _KEYWORD_H 13 | 14 | /*============================================================================ 15 | = Include files 16 | ============================================================================*/ 17 | #include "general.h" 18 | 19 | /*============================================================================ 20 | = Function prototypes 21 | ============================================================================*/ 22 | extern void addKeyword __ARGS((const char *const string, langType language, int value)); 23 | extern int lookupKeyword __ARGS((const char *const string, langType language)); 24 | extern void freeKeywordTable __ARGS((void)); 25 | #ifdef DEBUG 26 | extern void printKeywordTable __ARGS((void)); 27 | #endif 28 | 29 | #endif /* _KEYWORD_H */ 30 | 31 | /* vi:set tabstop=8 shiftwidth=4: */ 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/ctags/mkinstalldirs: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # mkinstalldirs --- make directory hierarchy 3 | # Author: Noah Friedman 4 | # Created: 1993-05-16 5 | # Public domain 6 | 7 | # $Id: mkinstalldirs,v 8.1 1999/03/04 04:16:38 darren Exp $ 8 | 9 | errstatus=0 10 | 11 | for file 12 | do 13 | set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` 14 | shift 15 | 16 | pathcomp= 17 | for d 18 | do 19 | pathcomp="$pathcomp$d" 20 | case "$pathcomp" in 21 | -* ) pathcomp=./$pathcomp ;; 22 | esac 23 | 24 | if test ! -d "$pathcomp"; then 25 | echo "mkdir $pathcomp" 1>&2 26 | 27 | mkdir "$pathcomp" || lasterr=$? 28 | 29 | if test ! -d "$pathcomp"; then 30 | errstatus=$lasterr 31 | fi 32 | fi 33 | 34 | pathcomp="$pathcomp/" 35 | done 36 | done 37 | 38 | exit $errstatus 39 | 40 | # mkinstalldirs ends here 41 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/ctags/parse.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * $Id: parse.h,v 8.1 1999/03/04 04:16:38 darren Exp $ 3 | * 4 | * Copyright (c) 1998-1999, Darren Hiebert 5 | * 6 | * This source code is released for free distribution under the terms of the 7 | * GNU General Public License. 8 | * 9 | * External interface to all language parsing modules. 10 | *****************************************************************************/ 11 | #ifndef _PARSE_H 12 | #define _PARSE_H 13 | 14 | /*============================================================================ 15 | = Include files 16 | ============================================================================*/ 17 | #include "general.h" 18 | 19 | /*============================================================================ 20 | = Function prototypes 21 | ============================================================================*/ 22 | extern boolean createCTags __ARGS((const unsigned int passCount)); 23 | extern boolean createEiffelTags __ARGS((void)); 24 | extern boolean createFortranTags __ARGS((const unsigned int passCount)); 25 | 26 | #endif /* _PARSE_H */ 27 | 28 | /* vi:set tabstop=8 shiftwidth=4: */ 29 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/ctags/sort.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * $Id: sort.h,v 8.1 1999/03/04 04:16:38 darren Exp $ 3 | * 4 | * Copyright (c) 1998-1999, Darren Hiebert 5 | * 6 | * This source code is released for free distribution under the terms of the 7 | * GNU General Public License. 8 | * 9 | * External interface to sort.c 10 | *****************************************************************************/ 11 | #ifndef _SORT_H 12 | #define _SORT_H 13 | 14 | /*============================================================================ 15 | = Include files 16 | ============================================================================*/ 17 | #include "general.h" 18 | 19 | /*============================================================================ 20 | = Function prototypes 21 | ============================================================================*/ 22 | extern void catFile __ARGS((const char *const name)); 23 | 24 | #ifdef EXTERNAL_SORT 25 | extern void externalSortTags __ARGS((const boolean toStdout)); 26 | #else 27 | extern void internalSortTags __ARGS((const boolean toStdout)); 28 | #endif 29 | 30 | #endif /* _SORT_H */ 31 | 32 | /* vi:set tabstop=8 shiftwidth=4: */ 33 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/ctags/strstr.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * $Id: strstr.c,v 8.1 1999/03/04 04:16:38 darren Exp $ 3 | * 4 | * Copyright (c) 1996-1999, Darren Hiebert 5 | * 6 | * This source code is released for free distribution under the terms of the 7 | * GNU General Public License. 8 | * 9 | * This module contains a substitute for a potentially missing ANSI C 10 | * function. 11 | *****************************************************************************/ 12 | #ifdef HAVE_CONFIG_H 13 | # include 14 | #endif 15 | #include 16 | 17 | #ifndef HAVE_STRSTR 18 | 19 | extern char * strstr( str, substr ) 20 | const char *const str; 21 | const char *const substr; 22 | { 23 | const size_t length = strlen(substr); 24 | const char *match = NULL; 25 | const char *p; 26 | 27 | for (p = str ; *p != '\0' ; ++p) 28 | if (strncmp(p, substr, length) == 0) 29 | { 30 | match = p; 31 | break; 32 | } 33 | return match; 34 | } 35 | 36 | #endif 37 | 38 | /* vi:set tabstop=8 shiftwidth=4: */ 39 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/digraph.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/src/digraph.c -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/gui_gtk.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/src/gui_gtk.c -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/gui_gtk_f.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/src/gui_gtk_f.c -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/gui_gtk_x11.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/src/gui_gtk_x11.c -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/pathdef.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # pathdef.sh: adjust pathdef.c for link.sed, if it exists 4 | # 5 | if test -s link.sed; then 6 | cp pathdef.c pathdef.tmp 7 | sed -f link.sed pathdef.c 8 | rm -f pathdef.tmp 9 | fi 10 | 11 | # vim:set sw=2 et: 12 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/digraph.pro: -------------------------------------------------------------------------------- 1 | /* digraph.c */ 2 | int do_digraph __ARGS((int c)); 3 | int getdigraph __ARGS((int char1, int char2, int meta)); 4 | void putdigraph __ARGS((char_u *str)); 5 | void listdigraphs __ARGS((void)); 6 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/edit.pro: -------------------------------------------------------------------------------- 1 | /* edit.c */ 2 | int edit __ARGS((int cmdchar, int startln, long count)); 3 | void display_dollar __ARGS((colnr_t col)); 4 | void change_indent __ARGS((int type, int amount, int round, int replaced)); 5 | void truncate_spaces __ARGS((char_u *line)); 6 | void backspace_until_column __ARGS((int col)); 7 | int vim_is_ctrl_x_key __ARGS((int c)); 8 | int ins_compl_add_infercase __ARGS((char_u *str, int len, char_u *fname, int dir, int reuse)); 9 | void ins_compl_check_keys __ARGS((void)); 10 | int get_literal __ARGS((void)); 11 | void insertchar __ARGS((unsigned c, int force_formatting, int second_indent, int ctrlv)); 12 | int comp_textwidth __ARGS((int ff)); 13 | void stop_arrow __ARGS((void)); 14 | void set_last_insert __ARGS((int c)); 15 | void beginline __ARGS((int flags)); 16 | int oneright __ARGS((void)); 17 | int oneleft __ARGS((void)); 18 | int cursor_up __ARGS((long n, int upd_topline)); 19 | int cursor_down __ARGS((long n, int upd_topline)); 20 | int stuff_inserted __ARGS((int c, long count, int no_esc)); 21 | char_u *get_last_insert __ARGS((void)); 22 | char_u *get_last_insert_save __ARGS((void)); 23 | void replace_push __ARGS((int c)); 24 | int get_replace_stack_virtcol __ARGS((void)); 25 | void fixthisline __ARGS((int (*get_the_indent)(void))); 26 | int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty)); 27 | int hkmap __ARGS((int c)); 28 | void ins_scroll __ARGS((void)); 29 | void ins_horscroll __ARGS((void)); 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/gui_athena.pro: -------------------------------------------------------------------------------- 1 | /* gui_athena.c */ 2 | void gui_x11_create_widgets __ARGS((void)); 3 | void gui_x11_destroy_widgets __ARGS((void)); 4 | void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h)); 5 | void gui_x11_set_back_color __ARGS((void)); 6 | void gui_mch_enable_menu __ARGS((int flag)); 7 | void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h)); 8 | void gui_mch_add_menu __ARGS((VimMenu *menu, VimMenu *parent, int idx)); 9 | void gui_mch_add_menu_item __ARGS((VimMenu *menu, VimMenu *parent, int idx)); 10 | void gui_mch_toggle_tearoffs __ARGS((int enable)); 11 | void gui_mch_new_menu_colors __ARGS((void)); 12 | void gui_mch_destroy_menu __ARGS((VimMenu *menu)); 13 | void gui_mch_show_popupmenu __ARGS((VimMenu *menu)); 14 | void gui_mch_set_scrollbar_thumb __ARGS((GuiScrollbar *sb, int val, int size, int max)); 15 | void gui_mch_set_scrollbar_pos __ARGS((GuiScrollbar *sb, int x, int y, int w, int h)); 16 | void gui_mch_create_scrollbar __ARGS((GuiScrollbar *sb, int orient)); 17 | void gui_mch_destroy_scrollbar __ARGS((GuiScrollbar *sb)); 18 | void gui_mch_set_scrollbar_colors __ARGS((GuiScrollbar *sb)); 19 | Window gui_x11_get_wid __ARGS((void)); 20 | char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter)); 21 | int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton)); 22 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/gui_gtk.pro: -------------------------------------------------------------------------------- 1 | /* gui_gtk.c */ 2 | void gui_mch_add_menu __ARGS((VimMenu *menu, VimMenu *parent, int idx)); 3 | void gui_mch_add_menu_item __ARGS((VimMenu *menu, VimMenu *parent, int idx)); 4 | void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h)); 5 | void gui_gtk_set_mnemonics __ARGS((int enable)); 6 | void gui_mch_toggle_tearoffs __ARGS((int enable)); 7 | void gui_mch_destroy_menu __ARGS((VimMenu *menu)); 8 | void gui_mch_set_scrollbar_thumb __ARGS((GuiScrollbar *sb, int val, int size, int max)); 9 | void gui_mch_set_scrollbar_pos __ARGS((GuiScrollbar *sb, int x, int y, int w, int h)); 10 | void gui_mch_create_scrollbar __ARGS((GuiScrollbar *sb, int orient)); 11 | void gui_mch_destroy_scrollbar __ARGS((GuiScrollbar *sb)); 12 | char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter)); 13 | int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but)); 14 | void gui_mch_show_popupmenu __ARGS((VimMenu *menu)); 15 | void gui_mch_find_dialog __ARGS((char_u *arg)); 16 | void gui_mch_replace_dialog __ARGS((char_u *arg)); 17 | void gui_gtk_synch_fonts __ARGS((void)); 18 | GtkWidget *gui_gtk_button_new_with_label __ARGS((char *labelname, GtkSignalFunc cbfunc, gpointer cbdata, GtkWidget *parent, int connect_object, gboolean expand, gboolean fill)); 19 | void do_helpfind __ARGS((void)); 20 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/gui_motif.pro: -------------------------------------------------------------------------------- 1 | /* gui_motif.c */ 2 | void gui_x11_create_widgets __ARGS((void)); 3 | void gui_x11_destroy_widgets __ARGS((void)); 4 | void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h)); 5 | void gui_x11_set_back_color __ARGS((void)); 6 | void gui_mch_enable_menu __ARGS((int flag)); 7 | void gui_mch_set_menu_pos __ARGS((int x, int y, int w, int h)); 8 | void gui_motif_set_mnemonics __ARGS((int enable)); 9 | void gui_mch_add_menu __ARGS((VimMenu *menu, VimMenu *parent, int idx)); 10 | void gui_mch_toggle_tearoffs __ARGS((int enable)); 11 | void gui_mch_add_menu_item __ARGS((VimMenu *menu, VimMenu *parent, int idx)); 12 | void gui_mch_new_menu_colors __ARGS((void)); 13 | void gui_mch_destroy_menu __ARGS((VimMenu *menu)); 14 | void gui_mch_show_popupmenu __ARGS((VimMenu *menu)); 15 | void gui_mch_set_scrollbar_thumb __ARGS((GuiScrollbar *sb, int val, int size, int max)); 16 | void gui_mch_set_scrollbar_pos __ARGS((GuiScrollbar *sb, int x, int y, int w, int h)); 17 | void gui_mch_create_scrollbar __ARGS((GuiScrollbar *sb, int orient)); 18 | void gui_mch_destroy_scrollbar __ARGS((GuiScrollbar *sb)); 19 | void gui_mch_set_scrollbar_colors __ARGS((GuiScrollbar *sb)); 20 | Window gui_x11_get_wid __ARGS((void)); 21 | char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter)); 22 | int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton)); 23 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/hangulin.pro: -------------------------------------------------------------------------------- 1 | /* hangulin.c */ 2 | int hangul_input_state_get __ARGS((void)); 3 | void hangul_input_state_set __ARGS((int state)); 4 | void hangul_input_state_toggle __ARGS((void)); 5 | void hangul_keyboard_set __ARGS((void)); 6 | int hangul_input_process __ARGS((char_u *s, int len)); 7 | void hangul_input_clear __ARGS((void)); 8 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/if_cscope.pro: -------------------------------------------------------------------------------- 1 | /* if_cscope.c */ 2 | void do_cscope __ARGS((EXARG *eap)); 3 | void do_cstag __ARGS((EXARG *eap)); 4 | int cs_fgets __ARGS((char_u *buf, int size)); 5 | void cs_free_tags __ARGS((void)); 6 | void cs_print_tags __ARGS((void)); 7 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/if_perl.pro: -------------------------------------------------------------------------------- 1 | /* if_perl.c */ 2 | void perl_end __ARGS((void)); 3 | void msg_split __ARGS((char_u *s, int attr)); 4 | void perl_win_free __ARGS((WIN *wp)); 5 | void perl_buf_free __ARGS((BUF *bp)); 6 | int do_perl __ARGS((EXARG *eap)); 7 | int do_perldo __ARGS((EXARG *eap)); 8 | void XS_VIM_Msg __ARGS((CV *cv)); 9 | void XS_VIM_SetOption __ARGS((CV *cv)); 10 | void XS_VIM_DoCommand __ARGS((CV *cv)); 11 | void XS_VIM_Eval __ARGS((CV *cv)); 12 | void XS_VIM_Buffers __ARGS((CV *cv)); 13 | void XS_VIM_Windows __ARGS((CV *cv)); 14 | void XS_VIWIN_DESTROY __ARGS((CV *cv)); 15 | void XS_VIWIN_Buffer __ARGS((CV *cv)); 16 | void XS_VIWIN_SetHeight __ARGS((CV *cv)); 17 | void XS_VIWIN_Cursor __ARGS((CV *cv)); 18 | void XS_VIBUF_DESTROY __ARGS((CV *cv)); 19 | void XS_VIBUF_Name __ARGS((CV *cv)); 20 | void XS_VIBUF_Number __ARGS((CV *cv)); 21 | void XS_VIBUF_Count __ARGS((CV *cv)); 22 | void XS_VIBUF_Get __ARGS((CV *cv)); 23 | void XS_VIBUF_Set __ARGS((CV *cv)); 24 | void XS_VIBUF_Delete __ARGS((CV *cv)); 25 | void XS_VIBUF_Append __ARGS((CV *cv)); 26 | void boot_VIM __ARGS((CV *cv)); 27 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/if_perlsfio.pro: -------------------------------------------------------------------------------- 1 | /* if_perlsfio.c */ 2 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/if_python.pro: -------------------------------------------------------------------------------- 1 | /* if_python.c */ 2 | int do_python __ARGS((EXARG *eap)); 3 | int do_pyfile __ARGS((EXARG *eap)); 4 | void python_buffer_free __ARGS((BUF *buf)); 5 | void python_window_free __ARGS((WIN *win)); 6 | char *Py_GetProgramName __ARGS((void)); 7 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/if_tcl.pro: -------------------------------------------------------------------------------- 1 | /* if_tcl.c */ 2 | int do_tcl __ARGS((EXARG *eap)); 3 | int do_tclfile __ARGS((EXARG *eap)); 4 | int do_tcldo __ARGS((EXARG *eap)); 5 | void tcl_buffer_free __ARGS((BUF *buf)); 6 | void tcl_window_free __ARGS((WIN *win)); 7 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/main.pro: -------------------------------------------------------------------------------- 1 | /* main.c */ 2 | int process_env __ARGS((char_u *env, int is_viminit)); 3 | void getout __ARGS((int r)); 4 | int toF_TyA __ARGS((int c)); 5 | int fkmap __ARGS((int c)); 6 | void conv_to_pvim __ARGS((void)); 7 | void conv_to_pstd __ARGS((void)); 8 | char_u *lrswap __ARGS((char_u *ibuf)); 9 | char_u *lrFswap __ARGS((char_u *cmdbuf, int len)); 10 | char_u *lrF_sub __ARGS((char_u *ibuf)); 11 | int cmdl_fkmap __ARGS((int c)); 12 | int F_isalpha __ARGS((int c)); 13 | int F_isdigit __ARGS((int c)); 14 | int F_ischar __ARGS((int c)); 15 | void farsi_fkey __ARGS((int c)); 16 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/mark.pro: -------------------------------------------------------------------------------- 1 | /* mark.c */ 2 | int setmark __ARGS((int c)); 3 | void setpcmark __ARGS((void)); 4 | void checkpcmark __ARGS((void)); 5 | FPOS *movemark __ARGS((int count)); 6 | FPOS *getmark __ARGS((int c, int changefile)); 7 | void fmarks_check_names __ARGS((BUF *buf)); 8 | int check_mark __ARGS((FPOS *pos)); 9 | void clrallmarks __ARGS((BUF *buf)); 10 | char_u *fm_getname __ARGS((struct filemark *fmark, int lead_len)); 11 | void do_marks __ARGS((char_u *arg)); 12 | void do_jumps __ARGS((void)); 13 | void mark_adjust __ARGS((linenr_t line1, linenr_t line2, long amount, long amount_after)); 14 | void set_last_cursor __ARGS((WIN *win)); 15 | int read_viminfo_filemark __ARGS((char_u *line, FILE *fp, int force)); 16 | void write_viminfo_filemarks __ARGS((FILE *fp)); 17 | int removable __ARGS((char_u *name)); 18 | int write_viminfo_marks __ARGS((FILE *fp_out)); 19 | void copy_viminfo_marks __ARGS((char_u *line, FILE *fp_in, FILE *fp_out, int count, int eof)); 20 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/memfile.pro: -------------------------------------------------------------------------------- 1 | /* memfile.c */ 2 | MEMFILE *mf_open __ARGS((char_u *fname, int trunc_file)); 3 | int mf_open_file __ARGS((MEMFILE *mfp, char_u *fname)); 4 | void mf_close __ARGS((MEMFILE *mfp, int del_file)); 5 | void mf_close_file __ARGS((BUF *buf, int getlines)); 6 | BHDR *mf_new __ARGS((MEMFILE *mfp, int negative, int page_count)); 7 | BHDR *mf_get __ARGS((MEMFILE *mfp, blocknr_t nr, int page_count)); 8 | void mf_put __ARGS((MEMFILE *mfp, BHDR *hp, int dirty, int infile)); 9 | void mf_free __ARGS((MEMFILE *mfp, BHDR *hp)); 10 | int mf_sync __ARGS((MEMFILE *mfp, int flags)); 11 | int mf_release_all __ARGS((void)); 12 | blocknr_t mf_trans_del __ARGS((MEMFILE *mfp, blocknr_t old_nr)); 13 | void mf_set_ffname __ARGS((MEMFILE *mfp)); 14 | void mf_fullname __ARGS((MEMFILE *mfp)); 15 | int mf_need_trans __ARGS((MEMFILE *mfp)); 16 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/menu.pro: -------------------------------------------------------------------------------- 1 | /* menu.c */ 2 | void do_menu __ARGS((EXARG *eap)); 3 | char_u *set_context_in_menu_cmd __ARGS((char_u *cmd, char_u *arg, int forceit)); 4 | char_u *get_menu_name __ARGS((int idx)); 5 | char_u *get_menu_names __ARGS((int idx)); 6 | char_u *menu_name_skip __ARGS((char_u *name)); 7 | int get_menu_index __ARGS((VimMenu *menu, int state)); 8 | int menubar_menu __ARGS((char_u *name)); 9 | int popup_menu __ARGS((char_u *name)); 10 | int toolbar_menu __ARGS((char_u *name)); 11 | void gui_create_initial_menus __ARGS((VimMenu *menu, VimMenu *parent)); 12 | void gui_update_menus __ARGS((int modes)); 13 | int gui_is_menu_shortcut __ARGS((int key)); 14 | void gui_show_popupmenu __ARGS((void)); 15 | void gui_mch_toggle_tearoffs __ARGS((int enable)); 16 | void execute_menu __ARGS((char_u *path_name)); 17 | int is_menu_separator __ARGS((char_u *name)); 18 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/multbyte.pro: -------------------------------------------------------------------------------- 1 | /* multbyte.c */ 2 | int IsLeadByte __ARGS((int c)); 3 | int IsTrailByte __ARGS((char_u *base, char_u *p)); 4 | int AdjustCursorForMultiByteChar __ARGS((void)); 5 | int MultiStrLen __ARGS((char_u *str)); 6 | int mb_dec __ARGS((FPOS *lp)); 7 | int mb_isbyte1 __ARGS((char_u *buf, int x)); 8 | int mb_isbyte2 __ARGS((char_u *buf, int x)); 9 | void xim_set_focus __ARGS((int focus)); 10 | void xim_set_preedit __ARGS((void)); 11 | void xim_set_status_area __ARGS((void)); 12 | void xim_init __ARGS((void)); 13 | void xim_decide_input_style __ARGS((void)); 14 | void xim_init __ARGS((void)); 15 | int xim_get_status_area_height __ARGS((void)); 16 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/normal.pro: -------------------------------------------------------------------------------- 1 | /* normal.c */ 2 | void normal_cmd __ARGS((OPARG *oap, int toplevel)); 3 | void do_pending_operator __ARGS((CMDARG *cap, char_u *searchbuff, int *command_busy, int old_col, int gui_yank, int dont_adjust_op_end)); 4 | int do_mouse __ARGS((OPARG *oap, int c, int dir, long count, int fix_indent)); 5 | void check_visual_highlight __ARGS((void)); 6 | void end_visual_mode __ARGS((void)); 7 | int find_ident_under_cursor __ARGS((char_u **string, int find_type)); 8 | void clear_showcmd __ARGS((void)); 9 | int add_to_showcmd __ARGS((int c)); 10 | void add_to_showcmd_c __ARGS((int c)); 11 | void push_showcmd __ARGS((void)); 12 | void pop_showcmd __ARGS((void)); 13 | void do_check_scrollbind __ARGS((int check)); 14 | void check_scrollbind __ARGS((linenr_t topline_diff, long leftcol_diff)); 15 | void scroll_redraw __ARGS((int up, long count)); 16 | void start_selection __ARGS((void)); 17 | void may_start_select __ARGS((int c)); 18 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/pty.pro: -------------------------------------------------------------------------------- 1 | /* pty.c */ 2 | int OpenPTY __ARGS((char **ttyn)); 3 | int SetupSlavePTY __ARGS((int fd)); 4 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/quickfix.pro: -------------------------------------------------------------------------------- 1 | /* quickfix.c */ 2 | int qf_init __ARGS((char_u *efile, char_u *errorformat)); 3 | void qf_jump __ARGS((int dir, int errornr, int forceit)); 4 | void qf_list __ARGS((char_u *arg, int all)); 5 | void qf_older __ARGS((int count)); 6 | void qf_newer __ARGS((int count)); 7 | void qf_mark_adjust __ARGS((linenr_t line1, linenr_t line2, long amount, long amount_after)); 8 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/regexp.pro: -------------------------------------------------------------------------------- 1 | /* regexp.c */ 2 | char_u *skip_regexp __ARGS((char_u *p, int dirc, int magic)); 3 | vim_regexp *vim_regcomp __ARGS((char_u *expr, int magic)); 4 | int vim_regcomp_had_eol __ARGS((void)); 5 | int vim_regexec __ARGS((vim_regexp *prog, char_u *string, int at_bol)); 6 | char_u *regtilde __ARGS((char_u *source, int magic)); 7 | void vim_regnewptr __ARGS((vim_regexp *prog, char_u *old_ptr, char_u *new_ptr)); 8 | int vim_regsub __ARGS((vim_regexp *prog, char_u *source, char_u *dest, int copy, int magic)); 9 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/tag.pro: -------------------------------------------------------------------------------- 1 | /* tag.c */ 2 | int do_tag __ARGS((char_u *tag, int type, int count, int forceit, int verbose)); 3 | void tag_freematch __ARGS((void)); 4 | void do_tags __ARGS((void)); 5 | int find_tags __ARGS((char_u *pat, int *num_matches, char_u ***matchesp, int flags, int mincount)); 6 | void simplify_filename __ARGS((char_u *filename)); 7 | int expand_tags __ARGS((int tagnames, char_u *pat, int *num_file, char_u ***file)); 8 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/undo.pro: -------------------------------------------------------------------------------- 1 | /* undo.c */ 2 | int u_save_cursor __ARGS((void)); 3 | int u_save __ARGS((linenr_t top, linenr_t bot)); 4 | int u_savesub __ARGS((linenr_t lnum)); 5 | int u_inssub __ARGS((linenr_t lnum)); 6 | int u_savedel __ARGS((linenr_t lnum, long nlines)); 7 | void u_undo __ARGS((int count)); 8 | void u_redo __ARGS((int count)); 9 | void u_sync __ARGS((void)); 10 | void u_unchanged __ARGS((BUF *buf)); 11 | void u_clearall __ARGS((BUF *buf)); 12 | void u_saveline __ARGS((linenr_t lnum)); 13 | void u_clearline __ARGS((void)); 14 | void u_undoline __ARGS((void)); 15 | void u_blockfree __ARGS((BUF *buf)); 16 | int buf_changed __ARGS((BUF *buf)); 17 | int curbuf_changed __ARGS((void)); 18 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/proto/version.pro: -------------------------------------------------------------------------------- 1 | /* version.c */ 2 | void make_version __ARGS((void)); 3 | int highest_patch __ARGS((void)); 4 | void do_version __ARGS((char_u *arg)); 5 | void list_version __ARGS((void)); 6 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/regexp.h: -------------------------------------------------------------------------------- 1 | /* vi:set ts=8 sts=4 sw=4: 2 | * NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 3 | * 4 | * This is NOT the original regular expression code as written by 5 | * Henry Spencer. This code has been modified specifically for use 6 | * with the VIM editor, and should not be used apart from compiling 7 | * VIM. If you want a good regular expression library, get the 8 | * original code. 9 | * 10 | * NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE 11 | * 12 | * Definitions etc. for regexp(3) routines. 13 | */ 14 | 15 | #ifndef _REGEXP_H 16 | #define _REGEXP_H 17 | 18 | #define NSUBEXP 10 19 | typedef struct 20 | { 21 | char_u *startp[NSUBEXP]; 22 | char_u *endp[NSUBEXP]; 23 | char_u regstart; /* Internal use only. */ 24 | char_u reganch; /* Internal use only. */ 25 | char_u *regmust; /* Internal use only. */ 26 | int regmlen; /* Internal use only. */ 27 | char_u program[1]; /* Unwarranted chumminess with compiler. */ 28 | } vim_regexp; 29 | 30 | /* 31 | * The first byte of the regexp internal "program" is actually this magic 32 | * number; the start node begins in the second byte. 33 | */ 34 | 35 | #define MAGIC 0234 36 | 37 | #endif /* _REGEXP_H */ 38 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/screen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/src/screen.c -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/term.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/src/term.c -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile to run al tests for Vim 3 | # 4 | 5 | # Note: If tests 2, 15 and 26 fail, you probably have 'nocompatible' set. 6 | 7 | VIMPROG = ../vim 8 | 9 | SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \ 10 | test7.out test8.out test9.out test10.out test11.out \ 11 | test12.out test13.out test14.out test15.out test17.out \ 12 | test18.out test19.out test20.out test21.out test22.out \ 13 | test23.out test24.out test25.out test26.out test27.out \ 14 | test28.out test29.out test30.out test31.out test32.out \ 15 | test33.out test34.out test35.out test36.out test37.out \ 16 | test38.out test39.out 17 | 18 | SCRIPTS_GUI = test16.out 19 | 20 | .SUFFIXES: .in .out 21 | 22 | nongui: nolog $(SCRIPTS) 23 | @echo 24 | @cat test.log 25 | @echo ALL DONE 26 | 27 | gui: nolog $(SCRIPTS) $(SCRIPTS_GUI) 28 | @echo 29 | @cat test.log 30 | @echo ALL DONE 31 | 32 | $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) 33 | 34 | clean: 35 | -rm -rf *.out test.log 36 | 37 | .in.out: 38 | -rm -f $*.failed 39 | $(VIMPROG) -u vimrc.unix -U NONE -s dotest.in $*.in 40 | /bin/sh -c "if diff test.out $*.ok; \ 41 | then mv -f test.out $*.out; \ 42 | else echo $* FAILED >>test.log; mv -f test.out $*.failed; \ 43 | fi" 44 | -rm -f Xdotest 45 | 46 | nolog: 47 | -echo Test results: >test.log 48 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/dotest.in: -------------------------------------------------------------------------------- 1 | :set cp 2 | :map dotest /^STARTTEST j:set ff=unix :.,/ENDTEST/-1w! Xdotest :set ff& nj0:bdel Xdotest :so! Xdotest dotest 3 | dotest 4 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test1.in: -------------------------------------------------------------------------------- 1 | 2 | Just a simple test to check if the test script works. 3 | 4 | STARTTEST 5 | ggdGathis is a test:wq! test.out 6 | ENDTEST 7 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test1.ok: -------------------------------------------------------------------------------- 1 | this is a test 2 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test10.ok: -------------------------------------------------------------------------------- 1 | start of testfile 2 | line 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 3 | line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 4 | line 4 xxxAxxxxxxxxxxxxxxxxxxxxxxxxxx 5 | line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 6 | line 6 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 7 | line 7 xxxxxxxxxxBxxxxxxxxxxxxxxxxxxx 8 | line 8 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9 | line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 10 | line 10 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 11 | line 11 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 12 | line 12 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 13 | Cine 13 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 14 | line 14 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 15 | line 15 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 16 | Dine 16 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 17 | line 17 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 18 | line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 19 | Eine 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20 | line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 21 | line 21 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 22 | line 22 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 23 | end of testfile 24 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test12.in: -------------------------------------------------------------------------------- 1 | Tests for 'directory' option. 2 | - ".", in same dir as file 3 | - "./dir", in directory relative to file 4 | - "dir", in directory relative to current dir 5 | 6 | STARTTEST 7 | :set nocompatible 8 | :set dir=.,~ 9 | :/start of testfile/,/end of testfile/w! Xtest1 10 | :" do an ls of the current dir to find the swap file (should not be there) 11 | :if has("unix") 12 | : !ls .X*.swp >test.out 13 | :else 14 | : r !ls X*.swp >test.out 15 | :endif 16 | :!echo first line >>test.out 17 | :e Xtest1 18 | :if has("unix") 19 | :" Do an ls of the current dir to find the swap file, remove the leading dot 20 | :" to make the result the same for all systems. 21 | : r!ls .X*.swp 22 | : s/\.*X/X/ 23 | : .w >>test.out 24 | : undo 25 | :else 26 | : !ls X*.swp >>test.out 27 | :endif 28 | :!echo under Xtest1.swp >>test.out 29 | :!mkdir Xtest2 30 | :set dir=./Xtest2,.,~ 31 | :e Xtest1 32 | :!ls X*.swp >>test.out 33 | :!echo under under >>test.out 34 | :!ls Xtest2 >>test.out 35 | :!echo under Xtest1.swp >>test.out 36 | :!mkdir Xtest.je 37 | :/start of testfile/,/end of testfile/w! Xtest2/Xtest3 38 | :set dir=Xtest.je,~ 39 | :e Xtest2/Xtest3 40 | :swap 41 | :!ls Xtest2 >>test.out 42 | :!echo under Xtest3 >>test.out 43 | :!ls Xtest.je >>test.out 44 | :!echo under Xtest3.swp >>test.out 45 | :!rm -rf Xtest1 Xtest2 Xtest.je 46 | :qa! 47 | ENDTEST 48 | 49 | start of testfile 50 | line 2 Abcdefghij 51 | line 3 Abcdefghij 52 | end of testfile 53 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test12.ok: -------------------------------------------------------------------------------- 1 | first line 2 | Xtest1.swp 3 | under Xtest1.swp 4 | under under 5 | Xtest1.swp 6 | under Xtest1.swp 7 | Xtest3 8 | under Xtest3 9 | Xtest3.swp 10 | under Xtest3.swp 11 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test13.in: -------------------------------------------------------------------------------- 1 | Tests for autocommands on :close command 2 | 3 | Write three files and open them, each in a window. 4 | Then go to next window, with autocommand that deletes the previous one. 5 | Do this twice, writing the file. 6 | 7 | Also test deleting the buffer on a Unload event. If this goes wrong there 8 | will be the ATTENTION prompt. 9 | 10 | Also test changing buffers in a BufDel autocommand. If this goes wrong there 11 | are ml_line errors and/or a Crash. 12 | 13 | STARTTEST 14 | :/^start of testfile/,/^end of testfile/w! Xtestje1 15 | :/^start of testfile/,/^end of testfile/w! Xtestje2 16 | :/^start of testfile/,/^end of testfile/w! Xtestje3 17 | :e Xtestje1 18 | otestje1 19 | :w 20 | :sp Xtestje2 21 | otestje2 22 | :w 23 | :sp Xtestje3 24 | otestje3 25 | :w 26 |  27 | :au WinLeave testje bdel 28 |  29 | :w! test.out 30 | :au WinLeave testje bdel testje3 31 | :close 32 | :w >>test.out 33 | :e Xtestje1 34 | :bdel Xtestje2 Xtestje3 test.out 35 | :au! 36 | :au! BufUnload Xtestje1 bdel 37 | :e Xtestje3 38 | :w >>test.out 39 | :e Xtestje2 40 | :sp Xtestje1 41 | :e 42 | :w >>test.out 43 | :au! 44 | :only 45 | :e Xtestje1 46 | :bdel Xtestje2 Xtestje3 test.out test13.in 47 | :au BufDelete Xtestje1 buf Xtestje1 48 | :bd 49 | :w >>test.out 50 | :!rm -rf Xtestje* 51 | :qa! 52 | ENDTEST 53 | 54 | start of testfile 55 | contents 56 | contents 57 | contents 58 | end of testfile 59 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test13.ok: -------------------------------------------------------------------------------- 1 | start of testfile 2 | testje1 3 | contents 4 | contents 5 | contents 6 | end of testfile 7 | start of testfile 8 | testje2 9 | contents 10 | contents 11 | contents 12 | end of testfile 13 | start of testfile 14 | testje3 15 | contents 16 | contents 17 | contents 18 | end of testfile 19 | start of testfile 20 | testje2 21 | contents 22 | contents 23 | contents 24 | end of testfile 25 | start of testfile 26 | testje1 27 | contents 28 | contents 29 | contents 30 | end of testfile 31 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test14.in: -------------------------------------------------------------------------------- 1 | Tests for "vaBiB", end could be wrong. 2 | Also test ":s/pat/sub/" with different ~s in sub. 3 | Also test for ^Vxff and ^Vo123 in Insert mode. 4 | Also test "[m", "]m", "[M" and "]M" 5 | 6 | STARTTEST 7 | /Start cursor here 8 | vaBiBD:?Bug?,/Piece/-2w! test.out 9 | /^- Bug 10 | :s/u/~u~/ 11 | :s/i/~u~/ 12 | :s/o/~~~/ 13 | :.w >>test.out 14 | o65x42o103 33axfgo78:.w >>test.out 15 | :set vb 16 | /^Piece 17 | 2]maA:.w >>test.out 18 | j]maB:.w >>test.out 19 | ]maC:.w >>test.out 20 | [maD:.w >>test.out 21 | k2[maE:.w >>test.out 22 | 3[maF:.w >>test.out 23 | ]MaG:.w >>test.out 24 | j2]MaH:.w >>test.out 25 | ]M]MaI:.w >>test.out 26 | 2[MaJ:.w >>test.out 27 | k[MaK:.w >>test.out 28 | 3[MaL:.w >>test.out 29 | :qa! 30 | ENDTEST 31 | 32 | - Bug in "vPPPP" on this text (Webb): 33 | { 34 | cmd; 35 | { 36 | cmd; /* <-- Start cursor here */ 37 | { 38 | } 39 | } 40 | } 41 | 42 | Piece of Java 43 | { 44 | tt m1 { 45 | t1; 46 | } e1 47 | 48 | tt m2 { 49 | t2; 50 | } e2 51 | 52 | tt m3 { 53 | if (x) 54 | { 55 | t3; 56 | } 57 | } e3 58 | } 59 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test14.ok: -------------------------------------------------------------------------------- 1 | - Bug in "vPPPP" on this text (Webb): 2 | { 3 | } 4 | - Bug uuun "vPPPP" uuuuuuuuun this text (Webb): 5 | ABC !ag8 6 | tt m1 {A 7 | tt m2 {B 8 | tt m3 {C 9 | tt m3 {DC 10 | tt m1 {EA 11 | {F 12 | }G e1 13 | }H e3 14 | }I 15 | }JH e3 16 | }K e2 17 | {LF 18 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test16.in: -------------------------------------------------------------------------------- 1 | Tests for resetting "secure" flag after GUI has started. 2 | 3 | STARTTEST 4 | :set exrc secure 5 | :gui -f 6 | :.,$w! test.out 7 | :qa! 8 | ENDTEST 9 | 10 | just some text 11 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test16.ok: -------------------------------------------------------------------------------- 1 | 2 | just some text 3 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test17.in: -------------------------------------------------------------------------------- 1 | Tests for "gf" on ${VAR} 2 | 3 | STARTTEST 4 | :set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,} 5 | :if has("unix") 6 | :let $CDIR = "." 7 | /CDIR 8 | :else 9 | :if has("amiga") 10 | :let $TDIR = "/testdir" 11 | :else 12 | :let $TDIR = "." 13 | :endif 14 | /TDIR 15 | :endif 16 | gf 17 | :w! test.out 18 | :qa! 19 | ENDTEST 20 | 21 | ${CDIR}/test17a.in 22 | $TDIR/test17a.in 23 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test17.ok: -------------------------------------------------------------------------------- 1 | This file is just to test "gf" in test 17. 2 | The contents is not importent. 3 | Just testing! 4 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test17a.in: -------------------------------------------------------------------------------- 1 | This file is just to test "gf" in test 17. 2 | The contents is not importent. 3 | Just testing! 4 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test18.in: -------------------------------------------------------------------------------- 1 | Tests for not doing smart indenting when it isn't set. 2 | 3 | STARTTEST 4 | :set nocin nosi ai 5 | /some 6 | 2cc#test 7 | :?start?,$w! test.out 8 | :qa! 9 | ENDTEST 10 | 11 | start text 12 | some test text 13 | test text 14 | test text 15 | test text 16 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test18.ok: -------------------------------------------------------------------------------- 1 | start text 2 | #test 3 | test text 4 | test text 5 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test19.in: -------------------------------------------------------------------------------- 1 | Tests for "r" with 'smarttab' and 'expandtab' set/not set. 2 | 3 | STARTTEST 4 | :set smarttab expandtab ts=8 sw=4 5 | /some 6 | r :set noexpandtab 7 | /other 8 | r 9 | :" Test replacing with Tabs and then backspacing to undo it 10 | 0wR  11 | :" Test replacing with Tabs 12 | 0wR  13 | :?^start?,$w! test.out 14 | :qa! 15 | ENDTEST 16 | 17 | start text 18 | some test text 19 | test text 20 | other test text 21 | a cde 22 | f ghi 23 | test text 24 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test19.ok: -------------------------------------------------------------------------------- 1 | start text 2 | ome test text 3 | test text 4 | ther test text 5 | a cde 6 | hi 7 | test text 8 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test2.in: -------------------------------------------------------------------------------- 1 | 2 | This is a test if a URL is recognized by "gf", with the cursor before and 3 | after the "://". Also test ":\\". Tricky: Have to use backslashes in a file 4 | name! 5 | 6 | STARTTEST 7 | :.,$w!/tmp/vimtest2a 8 | /first 9 | /tmp 10 | gf 11 | :.,$w!/tmp/vimtest2b 12 | /second 13 | /URL 14 | gf 15 | :set isf=@,48-57,/,.,-,_,+,,,$,:,~,\ 16 | :.,$w!\\tmp\\vimtest2c 17 | /third 18 | /name 19 | gf 20 | :.,$w!\\tmp\\vimtest2d 21 | /fourth 22 | G/URL 23 | gf 24 | :!rm /tmp/vimtest2a /tmp/vimtest2b \\tmp\\vimtest2c \\tmp\\vimtest2d 25 | :wq! test.out 26 | ENDTEST 27 | This is the text for the vimtest2a file. 28 | This is the text for the vimtest2b file. 29 | This is the text for the vimtest2c file. 30 | This is the text for the vimtest2d file. 31 | This is a first test for an URL://machine.name/tmp/vimtest2a and some other text 32 | This is a second test for an URL://machine.name/tmp/vimtest2b and some other text 33 | This is a third test for an URL:\\machine.name\tmp\vimtest2c and some other text 34 | This is a fourth test for an URL:\\machine.name\tmp\vimtest2d and some other text 35 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test2.ok: -------------------------------------------------------------------------------- 1 | This is the text for the vimtest2d file. 2 | This is a first test for an URL://machine.name/tmp/vimtest2a and some other text 3 | This is a second test for an URL://machine.name/tmp/vimtest2b and some other text 4 | This is a third test for an URL:\\machine.name\tmp\vimtest2c and some other text 5 | This is a fourth test for an URL:\\machine.name\tmp\vimtest2d and some other text 6 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test20.in: -------------------------------------------------------------------------------- 1 | Tests Blockwise Visual when there are TABs before the text. 2 | 3 | STARTTEST 4 | /start 5 | jjlld:.,$w! test.out 6 | :qa! 7 | ENDTEST 8 | 9 | test text test tex start here 10 | some text 11 | test text 12 | test text 13 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test20.ok: -------------------------------------------------------------------------------- 1 | test text test tex rt here 2 | somext 3 | tesext 4 | test text 5 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test21.in: -------------------------------------------------------------------------------- 1 | Tests for [ CTRL-I with a count and CTRL-W CTRL-I with a count 2 | 3 | STARTTEST 4 | /start 5 | 6[ :.w! test.out 6 | ?start here 7 | 6 :.w >>test.out 8 | :qa! 9 | ENDTEST 10 | 11 | #include test21.in 12 | 13 | /* test text test tex start here 14 | some text 15 | test text 16 | start OK if found this line 17 | start found wrong line 18 | test text 19 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test21.ok: -------------------------------------------------------------------------------- 1 | start OK if found this line 2 | start OK if found this line 3 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test22.in: -------------------------------------------------------------------------------- 1 | Tests for file with some lines ending in CTRL-M, some not 2 | 3 | STARTTEST 4 | :set ta tx 5 | :e! 6 | :$-3,$w! test.out 7 | :qa! 8 | ENDTEST 9 | 10 | this lines ends in a 11 | this one doesn't 12 | this one does 13 | and the last one doesn't 14 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test22.ok: -------------------------------------------------------------------------------- 1 | this lines ends in a 2 | this one doesn't 3 | this one does 4 | and the last one doesn't 5 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test23.in: -------------------------------------------------------------------------------- 1 | Tests for complicated + argument to :edit command 2 | 3 | STARTTEST 4 | :$-1w! Xfile1 5 | :$w! Xfile2 6 | :edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w 7 | :w! test.out 8 | :e Xfile1 9 | :w >> test.out 10 | :!rm -f Xfile1 Xfile2 11 | :qa! 12 | ENDTEST 13 | 14 | The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar" 15 | foo|bar 16 | foo/bar 17 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test23.ok: -------------------------------------------------------------------------------- 1 | fooSLASHbar 2 | fooPIPEbar 3 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test24.in: -------------------------------------------------------------------------------- 1 | Tests for regexp with backslash and other special characters inside [] 2 | 3 | STARTTEST 4 | :set nocompatible 5 | /[\x] 6 | x/[\t\]] 7 | x/[]y] 8 | x/[\]] 9 | x/[y^] 10 | x/[$y] 11 | x:?start?,$w! test.out 12 | :qa! 13 | ENDTEST 14 | 15 | start 16 | test \text test text 17 | test text test text 18 | test text ]test text 19 | test ]text test text 20 | test text te^st text 21 | test te$xt test text 22 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test24.ok: -------------------------------------------------------------------------------- 1 | start 2 | test text test text 3 | test text test text 4 | test text test text 5 | test text test text 6 | test text test text 7 | test text test text 8 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test25.in: -------------------------------------------------------------------------------- 1 | Test for jumping to a tag with 'hidden' set, with symbolic link in path of tag. 2 | This only works for Unix, because of the symbolic link. 3 | 4 | STARTTEST 5 | :set hidden 6 | :" Create a link from test25.dir to the current directory. 7 | :!rm -f test25.dir 8 | :!ln -s . test25.dir 9 | :" Create tags.text, with the current directory name inserted. 10 | /tags line 11 | :r !pwd 12 | d$/test 13 | hP:.w! tags.test 14 | :" Try jumping to a tag in the current file, but with a path that contains a 15 | :" symbolic link. When wrong, this will give the ATTENTION message. The next 16 | :" space will then be eaten by hit-return, instead of moving the cursor to 'd'. 17 | :set tags=tags.test 18 | G x:.w! test.out 19 | :!rm -f test25.dir tags.test 20 | :qa! 21 | ENDTEST 22 | 23 | tags line: 24 | SECTION_OFF /test25.dir/test25.in /^#define SECTION_OFF 3$/ 25 | 26 | /*tx.c*/ 27 | #define SECTION_OFF 3 28 | #define NUM_SECTIONS 3 29 | 30 | SECTION_OFF 31 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test25.ok: -------------------------------------------------------------------------------- 1 | #efine SECTION_OFF 3 2 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test26.in: -------------------------------------------------------------------------------- 1 | Test for :execute, :while and :if 2 | 3 | STARTTEST 4 | mt:let i = 0 5 | :while i < 12 6 | : let i = i + 1 7 | : execute "normal o" . i . "\033" 8 | : if i % 2 9 | : normal Ax 10 | : if i == 9 11 | : break 12 | : endif 13 | : if i == 5 14 | : continue 15 | : else 16 | : let j = 9 17 | : while j > 0 18 | : execute "normal" j . "a" . j . "\x1b" 19 | : let j = j - 1 20 | : endwhile 21 | : endif 22 | : endif 23 | : if i == 9 24 | : execute "normal Az\033" 25 | : endif 26 | :endwhile 27 | :'t,$w! test.out 28 | :qa! 29 | ENDTEST 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test26.ok: -------------------------------------------------------------------------------- 1 | 2 | 1x999999999888888887777777666666555554444333221 3 | 2 4 | 3x999999999888888887777777666666555554444333221 5 | 4 6 | 5x 7 | 6 8 | 7x999999999888888887777777666666555554444333221 9 | 8 10 | 9x 11 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test27.in: -------------------------------------------------------------------------------- 1 | Test for expanding file names 2 | 3 | STARTTEST 4 | :!mkdir dir1 5 | :!mkdir dir2 6 | :!mkdir dir3 7 | :cd dir3 8 | :!mkdir dir4 9 | :cd .. 10 | :w dir1/file 11 | :w dir3/dir4/file 12 | :n dir?/*/file 13 | Go%:.w! test.out 14 | :n! dir?/*/nofile 15 | Go%:.w >>test.out 16 | :e! xx 17 | :!rm -rf dir1 dir2 dir3 18 | :qa! 19 | ENDTEST 20 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test27.ok: -------------------------------------------------------------------------------- 1 | dir3/dir4/file 2 | dir?/*/nofile 3 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test28.in: -------------------------------------------------------------------------------- 1 | Test for sourcing a file with CTRL-V's at the end of the line 2 | 3 | STARTTEST 4 | :/firstline/+1,/lastline/-1w! testfile 5 | :so testfile 6 | Gmm__1__2__3__4__5:'m,$w! test.out 7 | :!rm -rf testfile 8 | :qa! 9 | ENDTEST 10 | 11 | firstline 12 | map __1 afirst 13 | map __2 asecond 14 | map __3 athird 15 | map __4 afourth 16 | map __5 afifth 17 | map __1 asd 18 | map __2 asd 19 | map __3 asd 20 | map __4 asd 21 | map __5 asd 22 | lastline 23 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test28.ok: -------------------------------------------------------------------------------- 1 | sd 2 | map __2 asdsecondsdsdmap __5 asdfifth 3 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test29.in: -------------------------------------------------------------------------------- 1 | Test for joining lines with 'joinspaces' set or not 2 | 3 | STARTTEST 4 | :set nojoinspaces 5 | /firstline/ 6 | jJjJjJjJjJjJjJjJjJjJjJjJjJjJ:set joinspaces 7 | jJjJjJjJjJjJjJjJjJjJjJjJjJjJ:?firstline?+1,$w! test.out 8 | :qa! 9 | ENDTEST 10 | 11 | firstline 12 | asdfasdf. 13 | asdf 14 | asdfasdf. 15 | asdf 16 | asdfasdf. 17 | asdf 18 | asdfasdf. 19 | asdf 20 | asdfasdf. 21 | asdf 22 | asdfasdf. 23 | asdf 24 | asdfasdf. 25 | asdf 26 | asdfasdf 27 | asdf 28 | asdfasdf 29 | asdf 30 | asdfasdf 31 | asdf 32 | asdfasdf 33 | asdf 34 | asdfasdf 35 | asdf 36 | asdfasdf 37 | asdf 38 | asdfasdf 39 | asdf 40 | asdfasdf. 41 | asdf 42 | asdfasdf. 43 | asdf 44 | asdfasdf. 45 | asdf 46 | asdfasdf. 47 | asdf 48 | asdfasdf. 49 | asdf 50 | asdfasdf. 51 | asdf 52 | asdfasdf. 53 | asdf 54 | asdfasdf 55 | asdf 56 | asdfasdf 57 | asdf 58 | asdfasdf 59 | asdf 60 | asdfasdf 61 | asdf 62 | asdfasdf 63 | asdf 64 | asdfasdf 65 | asdf 66 | asdfasdf 67 | asdf 68 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test29.ok: -------------------------------------------------------------------------------- 1 | asdfasdf. asdf 2 | asdfasdf. asdf 3 | asdfasdf. asdf 4 | asdfasdf. asdf 5 | asdfasdf. asdf 6 | asdfasdf. asdf 7 | asdfasdf. asdf 8 | asdfasdf asdf 9 | asdfasdf asdf 10 | asdfasdf asdf 11 | asdfasdf asdf 12 | asdfasdf asdf 13 | asdfasdf asdf 14 | asdfasdf asdf 15 | asdfasdf. asdf 16 | asdfasdf. asdf 17 | asdfasdf. asdf 18 | asdfasdf. asdf 19 | asdfasdf. asdf 20 | asdfasdf. asdf 21 | asdfasdf. asdf 22 | asdfasdf asdf 23 | asdfasdf asdf 24 | asdfasdf asdf 25 | asdfasdf asdf 26 | asdfasdf asdf 27 | asdfasdf asdf 28 | asdfasdf asdf 29 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test30.ok: -------------------------------------------------------------------------------- 1 | unix 2 | unix 3 | dos 4 | dos 5 | mac mac 6 | 1 7 | unix 8 | unix 9 | dos 10 | dos 11 | mac mac 12 | 2 13 | unix 14 | unix 15 | dos 16 | dos 17 | mac mac 3 18 | unix 19 | unix 20 | dos 21 | dos 22 | mac mac 23 | unix 24 | unix 25 | dos 26 | dos 27 | mac mac 28 | unix 29 | unix 30 | dos 31 | dos 32 | mac mac 4 33 | unix 34 | unix 35 | dos 36 | dos 37 | mac mac 38 | unix 39 | unix 40 | mac mac 41 | dos 42 | dos 43 | mac mac 44 | 5 45 | unix 46 | unix 47 | dos 48 | dos 49 | unix 50 | unix 51 | dos 52 | dos 53 | mac mac 54 | dos 55 | dos 56 | mac mac 6 57 | unix 58 | unix 59 | dos 60 | dos 61 | unix 62 | unix 63 | mac mac 64 | unix 65 | unix 66 | dos 67 | dos 68 | mac mac 69 | 7 70 | unix 71 | unix 72 | dos 73 | dos 74 | mac mac 75 | 8 76 | unix 77 | unix 78 | dos 79 | dos 80 | mac mac 81 | 9 82 | unix 83 | unix 84 | dos 85 | dos 86 | mac mac unix 87 | unix 88 | dos 89 | dos 90 | mac mac unix 91 | unix 92 | dos 93 | dos 94 | mac mac 10 95 | unix 96 | unix 97 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test31.ok: -------------------------------------------------------------------------------- 1 | testtext 2 2 | testtext 2 2 3 | testtext 1 1 4 | testtext 1 1 1 5 | testtext 2 2 6 | testtext 2 2 7 | testtext 3 8 | testtext 3 3 9 | testtext 1 10 | testtext 3 3 3 11 | testtext 1 12 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test32.in: -------------------------------------------------------------------------------- 1 | Test for insert expansion 2 | 3 | :se cpt=.,w 4 | * add-expands (word from next line) from other window 5 | * add-expands (current buffer first) 6 | * Local expansion, ends in an empty line (unless it becomes a global expansion) 7 | * starts Local and switches to global add-expansion 8 | :se cpt=.,w,i 9 | * i-add-expands and switches to local 10 | * add-expands lines (it would end in an empty line if it didn't ignored it self) 11 | :se cpt=kMakefile 12 | * checks k-expansion, and file expansion 13 | :se cpt=w 14 | * checks make_cyclic in other window 15 | :se cpt=u nohid 16 | * checks unloaded buffer expansion 17 | * checks adding mode abortion 18 | :se cpt=t,d 19 | * tag expansion, define add-expansion interrupted 20 | * t-expansion 21 | 22 | STARTTEST 23 | :se nocp cpt=.,w|$-2,$w!Xtestfile 24 | nO#include "Xtestfile" 25 | ru 26 | O 27 |  28 |  29 | :se cpt=.,w,i 30 | kOM 31 |    32 | :se cpt=kXtestfile 33 | O 34 | :se cpt=w 35 | OST 36 | :se cpt=u nohid 37 | oOEN 38 | unl 39 | :se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch 40 | O 41 | a 42 | :!rm Xtestfile 43 | :wq! test.out 44 | ENDTEST 45 | 46 | start of testfile 47 | run1 48 | run2 49 | end of testfile 50 | 51 | test11 36Gepeto /Tag/ 52 | asd test11file 36G 53 | Makefile to run 54 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test32.ok: -------------------------------------------------------------------------------- 1 | #include "Xtestfile" 2 | run1 run3 3 | run3 run3 4 | 5 | Makefile to run3 6 | Makefile to run3 7 | Makefile to run3 8 | test11.ok 9 | STARTTEST 10 | ENDTEST 11 | unless 12 | test11file 36Gepeto /Tag/ asd 13 | asd 14 | run1 run2 15 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test33.in: -------------------------------------------------------------------------------- 1 | Test for 'lisp' 2 | If the lisp feature is not enabled, this will fail! 3 | 4 | STARTTEST 5 | :set lisp 6 | /^(defun 7 | =G:/^(defun/,$w! test.out 8 | :q! 9 | ENDTEST 10 | 11 | (defun html-file (base) 12 | (format nil "~(~A~).html" base)) 13 | 14 | (defmacro page (name title &rest body) 15 | (let ((ti (gensym))) 16 | `(with-open-file (*standard-output* 17 | (html-file ,name) 18 | :direction :output 19 | :if-exists :supersede) 20 | (let ((,ti ,title)) 21 | (as title ,ti) 22 | (with center 23 | (as h2 (string-upcase ,ti))) 24 | (brs 3) 25 | ,@body)))) 26 | 27 | ;;; Utilities for generating links 28 | 29 | (defmacro with-link (dest &rest body) 30 | `(progn 31 | (format t "" (html-file ,dest)) 32 | ,@body 33 | (princ ""))) 34 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test33.ok: -------------------------------------------------------------------------------- 1 | (defun html-file (base) 2 | (format nil "~(~A~).html" base)) 3 | 4 | (defmacro page (name title &rest body) 5 | (let ((ti (gensym))) 6 | `(with-open-file (*standard-output* 7 | (html-file ,name) 8 | :direction :output 9 | :if-exists :supersede) 10 | (let ((,ti ,title)) 11 | (as title ,ti) 12 | (with center 13 | (as h2 (string-upcase ,ti))) 14 | (brs 3) 15 | ,@body)))) 16 | 17 | ;;; Utilities for generating links 18 | 19 | (defmacro with-link (dest &rest body) 20 | `(progn 21 | (format t "" (html-file ,dest)) 22 | ,@body 23 | (princ ""))) 24 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test34.in: -------------------------------------------------------------------------------- 1 | Test for user functions 2 | 3 | STARTTEST 4 | :function Table(title, ...) 5 | : let ret = a:title 6 | : let idx = 1 7 | : while idx <= a:0 8 | : exe "let ret = ret . a:" . idx 9 | : let idx = idx + 1 10 | : endwhile 11 | : return ret 12 | :endfunction 13 | :function Compute(n1, n2, divname) 14 | : if a:n2 == 0 15 | : return "fail" 16 | : endif 17 | : exe "let g:" . a:divname . " = ". a:n1 / a:n2 18 | : return "ok" 19 | :endfunction 20 | :let retval = "nop" 21 | /^here 22 | C=Table("xxx", 4, "asdf") 23 | =Compute(45, 0, "retval") 24 | =retval 25 | =Compute(45, 5, "retval") 26 | =retval 27 | :.wq! test.out 28 | ENDTEST 29 | 30 | here 31 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test34.ok: -------------------------------------------------------------------------------- 1 | xxx4asdf fail nop ok 9 2 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test35.in: -------------------------------------------------------------------------------- 1 | Test Ctrl-A and Ctrl-X, which increment and decrement decimal, hexadecimal, 2 | and octal numbers. 3 | 4 | STARTTEST 5 | /^start-here 6 | :set nrformats=octal,hex 7 | j102ll64128$ 8 | :set nrformats=octal 9 | 0102l2w65129blx6lD 10 | :set nrformats=hex 11 | 0101l257Txldt    12 | :set nrformats= 13 | 0200l100w78k 14 | :$-3,$wq! test.out 15 | ENDTEST 16 | 17 | start-here 18 | 100 0x100 077 0 19 | 100 0x100 077 20 | 100 0x100 077 0xfF 0xFf 21 | 100 0x100 077 22 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test35.ok: -------------------------------------------------------------------------------- 1 | 0 0x0ff 0000 -1 2 | 0 1x100 0777777 3 | -1 0x0 078 0xFE 0xfe 4 | -100 -100x100 000 5 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test36.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/src/testdir/test36.in -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test36.ok: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/benchmarks/vim-5.7/src/testdir/test36.ok -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test38.in: -------------------------------------------------------------------------------- 1 | 2 | Test Virtual replace mode. 3 | 4 | STARTTEST 5 | ggdGa 6 | abcdefghi 7 | jk lmn 8 | opq rst 9 | uvwxyz 10 | gg:set ai 11 | :set bs=2 12 | gR0 1 13 | A 14 | BCDEFGHIJ 15 | KL 16 | MNO 17 | PQRG:ka 18 | o0 19 | abcdefghi 20 | jk lmn 21 | opq rst 22 | uvwxyz 23 | 'ajgR0 1 24 | A 25 | BCDEFGHIJ 26 | KL 27 | MNO 28 | PQR:$ 29 | iab cdefghi jkl0gRAB......CDEFGHI.Jo: 30 | iabcdefghijklmnopqrst0gRAB IJKLMNO QR:wq! test.out 31 | ENDTEST 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test38.ok: -------------------------------------------------------------------------------- 1 | 1 2 | A 3 | BCDEFGHIJ 4 | KL 5 | MNO 6 | PQR 7 | 1 8 | abcdefghi 9 | jk lmn 10 | opq rst 11 | uvwxyz 12 | AB......CDEFGHI.Jkl 13 | AB IJKLMNO QRst 14 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test39.in: -------------------------------------------------------------------------------- 1 | 2 | Test Visual block mode commands 3 | 4 | STARTTEST 5 | /^abcde 6 | :" Test shift-right of a block 7 | jlllljj>wlljlll> 8 | :" Test shift-left of a block 9 | G$hhhhkk< 10 | :" Test block-insert 11 | GklkkkIxyz 12 | :" Test block-replace 13 | Gllllkkklllrq 14 | :" Test block-change 15 | G$khhhhhkkcmno 16 | :$-4,$wq! test.out 17 | ENDTEST 18 | 19 | abcdefghijklm 20 | abcdefghijklm 21 | abcdefghijklm 22 | abcdefghijklm 23 | abcdefghijklm 24 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test39.ok: -------------------------------------------------------------------------------- 1 | axyzbcdefghijklm 2 | axyzqqqq mno ghijklm 3 | axyzqqqqef mno ghijklm 4 | axyzqqqqefgmnoklm 5 | abcdqqqqijklm 6 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test4.in: -------------------------------------------------------------------------------- 1 | Test for autocommand that changes current buffer on BufEnter event. 2 | Check if modelines are interpreted for the correct buffer. 3 | 4 | STARTTEST 5 | :set nocompatible 6 | :au BufEnter Xxx brew 7 | /start of 8 | :.,/end of/w! Xxx " write test file Xxx 9 | :set ai modeline modelines=3 10 | :sp Xxx " split to Xxx, autocmd will do :brew 11 | G?this is a 12 | othis should be auto-indented 13 | : " Append hello with autoindent to this file 14 | :au! BufEnter Xxx 15 | :buf Xxx " go to Xxx, no autocmd anymore 16 | G?this is a 17 | othis should be in column 1:wq " append hello without autoindent to Xxx 18 | G:r Xxx " include Xxx in the current file 19 | :?startstart?,$w! test.out 20 | :!rm Xxx 21 | :qa! 22 | ENDTEST 23 | 24 | startstart 25 | start of test file Xxx 26 | vim: set noai : 27 | this is a test 28 | this is a test 29 | this is a test 30 | this is a test 31 | end of test file Xxx 32 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test4.ok: -------------------------------------------------------------------------------- 1 | startstart 2 | start of test file Xxx 3 | vim: set noai : 4 | this is a test 5 | this is a test 6 | this is a test 7 | this is a test 8 | this should be auto-indented 9 | end of test file Xxx 10 | start of test file Xxx 11 | vim: set noai : 12 | this is a test 13 | this is a test 14 | this is a test 15 | this is a test 16 | this should be in column 1 17 | end of test file Xxx 18 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test5.in: -------------------------------------------------------------------------------- 1 | Test for autocommand that deletes the current buffer on BufLeave event. 2 | Also test deleting the last buffer, should give a new, empty buffer. 3 | 4 | STARTTEST 5 | :au BufLeave Xxx bdel 6 | /start of 7 | :.,/end of/w! Xxx " write test file Xxx 8 | :sp Xxx " split to Xxx 9 | :bdel " delete buffer Xxx, now we're back here 10 | G?this is a 11 | othis is some more text 12 | : " Append some text to this file 13 | :?start?,$w! test.out " Write current file contents 14 | :bdel test.out " delete alternate buffer 15 | :au bufleave test5.in bdel 16 | :bdel! " delete current buffer, get an empty one 17 | ithis is another test line:w >>test.out 18 | : " append an extra line to the output file 19 | :!rm Xxx 20 | :qa! 21 | ENDTEST 22 | 23 | start of test file Xxx 24 | vim: set noai : 25 | this is a test 26 | this is a test 27 | this is a test 28 | this is a test 29 | end of test file Xxx 30 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test5.ok: -------------------------------------------------------------------------------- 1 | start of test file Xxx 2 | vim: set noai : 3 | this is a test 4 | this is a test 5 | this is a test 6 | this is a test 7 | this is some more text 8 | end of test file Xxx 9 | this is another test line 10 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test6.in: -------------------------------------------------------------------------------- 1 | Test for autocommand that redefines the argument list, when doing ":all". 2 | 3 | STARTTEST 4 | :au BufReadPost Xxx2 next Xxx2 Xxx1 5 | /^start of 6 | A1:.,/end of/w! Xxx1 " write test file Xxx1 7 | $r2:.,/end of/w! Xxx2 " write test file Xxx2 8 | $r3:.,/end of/w! Xxx3 " write test file Xxx3 9 | :next! Xxx1 Xxx2 Xxx3 " redefine arglist; go to Xxx1 10 | :all " open window for all args 11 | :w! test.out " Write contents of Xxx1 12 | :w >>test.out " Append contents of last window (Xxx1) 13 | :rew " should now be in Xxx2 14 | :w >>test.out " Append contents of Xxx2 15 | :!rm Xxx1 Xxx2 Xxx3 16 | :qa! 17 | ENDTEST 18 | 19 | start of test file Xxx 20 | this is a test 21 | this is a test 22 | this is a test 23 | this is a test 24 | end of test file Xxx 25 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test6.ok: -------------------------------------------------------------------------------- 1 | start of test file Xxx1 2 | this is a test 3 | this is a test 4 | this is a test 5 | this is a test 6 | end of test file Xxx 7 | start of test file Xxx1 8 | this is a test 9 | this is a test 10 | this is a test 11 | this is a test 12 | end of test file Xxx 13 | start of test file Xxx2 14 | this is a test 15 | this is a test 16 | this is a test 17 | this is a test 18 | end of test file Xxx 19 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test7.in: -------------------------------------------------------------------------------- 1 | Test for autocommand that changes the buffer list, when doing ":ball". 2 | 3 | STARTTEST 4 | :au BufReadPost Xxx2 bdel 5 | /start of 6 | A1:.,/end of/w! Xxx1 " write test file Xxx1 7 | $r2:.,/end of/w! Xxx2 " write test file Xxx2 8 | $r3:.,/end of/w! Xxx3 " write test file Xxx3 9 | $r4:ball " open window for all args, close Xxx2 10 | :.,$w! test.out " Write contents of this file 11 | :w >>test.out " Append contents of second window (Xxx1) 12 | :/^start of/,$w >>test.out " Append contents of last window (this file) 13 | :!rm Xxx1 Xxx2 Xxx3 14 | :qa! 15 | ENDTEST 16 | 17 | start of test file Xxx 18 | this is a test 19 | this is a test 20 | end of test file Xxx 21 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test7.ok: -------------------------------------------------------------------------------- 1 | start of test file Xxx4 2 | this is a test 3 | this is a test 4 | end of test file Xxx 5 | start of test file Xxx1 6 | this is a test 7 | this is a test 8 | end of test file Xxx 9 | start of test file Xxx4 10 | this is a test 11 | this is a test 12 | end of test file Xxx 13 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test8.in: -------------------------------------------------------------------------------- 1 | Test for BufWritePre autocommand that deletes or unloads the buffer. 2 | 3 | STARTTEST 4 | :au BufWritePre Xxx1 bunload 5 | :au BufWritePre Xxx2 bdel 6 | /start of 7 | A1:.,/end of/w! Xxx1 " write test file Xxx1 8 | $r2:.,/end of/w! Xxx2 " write test file Xxx2 9 | :e! Xxx1 " start editing Xxx1 10 | :w " write it, will unload it and give an error msg 11 | :w! test.out " Write contents of this file 12 | :e! Xxx2 " start editing Xxx2 13 | :bdel test.out " remove test.out from the buffer list 14 | :w " write it, will delete the buffer and give an error msg 15 | :w >>test.out " Append contents of this file 16 | :!rm Xxx1 Xxx2 17 | :qa! 18 | ENDTEST 19 | 20 | start of test file Xxx 21 | this is a test 22 | this is a test 23 | this is a test 24 | this is a test 25 | end of test file Xxx 26 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test8.ok: -------------------------------------------------------------------------------- 1 | start of test file Xxx2 2 | this is a test 3 | this is a test 4 | this is a test 5 | this is a test 6 | end of test file Xxx 7 | start of test file Xxx1 8 | this is a test 9 | this is a test 10 | this is a test 11 | this is a test 12 | end of test file Xxx 13 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test9.in: -------------------------------------------------------------------------------- 1 | Test for Bufleave autocommand that deletes the buffer we are about to edit. 2 | 3 | STARTTEST 4 | :au BufLeave test9.in bdel yy 5 | :e yy 6 | :/^start of/,$w! test.out " Write contents of this file 7 | :qa! 8 | ENDTEST 9 | 10 | start of test file xx 11 | end of test file xx 12 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/test9.ok: -------------------------------------------------------------------------------- 1 | start of test file xx 2 | end of test file xx 3 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/testdir/vimrc.unix: -------------------------------------------------------------------------------- 1 | " Settings for test script execution 2 | " Always use "sh", don't use the value of "$SHELL". 3 | set shell=sh 4 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/toolcheck: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # toolcheck -- check for tools that have severe bugs. Good that all the buggy 3 | # tools identify by version numbers. This is the spirit of GNU :-) 4 | # 5 | # 24.7.95 jw. 6 | 7 | retval=0 8 | reply="`sh -version -c exit 2>&1 < /dev/null`" 9 | case "$reply" in 10 | GNU*1.14.3*) 11 | echo "- sh is '$reply'"; 12 | echo " CAUTION: This shell has a buggy 'trap' command."; 13 | echo " The configure script may fail silently."; 14 | retval=1; 15 | ;; 16 | GNU*) 17 | echo "- sh is '$reply' - probably OK."; 18 | ;; 19 | *) ;; 20 | esac 21 | 22 | reply="`sed --version 2>&1 < /dev/null`" 23 | case "$reply" in 24 | GNU\ sed\ version\ 2.0[34]) 25 | echo "- sed is '$reply'"; 26 | echo " CAUTION: This sed cannot configure screen properly." 27 | retval=1; 28 | ;; 29 | GNU\ sed\ version\ 2.05|GNU\ sed\ version\ 2.03\ kevin) 30 | echo "- sed is '$reply' - good."; 31 | ;; 32 | GNU*) echo "- sed is '$reply'."; 33 | ;; 34 | *) ;; 35 | esac 36 | exit $retval 37 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/typemap: -------------------------------------------------------------------------------- 1 | TYPEMAP 2 | VIWIN T_VIOBJNOMUNGE 3 | VIBUF T_VIOBJNOMUNGE 4 | 5 | INPUT 6 | T_VIOBJNOMUNGE 7 | if (sv_isa($arg, \"${ntype}\")) { 8 | IV tmp = SvIV((SV*)SvRV($arg)); 9 | $var = ($type) tmp; 10 | if (!tmp) 11 | croak(\"$ntype no longer exists\"); 12 | } 13 | else 14 | croak(\"$var is not of type ${ntype}\") 15 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/vim_icon.xbm: -------------------------------------------------------------------------------- 1 | #define vim_icon_width 32 2 | #define vim_icon_height 32 3 | static unsigned char vim_icon_bits[] = { 4 | 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xfc, 0xff, 0xff, 0x3f, 5 | 0x04, 0x80, 0x03, 0x20, 0x04, 0x80, 0x0f, 0x40, 0x08, 0xc0, 0x1f, 0x60, 6 | 0x10, 0xe0, 0x3f, 0x60, 0x10, 0xe0, 0x1f, 0x30, 0x10, 0xe0, 0x0f, 0x18, 7 | 0x10, 0xe0, 0x07, 0x0e, 0x10, 0xe0, 0x03, 0x07, 0x10, 0xe0, 0x81, 0x0f, 8 | 0x18, 0xe0, 0x80, 0x1f, 0x1c, 0x60, 0xe0, 0x3f, 0x1e, 0x20, 0xf0, 0x7f, 9 | 0x1f, 0x00, 0xf8, 0xff, 0x1f, 0x00, 0xfc, 0xff, 0x1e, 0x00, 0xfc, 0x7f, 10 | 0x1c, 0x00, 0xff, 0x3f, 0x18, 0x80, 0xfc, 0x1f, 0x10, 0x80, 0xfc, 0x0f, 11 | 0x10, 0xc0, 0xff, 0x5f, 0x10, 0x60, 0x44, 0x24, 0x10, 0x50, 0x0c, 0x40, 12 | 0x10, 0x70, 0xce, 0x24, 0x10, 0x7c, 0x6e, 0x26, 0x10, 0x7a, 0x66, 0x26, 13 | 0x10, 0x3d, 0x22, 0x13, 0xa0, 0x32, 0x32, 0x67, 0xd0, 0xe1, 0xdf, 0x1c, 14 | 0x00, 0xc0, 0x43, 0x00, 0x00, 0x80, 0x01, 0x00}; 15 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/vim_mask.xbm: -------------------------------------------------------------------------------- 1 | #define vim_mask_icon_width 32 2 | #define vim_mask_icon_height 32 3 | static unsigned char vim_mask_icon_bits[] = { 4 | 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xfc, 0xff, 0xff, 0x3f, 5 | 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x7f, 0xf8, 0xff, 0xff, 0x7f, 6 | 0xf0, 0xff, 0xff, 0x7f, 0xf0, 0xff, 0xff, 0x3f, 0xf0, 0xff, 0xff, 0x1f, 7 | 0xf0, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x07, 0xf0, 0xff, 0xff, 0x0f, 8 | 0xf8, 0xff, 0xff, 0x1f, 0xfc, 0xff, 0xff, 0x3f, 0xfe, 0xff, 0xff, 0x7f, 9 | 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 10 | 0xfc, 0xff, 0xff, 0x3f, 0xf8, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0x0f, 11 | 0xf0, 0xff, 0xff, 0x5f, 0xf0, 0xff, 0xff, 0x3f, 0xf0, 0xff, 0xff, 0x7f, 12 | 0xf0, 0xff, 0xff, 0x3f, 0xf0, 0xff, 0xff, 0x3f, 0xf0, 0xff, 0xff, 0x3f, 13 | 0xf0, 0xff, 0xff, 0x3f, 0xf0, 0xff, 0xff, 0x7f, 0xd0, 0xe1, 0xdf, 0x1c, 14 | 0x00, 0xc0, 0x43, 0x00, 0x00, 0x80, 0x01, 0x00}; 15 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/vimtutor: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # Start Vim on a copy of the tutor file. 4 | 5 | # Use Vim to copy the tutor, it knows the value of $VIMRUNTIME 6 | TUTORCOPY=/tmp/tutor$$ 7 | export TUTORCOPY 8 | vim -u NONE -c 'e $VIMRUNTIME/tutor/tutor' -c 'w! $TUTORCOPY' -c 'q' 9 | 10 | # Start vim without any .vimrc, set 'nocompatible' 11 | vim -u NONE -c "set nocp" $TUTORCOPY 12 | 13 | # remove the copy of the tutor 14 | rm $TUTORCOPY 15 | -------------------------------------------------------------------------------- /benchmarks/vim-5.7/src/xxd/Makefile.unix: -------------------------------------------------------------------------------- 1 | # The most simplistic Makefile 2 | 3 | xxd: xxd.c 4 | $(CC) $(CFLAGS) -DUNIX -o xxd xxd.c 5 | 6 | clean: 7 | rm -f xxd xxd.o 8 | -------------------------------------------------------------------------------- /bin/crestc: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | DIR=`dirname $0`/.. 6 | CILLY=${DIR}/cil/bin/cilly 7 | 8 | TARGET=`expr $1 : '\(.*\)\.c'` 9 | 10 | rm -f idcount stmtcount funcount cfg_func_map cfg branches cfg_branches 11 | 12 | ${CILLY} $1 -o ${TARGET} --save-temps --doCrestInstrument \ 13 | -I${DIR}/include -L${DIR}/lib -lcrest -lstdc++ 14 | 15 | ${DIR}/bin/process_cfg 16 | -------------------------------------------------------------------------------- /cil/META: -------------------------------------------------------------------------------- 1 | description = "C Intermediate Language" 2 | requires = "unix str num" 3 | version = "@CIL_VERSION@" 4 | archive(byte) = "cil.cma" 5 | archive(native) = "cil.cmxa" 6 | -------------------------------------------------------------------------------- /cil/_tags: -------------------------------------------------------------------------------- 1 | # subdirectories containing source code 2 | "ocamlutil": include 3 | "src": include 4 | "test": not_hygienic 5 | # build every cmo in debug mode (for cil.cma) 6 | <**/*.cmo>: debug 7 | -------------------------------------------------------------------------------- /cil/aclocal.m4: -------------------------------------------------------------------------------- 1 | # generated automatically by aclocal 1.11.6 -*- Autoconf -*- 2 | 3 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 4 | # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, 5 | # Inc. 6 | # This file is free software; the Free Software Foundation 7 | # gives unlimited permission to copy and/or distribute it, 8 | # with or without modifications, as long as this notice is preserved. 9 | 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without 12 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A 13 | # PARTICULAR PURPOSE. 14 | 15 | m4_include([m4/cil.m4]) 16 | m4_include([m4/ocaml.m4]) 17 | -------------------------------------------------------------------------------- /cil/config.mk.in: -------------------------------------------------------------------------------- 1 | # A bunch of variables -*- Mode: makefile -*- 2 | export HAS_MSVC=@HAS_MSVC@ 3 | export @DEFAULT_COMPILER@=1 4 | -------------------------------------------------------------------------------- /cil/lib/.gdbinit: -------------------------------------------------------------------------------- 1 | # .gdbinit 2 | 3 | file splay 4 | break main 5 | break initErrorHandlers 6 | run 7 | -------------------------------------------------------------------------------- /cil/lib/App/Cilly/CilConfig.pm.in: -------------------------------------------------------------------------------- 1 | $::cc = "@CC@"; 2 | $::exeext = "@EXEEXT@"; 3 | $::default_mode = "@DEFAULT_CIL_MODE@"; 4 | -------------------------------------------------------------------------------- /cil/lib/MANIFEST: -------------------------------------------------------------------------------- 1 | patcher 2 | MANIFEST 3 | Makefile.PL 4 | App/Cilly.pm 5 | App/Cilly/CilConfig.pm 6 | App/Cilly/KeptFile.pm 7 | App/Cilly/OutputFile.pm 8 | App/Cilly/TempFile.pm 9 | -------------------------------------------------------------------------------- /cil/ocamlutil/inthash.mli: -------------------------------------------------------------------------------- 1 | type 'a t 2 | 3 | (* These functions behave the same as Hashtbl, but the key type is 4 | always int. (Specializing on int improves the performance) *) 5 | 6 | val create: int -> 'a t 7 | val clear: 'a t -> unit 8 | val length : 'a t -> int 9 | 10 | val copy: 'a t -> 'a t 11 | val copy_into: 'a t -> 'a t -> unit 12 | 13 | val add: 'a t -> int -> 'a -> unit 14 | val replace: 'a t -> int -> 'a -> unit 15 | val remove: 'a t -> int -> unit 16 | val remove_all: 'a t -> int -> unit 17 | 18 | val mem: 'a t -> int -> bool 19 | val find: 'a t -> int -> 'a 20 | val find_all: 'a t -> int -> 'a list 21 | val tryfind: 'a t -> int -> 'a option 22 | 23 | val iter: (int -> 'a -> unit) -> 'a t -> unit 24 | val fold: (int -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b 25 | 26 | val memoize: 'a t -> int -> (int -> 'a) -> 'a 27 | 28 | val tolist: 'a t -> (int * 'a) list 29 | -------------------------------------------------------------------------------- /cil/ocamlutil/longarray.mli: -------------------------------------------------------------------------------- 1 | (* The Longarray module is designed to work around the maximum array size 2 | * imposed by OCaml's built-in Array module. Longarray provides the 3 | * same interface as Array (well, a portion of it) and is implemented as 4 | * a list of arrays. For arrays shorter than the maximum length, the 5 | * only cost is an additional level of indirection. *) 6 | 7 | type 'a t 8 | 9 | val create : int -> 'a -> 'a t 10 | val init : int -> (int -> 'a) -> 'a t 11 | val blit : 'a t -> int -> 'a t -> int -> int -> unit 12 | val fill : 'a t -> int -> int -> 'a -> unit 13 | val length : 'a t -> int 14 | val get : 'a t -> int -> 'a 15 | val set : 'a t -> int -> 'a -> unit 16 | val copy : 'a t -> 'a t 17 | val map : ('a -> 'b) -> 'a t -> 'b t 18 | 19 | val docArray : ?sep: Pretty.doc -> (int -> 'a -> Pretty.doc) -> 20 | unit -> 'a t -> Pretty.doc 21 | -------------------------------------------------------------------------------- /cil/ocamlutil/util.ml: -------------------------------------------------------------------------------- 1 | let list_array_map f l = 2 | Array.to_list (Array.map f (Array.of_list l)) 3 | 4 | let rec count_map f l ctr = 5 | match l with 6 | | [] -> [] 7 | | [x] -> [f x] 8 | | [x;y] -> 9 | (* order matters! *) 10 | let x' = f x in 11 | let y' = f y in 12 | [x'; y'] 13 | | [x;y;z] -> 14 | let x' = f x in 15 | let y' = f y in 16 | let z' = f z in 17 | [x'; y'; z'] 18 | | x :: y :: z :: w :: tl -> 19 | let x' = f x in 20 | let y' = f y in 21 | let z' = f z in 22 | let w' = f w in 23 | x' :: y' :: z' :: w' :: 24 | (if ctr > 500 then list_array_map f tl 25 | else count_map f tl (ctr + 1)) 26 | 27 | let list_map f l = count_map f l 0 28 | 29 | let equals x1 x2 : bool = 30 | (compare x1 x2) = 0 31 | -------------------------------------------------------------------------------- /cil/ocamlutil/util.mli: -------------------------------------------------------------------------------- 1 | val list_map : ('a -> 'b) -> 'a list -> 'b list 2 | 3 | (** This has the semantics of (=) on OCaml 3.07 and earlier. It can 4 | handle cyclic values as long as a structure in the cycle has a unique 5 | name or id in some field that occurs before any fields that have cyclic 6 | pointers. *) 7 | val equals: 'a -> 'a -> bool 8 | -------------------------------------------------------------------------------- /cil/src/_tags: -------------------------------------------------------------------------------- 1 | # subdirectories containing source code 2 | "ext": include 3 | "frontc": include 4 | 5 | : use_unix, use_str, use_nums, use_cil 6 | -------------------------------------------------------------------------------- /cil/src/cil.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/cil/src/cil.ml -------------------------------------------------------------------------------- /cil/src/cil.mllib: -------------------------------------------------------------------------------- 1 | Alpha 2 | Availexps 3 | Availexpslv 4 | Bitmap 5 | Cabs 6 | Cabs2cil 7 | Cabshelper 8 | Cabsvisit 9 | Callgraph 10 | Canonicalize 11 | Cfg 12 | Check 13 | Cil 14 | Cilint 15 | Cillower 16 | Ciloptions 17 | Ciltools 18 | Cilutil 19 | Cilversion 20 | Clexer 21 | Clist 22 | Cparser 23 | Cprint 24 | Dataflow 25 | Dataslicing 26 | Deadcodeelim 27 | Dominators 28 | Epicenter 29 | Errormsg 30 | Escape 31 | Expcompare 32 | Feature_config 33 | Formatcil 34 | Formatlex 35 | Formatparse 36 | Frontc 37 | GrowArray 38 | Heap 39 | Heapify 40 | Inthash 41 | Lexerhack 42 | Liveness 43 | Llvm 44 | Llvmgen 45 | Llvmssa 46 | Llvmutils 47 | Logcalls 48 | Logwrites 49 | Longarray 50 | Machdep 51 | Machdepenv 52 | Mergecil 53 | Olf 54 | Oneret 55 | Partial 56 | Patch 57 | Predabst 58 | Pretty 59 | Ptranal 60 | Reachingdefs 61 | Rmtmps 62 | Setp 63 | Sfi 64 | Simplemem 65 | Simplify 66 | Ssa 67 | Stats 68 | Trace 69 | Uref 70 | Usedef 71 | Util 72 | Whitetrack 73 | -------------------------------------------------------------------------------- /cil/src/cilversion.ml.in: -------------------------------------------------------------------------------- 1 | (* @configure_input@ *) 2 | 3 | let cilVersionMajor = @CIL_VERSION_MAJOR@ 4 | let cilVersionMinor = @CIL_VERSION_MINOR@ 5 | let cilVersionRev = @CIL_VERSION_REV@ 6 | let cilVersion = "@CIL_VERSION@" 7 | -------------------------------------------------------------------------------- /cil/src/ext/_tags: -------------------------------------------------------------------------------- 1 | # subdirectories containing source code 2 | "pta": include 3 | -------------------------------------------------------------------------------- /cil/src/ext/cfg.mli: -------------------------------------------------------------------------------- 1 | (** Code to compute the control-flow graph of a function or file. 2 | This will fill in the [preds] and [succs] fields of {!Cil.stmt} 3 | 4 | This is required for several other extensions, such as {!Dataflow}. 5 | *) 6 | 7 | open Cil 8 | 9 | 10 | (** Compute the CFG for an entire file, by calling cfgFun on each function. *) 11 | val computeFileCFG: Cil.file -> unit 12 | 13 | (** clear the sid, succs, and preds fields of each statement. *) 14 | val clearFileCFG: Cil.file -> unit 15 | 16 | (** Compute a control flow graph for fd. Stmts in fd have preds and succs 17 | filled in *) 18 | val cfgFun : fundec -> int 19 | 20 | (** clear the sid, succs, and preds fields of each statment in a function *) 21 | val clearCFGinfo: Cil.fundec -> unit 22 | 23 | (** print control flow graph (in dot form) for fundec to channel *) 24 | val printCfgChannel : out_channel -> fundec -> unit 25 | 26 | (** Print control flow graph (in dot form) for fundec to file *) 27 | val printCfgFilename : string -> fundec -> unit 28 | 29 | (** Next statement id that will be assigned. *) 30 | val start_id: int ref 31 | 32 | (** Return all statements in a file - valid after computeFileCfg only *) 33 | val allStmts : file -> stmt list 34 | -------------------------------------------------------------------------------- /cil/src/ext/simplify.mli: -------------------------------------------------------------------------------- 1 | (** Whether to split structs *) 2 | val splitStructs : bool ref 3 | 4 | (** Whether to simplify inside of Mem *) 5 | val simpleMem : bool ref 6 | 7 | (** Whether to simplify inside of AddrOf *) 8 | val simplAddrOf : bool ref 9 | 10 | val onlyVariableBasics : bool ref 11 | val noStringConstantsBasics : bool ref 12 | 13 | (** Simplify a given global *) 14 | val doGlobal : Cil.global -> unit 15 | 16 | val feature : Cil.featureDescr 17 | -------------------------------------------------------------------------------- /cil/src/frontc/cabs.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/cil/src/frontc/cabs.ml -------------------------------------------------------------------------------- /cil/src/frontc/clexer.mll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/cil/src/frontc/clexer.mll -------------------------------------------------------------------------------- /cil/src/frontc/cparser.mly: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/cil/src/frontc/cparser.mly -------------------------------------------------------------------------------- /cil/src/frontc/cprint.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/cil/src/frontc/cprint.ml -------------------------------------------------------------------------------- /cil/src/frontc/lexerhack.ml: -------------------------------------------------------------------------------- 1 | 2 | module E = Errormsg 3 | 4 | (* We provide here a pointer to a function. It will be set by the lexer and 5 | * used by the parser. In Ocaml lexers depend on parsers, so we we have put 6 | * such functions in a separate module. *) 7 | let add_identifier: (string -> unit) ref = 8 | ref (fun _ -> E.s (E.bug "You called an uninitialized add_identifier")) 9 | 10 | let add_type: (string -> unit) ref = 11 | ref (fun _ -> E.s (E.bug "You called an uninitialized add_type")) 12 | 13 | let push_context: (unit -> unit) ref = 14 | ref (fun _ -> E.s (E.bug "You called an uninitialized push_context")) 15 | 16 | let pop_context: (unit -> unit) ref = 17 | ref (fun _ -> E.s (E.bug "You called an uninitialized pop_context")) 18 | 19 | 20 | (* Keep here the current pattern for formatparse *) 21 | let currentPattern = ref "" 22 | 23 | -------------------------------------------------------------------------------- /cil/src/frontc/whitetrack.mli: -------------------------------------------------------------------------------- 1 | 2 | (* wrapped version of the lexer that remembers all its tokens *) 3 | val wraplexer : (Lexing.lexbuf -> (string * string * 'a * Cabs.cabsloc)) 4 | -> Lexing.lexbuf -> 'a 5 | val setFinalWhite : string -> unit 6 | 7 | (* print a string, with correct whitespace *) 8 | val print : string -> unit 9 | val printl : string list -> unit 10 | val printu : string -> unit 11 | val print_maybe : string -> unit 12 | 13 | val printEOF : unit -> unit 14 | 15 | (* look for whitespace around here *) 16 | val setLoc : Cabs.cabsloc -> unit 17 | 18 | (* where we write the file to *) 19 | val setOutput : out_channel -> unit 20 | val getOutput : unit -> out_channel 21 | 22 | (* is whitespace tracking enabled *) 23 | val enabled : bool ref 24 | -------------------------------------------------------------------------------- /cil/src/zrapp.mli: -------------------------------------------------------------------------------- 1 | val debug : bool ref 2 | 3 | val doElimTemps : bool ref 4 | 5 | val deputyAttrs : bool ref 6 | 7 | class zraCilPrinterClass : Cil.cilPrinter 8 | 9 | val zraCilPrinter : Cil.cilPrinter 10 | 11 | val pp_exp : Cil.fundec -> unit -> Cil.exp -> Pretty.doc 12 | 13 | val feature : Cil.featureDescr 14 | -------------------------------------------------------------------------------- /cil/stamp-h.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/cil/stamp-h.in -------------------------------------------------------------------------------- /include/.empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/include/.empty -------------------------------------------------------------------------------- /lib/.empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jburnim/crest/3e5ececd3793c88f18af47853236af34ffde4569/lib/.empty -------------------------------------------------------------------------------- /src/Makefile: -------------------------------------------------------------------------------- 1 | 2 | YICES_DIR=/home/jburnim/yices-1.0.11 3 | 4 | CC=$(CXX) 5 | CFLAGS = -I. -I$(YICES_DIR)/include -Wall -O2 6 | CXXFLAGS = $(CFLAGS) 7 | LDFLAGS = -L$(YICES_DIR)/lib 8 | LOADLIBES = -lyices 9 | 10 | BASE_LIBS = base/basic_types.o base/symbolic_execution.o \ 11 | base/symbolic_interpreter.o base/symbolic_path.o \ 12 | base/symbolic_predicate.o base/symbolic_expression.o \ 13 | base/yices_solver.o 14 | 15 | 16 | all: libcrest/libcrest.a run_crest/run_crest \ 17 | process_cfg/process_cfg tools/print_execution \ 18 | install 19 | 20 | libcrest/libcrest.a: libcrest/crest.o $(BASE_LIBS) 21 | $(AR) rsv $@ $^ 22 | 23 | run_crest/run_crest: run_crest/concolic_search.o $(BASE_LIBS) 24 | 25 | tools/print_execution: $(BASE_LIBS) 26 | 27 | install: 28 | cp libcrest/libcrest.a ../lib 29 | cp run_crest/run_crest ../bin 30 | cp process_cfg/process_cfg ../bin 31 | cp tools/print_execution ../bin 32 | cp libcrest/crest.h ../include 33 | 34 | clean: 35 | rm -f libcrest/libcrest.a run_crest/run_crest 36 | rm -f process_cfg/process_cfg tools/print_execution 37 | rm -f */*.o */*~ *~ 38 | -------------------------------------------------------------------------------- /src/base/yices_solver.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | // 3 | // This file is part of CREST, which is distributed under the revised 4 | // BSD license. A copy of this license can be found in the file LICENSE. 5 | // 6 | // This program is distributed in the hope that it will be useful, but 7 | // WITHOUT ANY WARRANTY; without even the implied warranty of 8 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | // for details. 10 | 11 | #ifndef BASE_YICES_SOLVER_H__ 12 | #define BASE_YICES_SOLVER_H__ 13 | 14 | #include 15 | #include 16 | 17 | #include "base/basic_types.h" 18 | #include "base/symbolic_predicate.h" 19 | 20 | using std::map; 21 | using std::vector; 22 | 23 | namespace crest { 24 | 25 | class YicesSolver { 26 | public: 27 | static bool IncrementalSolve(const vector& old_soln, 28 | const map& vars, 29 | const vector& constraints, 30 | map* soln); 31 | 32 | static bool Solve(const map& vars, 33 | const vector& constraints, 34 | map* soln); 35 | 36 | static bool ReadSolutionFromFileOrDie(const string& file, 37 | map* soln); 38 | }; 39 | 40 | } // namespace crest 41 | 42 | 43 | #endif // BASE_YICES_SOLVER_H__ 44 | -------------------------------------------------------------------------------- /test/Makefile: -------------------------------------------------------------------------------- 1 | 2 | TESTS = simple function math concrete_return uniform_test 3 | TESTS += cfg_test cfg_search_test conditional table_test 4 | TESTS += structure_test shift_cast 5 | 6 | clean: 7 | rm -f idcount stmtcount funcount cfg cfg_branches cfg_func_map branches 8 | rm -f *.i *.cil.c *.o *~ 9 | rm -f coverage input szd_execution yices_log 10 | rm -f $(TESTS) 11 | -------------------------------------------------------------------------------- /test/cfg_search_test.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | int data[200]; 16 | 17 | int main(void) { 18 | unsigned char c; 19 | CREST_unsigned_char(c); 20 | 21 | for (int i = 0; i < 200; i++) { 22 | data[i] = 400; 23 | } 24 | data[100] = 13; 25 | 26 | for (int i = 0; i < 200; i++) { 27 | // Data match? 28 | if (c == data[i]) { 29 | fprintf(stderr, "GOAL!\n"); 30 | } 31 | 32 | // Useless zero check. 33 | int a; 34 | CREST_int(a); 35 | if (a == 0) { } 36 | } 37 | 38 | return 0; 39 | } 40 | -------------------------------------------------------------------------------- /test/concrete_return.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | int main(void) { 16 | int x; 17 | CREST_int(x); 18 | x = printf("Hello.\n"); 19 | if (x == 3) 20 | return 1; 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /test/function.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | short dbl(short x) { 16 | return 2*x; 17 | } 18 | 19 | int main(void) { 20 | short a; 21 | CREST_short(a); 22 | if (dbl(a) + 3 == 9) { 23 | return 0; 24 | } else { 25 | return 1; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /test/left_shift.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2010, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | 14 | #include 15 | 16 | int main(void) { 17 | int x, y, z; 18 | 19 | CREST_int(x); 20 | CREST_int(y); 21 | CREST_int(z); 22 | 23 | if (((x + 3) << 2) == 96) { 24 | printf("A\n"); 25 | if (((y - 15) << x) == z) { 26 | printf("B\n"); 27 | } else { 28 | printf("C\n"); 29 | } 30 | } 31 | 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/math.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | 14 | int main(void) { 15 | int a, b, c, d, e; 16 | CREST_int(a); 17 | CREST_int(b); 18 | CREST_int(c); 19 | CREST_int(d); 20 | CREST_int(e); 21 | if (3*a + 3*(b - 5*c) + (b+c) - a == d - 17*e) { 22 | return 1; 23 | } else { 24 | return 0; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /test/shift_cast.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2009, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | 14 | #include 15 | 16 | int main(void) { 17 | unsigned short us; 18 | signed char sc; 19 | int x; 20 | 21 | CREST_unsigned_short(us); 22 | CREST_char(sc); 23 | CREST_int(x); 24 | 25 | unsigned short kFFFF = 0xFFFFu; 26 | 27 | if ((x >> 18) == 0xFFFFFFFF) { 28 | printf("A\n"); 29 | } else if ((us >> 7) == kFFFF) { 30 | printf("B\n"); 31 | } else if ((int)sc == -42) { 32 | printf("C\n"); 33 | } else if ((int)us == -37) { 34 | printf("D\n"); 35 | } else if ((unsigned int)(sc << 5) == 0xFFFFFFA0) { 36 | printf("E\n"); 37 | } 38 | 39 | return 0; 40 | } 41 | -------------------------------------------------------------------------------- /test/simple.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | int main(void) { 16 | int a, b; 17 | CREST_int(a); 18 | b = 3 * a + 2; 19 | if (b == 8) { 20 | printf("8\n"); 21 | } else { 22 | printf("not 8\n"); 23 | } 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /test/structure_return.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | struct banana { 16 | int price; 17 | int weight; 18 | }; 19 | 20 | struct banana symbolic_banana() { 21 | struct banana b; 22 | CREST_int(b.price); 23 | CREST_int(b.weight); 24 | return b; 25 | } 26 | 27 | int main(void) { 28 | struct banana b = symbolic_banana(); 29 | 30 | if ((b.weight > 136) && (b.price < 15)) { } 31 | 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/structure_test.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | struct bar { 16 | int x; 17 | int y; 18 | }; 19 | 20 | struct foo { 21 | int x; 22 | struct bar bar; 23 | int y; 24 | }; 25 | 26 | int main(void) { 27 | struct foo f1, f2; 28 | struct bar b; 29 | 30 | CREST_int(b.x); 31 | CREST_int(b.y); 32 | 33 | f1.x = 7; 34 | f1.bar = b; 35 | f1.y = 19; 36 | 37 | CREST_int(f2.x); 38 | CREST_int(f2.y); 39 | 40 | f2 = f1; 41 | 42 | if (f2.bar.x > 3) { } 43 | if (f2.y < 18) { } 44 | if (f2.bar.y == 7) { } 45 | if (f2.x > 0) { } 46 | 47 | return 0; 48 | } 49 | -------------------------------------------------------------------------------- /test/table_test.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | int A[100]; 16 | char B[12][97]; 17 | 18 | int main(void) { 19 | int x, y, i, j; 20 | 21 | CREST_int(x); 22 | CREST_int(y); 23 | 24 | if ((x < 0) || (x >= 97)) 25 | return 0; 26 | if ((y < 0) || (y >= 12)) 27 | return 0; 28 | 29 | for (i = 0; i < 100; i++) { 30 | A[i] = i; 31 | } 32 | 33 | for (i = 0; i < 12; i++) { 34 | for (j = 0; j < 97; j++) { 35 | B[i][j] = i + j; 36 | } 37 | } 38 | 39 | if (A[x] == 7) { 40 | /* 41 | * CREST cannot solve for 'x' to reach this branch because it does 42 | * not treat array indexing symbolically. 43 | */ 44 | printf("Hello!\n"); 45 | } 46 | 47 | if (B[y][x] == 42) { 48 | /* 49 | * CREST cannot solve for 'x' and 'y' to reach this branch because 50 | * it does not treat array indexing symbolically. 51 | */ 52 | printf("World!\n"); 53 | } 54 | 55 | return 0; 56 | } 57 | -------------------------------------------------------------------------------- /test/unary.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | int main(void) { 16 | int x = 2; 17 | int a, b; 18 | CREST_int(a); 19 | b = -a; 20 | if (-x * a == 8) { 21 | printf("8 (%d %d)\n", a, b); 22 | } else { 23 | printf("not 8 (%d %d)\n", a, b); 24 | } 25 | return 0; 26 | } 27 | -------------------------------------------------------------------------------- /test/uniform_test.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2008, Jacob Burnim (jburnim@cs.berkeley.edu) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | int main(void) { 16 | int a, b, c, d; 17 | CREST_int(a); 18 | CREST_int(b); 19 | CREST_int(c); 20 | CREST_int(d); 21 | 22 | if (a == 5) { 23 | if (b == 19) { 24 | if (c == 7) { 25 | if (d == 4) { 26 | fprintf(stderr, "GOAL!\n"); 27 | } 28 | } 29 | } 30 | } 31 | 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /test/unsigned.c: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2017, Jacob Burnim (jburnim@gmail.com) 2 | * 3 | * This file is part of CREST, which is distributed under the revised 4 | * BSD license. A copy of this license can be found in the file LICENSE. 5 | * 6 | * This program is distributed in the hope that it will be useful, but 7 | * WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE 9 | * for details. 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | int main(void) { 16 | unsigned int a; 17 | CREST_unsigned_int(a); 18 | 19 | if (a > 2147483647u) { 20 | if (a > 4294967294u) { 21 | printf("a\n"); 22 | } else { 23 | printf("b\n"); 24 | 25 | } 26 | } else { 27 | printf("c\n"); 28 | } 29 | 30 | return 0; 31 | } 32 | --------------------------------------------------------------------------------