diff options
author | Larry Wall <lwall@jpl-devvax.jpl.nasa.gov> | 1988-01-27 22:18:25 +0000 |
---|---|---|
committer | Larry Wall <lwall@jpl-devvax.jpl.nasa.gov> | 1988-01-27 22:18:25 +0000 |
commit | a559c25918b1466cdb50c9f978a86f01be0bac10 (patch) | |
tree | ffbe6c7bc07144d291a61555d002e7969110f248 /perl.h | |
parent | a1cc2bdc08f9aa1504f32e5b0b782c2b3cffd124 (diff) | |
download | perl-a559c25918b1466cdb50c9f978a86f01be0bac10.tar.gz |
perl 1.0 patch 8: perl needed an eval operator and a symbolic debugger
I didn't add an eval operator to the original perl because
I hadn't thought of any good uses for it. Recently I thought
of some. Along with creating the eval operator, this patch
introduces a symbolic debugger for perl scripts, which makes
use of eval to interpret some debugging commands. Having eval
also lets me emulate awk's FOO=bar command line behavior with
a line such as the one a2p now inserts at the beginning of
translated scripts.
Diffstat (limited to 'perl.h')
-rw-r--r-- | perl.h | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -1,6 +1,9 @@ -/* $Header: perl.h,v 1.0.1.2 88/01/24 03:53:47 root Exp $ +/* $Header: perl.h,v 1.0.1.3 88/01/28 10:24:17 root Exp $ * * $Log: perl.h,v $ + * Revision 1.0.1.3 88/01/28 10:24:17 root + * patch8: added eval operator. + * * Revision 1.0.1.2 88/01/24 03:53:47 root * patch 2: hid str_peek() in #ifdef DEBUGGING. * @@ -103,7 +106,8 @@ ARG *flipflip(); STR *arg_to_str(); STR *str_new(); STR *stab_str(); -STR *eval(); +STR *eval(); /* this evaluates expressions */ +STR *do_eval(); /* this evaluates eval operator */ FCMD *load_format(); @@ -164,6 +168,7 @@ EXT char *inplace INIT(Nullch); EXT char tokenbuf[256]; EXT int expectterm INIT(TRUE); EXT int lex_newlines INIT(FALSE); +EXT int in_eval INIT(FALSE); FILE *popen(); /* char *str_get(); */ @@ -196,6 +201,7 @@ EXT struct loop { EXT int loop_ptr INIT(-1); EXT jmp_buf top_env; +EXT jmp_buf eval_env; EXT char *goto_targ INIT(Nullch); /* cmd_exec gets strange when set */ |