rev 733 - in trunk: . src
SVN User <[email protected]> Tue, 13 Jul 2004 01:52:40 -0400
| Newsgroups | gmane.comp.lang.prothon.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: mark
Date: 2004-07-13 01:52:37 -0400 (Tue, 13 Jul 2004)
New Revision: 733
Modified:
trunk/STATUS.txt
trunk/src/interp.c
trunk/src/parser_routines.c
trunk/src/prothon.y
Log:
added Module, object, & gen doc strings
Modified: trunk/STATUS.txt
===================================================================
--- trunk/STATUS.txt 2004-07-13 04:52:52 UTC (rev 732)
+++ trunk/STATUS.txt 2004-07-13 05:52:37 UTC (rev 733)
@@ -13,8 +13,6 @@
--- use special stdout for each Main
---- Module doc strings & Object doc strings
-
--- add sys.userHome path and name current one sys.prothonHome
--- use sys.userHome for console history file
Modified: trunk/src/interp.c
===================================================================
--- trunk/src/interp.c 2004-07-13 04:52:52 UTC (rev 732)
+++ trunk/src/interp.c 2004-07-13 05:52:37 UTC (rev 733)
@@ -1393,7 +1393,7 @@
case OP_OBJ: {
int i, num_protos;
- obj_p new_obj, key;
+ obj_p new_obj, key, doc_str_obj;
goto op_obj;
op_prop: num_protos = 0;
@@ -1425,6 +1425,8 @@
if (ist->exception_obj) goto end_op_obj;
}
op_obj_end:
+ if (doc_str_obj = get_attr(ist, fr_data(1), SYM(DOC_)))
+ set_attr(ist, new_obj, SYM(DOC_), doc_str_obj);
key = fr_stack[fr_sp+1];
#ifdef DUMP_MODULE_CODE
if (dump_module_code) dump_code_key = key;
@@ -2072,8 +2074,12 @@
dump_code(ist, NULL, code, dump_name);
}
#endif
- apr_snprintf(full_doc, sizeof(full_doc), "%s%s", name, comment);
- set_obj_doc(module, full_doc);
+ if (code->doc_flg)
+ set_obj_doc(module, pr2c_strptr(ist, (obj_p)(code->code_data[1].data)));
+ else {
+ apr_snprintf(full_doc, sizeof(full_doc), "%s%s", name, comment);
+ set_obj_doc(module, full_doc);
+ }
frame = ist->frame;
if (filename)
frame_name = filename;
Modified: trunk/src/parser_routines.c
===================================================================
--- trunk/src/parser_routines.c 2004-07-13 04:52:52 UTC (rev 732)
+++ trunk/src/parser_routines.c 2004-07-13 05:52:37 UTC (rev 733)
@@ -97,6 +97,7 @@
statep->assert_enbld = TRUE;
statep->indent_stack = new_clist(10);
statep->const_objs = new_clist(10);
+ statep->defdoc_flag = 1;
return statep;
}
@@ -718,6 +719,8 @@
res->code_data[k++].num = llen;
pr_assert(k = len);
res->stack_depth = 0;
+ if (body->doc_flg)
+ set_attr(IST, func, SYM(DOC_), (obj_p)(body->code_data[1].data));
return res;
}
code_p star_ref_to_formparm(void* param, obj_p label){
Modified: trunk/src/prothon.y
===================================================================
--- trunk/src/prothon.y 2004-07-13 04:52:52 UTC (rev 732)
+++ trunk/src/prothon.y 2004-07-13 05:52:37 UTC (rev 733)
@@ -399,7 +399,7 @@
| OBJ_ OUTER '.' LABEL { $$ = outer_label_to_attrref(yylex_param, $4); state->defdoc_flag=1; }
| OBJ_ CALLER '.' LABEL { $$ = caller_label_to_attrref(yylex_param, $4);state->defdoc_flag=1; }
| OBJ_ obj '.' LABEL { $$ = obj_label_to_attrref(yylex_param, $2, $4);state->defdoc_flag=1; }
- ;
+ ;
protos:
/*none*/ { $$ = empty_list(yylex_param); }
| proto