X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fsim.src%2Fargcl.h;h=5bc0bbbea3c0785318bfdd12e1a6fe4183cca72f;hb=6ba6105dc5975c3b0cc0d1ce53f47a1ddf4be9cf;hp=91d1f715891e5ffd2b39daff1d3456fff1d318ed;hpb=02d4f3e2b701dcdb88981a3292d226fc818b93b7;p=fw%2Fsdcc diff --git a/sim/ucsim/sim.src/argcl.h b/sim/ucsim/sim.src/argcl.h index 91d1f715..5bc0bbbe 100644 --- a/sim/ucsim/sim.src/argcl.h +++ b/sim/ucsim/sim.src/argcl.h @@ -28,7 +28,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef SIM_ARGCL_HEADER #define SIM_ARGCL_HEADER +// prj #include "pobjcl.h" +#include "stypes.h" /* @@ -70,7 +72,7 @@ public: class cl_cmd_arg: public cl_arg { public: - class cl_uc *uc; + //class cl_uc *uc; bool interpreted_as_string; union { @@ -95,19 +97,19 @@ public: } value; public: - cl_cmd_arg(class cl_uc *iuc, long i): cl_arg(i) - { uc= iuc; interpreted_as_string= DD_FALSE; } - cl_cmd_arg(class cl_uc *iuc, char *s): cl_arg(s) - { uc= iuc; interpreted_as_string= DD_FALSE; } + cl_cmd_arg(/*class cl_uc *iuc,*/ long i): cl_arg(i) + { /*uc= iuc;*/ interpreted_as_string= DD_FALSE; } + cl_cmd_arg(/*class cl_uc *iuc,*/ char *s): cl_arg(s) + { /*uc= iuc;*/ interpreted_as_string= DD_FALSE; } ~cl_cmd_arg(void); virtual int is_string(void) { return(DD_FALSE); } - virtual bool get_address(t_addr *addr) { return(DD_FALSE); } - virtual bool as_address(void); + virtual bool get_address(class cl_uc *uc, t_addr *addr) { return(DD_FALSE); } + virtual bool as_address(class cl_uc *uc); virtual bool as_number(void); virtual bool as_data(void); virtual bool as_string(void); - virtual bool as_memory(void); + virtual bool as_memory(class cl_uc *uc); virtual bool as_hw(class cl_uc *uc); virtual bool as_bit(class cl_uc *uc); }; @@ -115,9 +117,9 @@ public: class cl_cmd_int_arg: public cl_cmd_arg { public: - cl_cmd_int_arg(class cl_uc *iuc, long addr); + cl_cmd_int_arg(/*class cl_uc *iuc,*/ long addr); - virtual bool get_address(t_addr *addr); + virtual bool get_address(class cl_uc *uc, t_addr *addr); virtual bool get_bit_address(class cl_uc *uc, // input class cl_mem **mem, // outputs t_addr *mem_addr, @@ -128,14 +130,14 @@ public: class cl_cmd_sym_arg: public cl_cmd_arg { public: - cl_cmd_sym_arg(class cl_uc *iuc, char *sym); + cl_cmd_sym_arg(/*class cl_uc *iuc,*/ char *sym); - virtual bool get_address(t_addr *addr); + virtual bool get_address(class cl_uc *uc, t_addr *addr); virtual bool get_bit_address(class cl_uc *uc, // input class cl_mem **mem, // outputs t_addr *mem_addr, t_mem *bit_mask); - virtual bool as_address(void); + virtual bool as_address(class cl_uc *uc); virtual bool as_string(void); virtual bool as_hw(class cl_uc *uc); }; @@ -143,7 +145,7 @@ public: class cl_cmd_str_arg: public cl_cmd_arg { public: - cl_cmd_str_arg(class cl_uc *iuc, char *str); + cl_cmd_str_arg(/*class cl_uc *iuc,*/ char *str); virtual int is_string(void) { return(1); } }; @@ -154,11 +156,11 @@ public: class cl_cmd_arg *sfr, *bit; public: - cl_cmd_bit_arg(class cl_uc *iuc, + cl_cmd_bit_arg(/*class cl_uc *iuc,*/ class cl_cmd_arg *asfr, class cl_cmd_arg *abit); ~cl_cmd_bit_arg(void); - virtual bool get_address(t_addr *addr); + virtual bool get_address(class cl_uc *uc, t_addr *addr); virtual bool get_bit_address(class cl_uc *uc, // input class cl_mem **mem, // outputs t_addr *mem_addr, @@ -171,7 +173,7 @@ public: class cl_cmd_arg *name, *index; public: - cl_cmd_array_arg(class cl_uc *iuc, + cl_cmd_array_arg(/*class cl_uc *iuc,*/ class cl_cmd_arg *aname, class cl_cmd_arg *aindex); ~cl_cmd_array_arg(void); virtual bool as_hw(class cl_uc *uc); @@ -197,6 +199,24 @@ public: }; +/* + * List of arguments + */ + +class cl_arguments: public cl_list +{ +public: + cl_arguments(void): cl_list(5, 5) {} + + int arg_avail(char name); + int arg_avail(char *name); + virtual long get_iarg(char sname, char *lname); + virtual char *get_sarg(char sname, char *lname); + virtual double get_farg(char sname, char *lname); + virtual void *get_parg(char sname, char *lname); +}; + + #endif /* End of argcl.h */