~/gen/aareadme.011219: Update 011219:0300: I succesfully checked out genv11 (branch tag = tag01f522) and ran make to completion with no errors in ~/gen/chgen. Seethe make log there: /usr/cs/fac1/lechner/gen/genv11make_011219.0240 -------------------------------- Forwarded message: From lechner Wed Dec 19 01:37:27 2001 From: Bob Lechner Subject: genv11 vs. Tgenlog-branch in /nfs/aviion/aviion2/cs_faculty/lechner/gentest/chgen/src To: lechner (Bob Lechner) Date: Wed, 19 Dec 2001 01:37:27 -0500 (EST) New version of aareadme.011219: In /nfs/aviion/aviion2/cs_faculty/lechner/gentest/chgen/src: Note this is dated after Karner/Spinney's 99s523/genmerge project. Its tag is CVS/Tag = Tgenlog-branch while I updated the 99s523/genmerge tag to T01f522. ~/gentest/aareadme - RJL 990605 ------------------------- I did cvs co -r genlog-branch chgen here today. It was successful - but takes up lots of space (2.7MB before building). A similar attempt to do 'cvs co -r bde2alpha bde' in ~/bdetest, could not read the bde/CVS/* files that WERE in the repository. Update RJL 011201: -------------------- The two history files cvshistory-T-a.* do not match when sorted - an extra column in the latest, different dates in some entries. -------------------------- Update RJL 011219: (for sjaganat 01f522 project) ---------------------- Jaganathan had link errors (unresolved pr_*.c function references). I suspect this is caused by bootstrapping genv11: it pr_dumps or (with chgen -datinput option) pr_loads a .msdat file containing .sch information in tables TT and TA instead. ------------------------ saturn.cs.uml.edu(200)> grep metaschema.sch *.c chgen.c:94:/* chgenv10 using the schema file metaschema.sch - */ pr_delete.c:3:/* Schema : metaschema.sch */ pr_dump.c:3:/* Schema : metaschema.sch */ pr_free.c:3:/* Schema : metaschema.sch */ pr_load.c:3:/* Schema : metaschema.sch */ pr_stats.c:3:/* Schema : metaschema.sch */ saturn.cs.uml.edu(201)> pwd /nfs/aviion/aviion2/cs_faculty/lechner/gentest/chgen/src saturn.cs.uml.edu(202)> ----------------------- >From grep sch_text_file_name *.c: parse_schema.c:1043: fprintf (fp, "SV010001\tPJ010001\t%s\tCHGEN v9.0\t", sch_text_file_name); parse_schema.c:1093: pr_init(sch_viewdef_file_name,sch_text_file_name); parse_schema.c:1094: pr_load(view_name, sch_text_file_name); saturn.cs.uml.edu(242)> pwd The revision history on file parse_schema.c begins (latest rev): ---------------- /* */ /* 5/06/99 - kspinney Added TT_to_tt(), mystrcpy2(), dump_tt_ta_data(), */ /* jkarner and dump_tt_ta_data() to support the parsing of an */ /* input schema in .dat (.msdat) format . . . ------------ The genmerge report says chgenv11 has a new option -datinput to read input from filetype .msdat instead of filetype .sch. it does this via pr_load based on metaschema.sch above. THe normal chgen run parses schema.sch and generates schema.msdat (along with schema.h andpr_*.c files). This option reads schema.msdat (SV, TT TA and TStables) and does not need schema.sch anymore. (An older option parses an alternate (gendb) format, not used here.) $CASE/99s523/genmerge//chgenv11/chgen/doc/genv11_project.doc.gz when unzipped is not readable by MSWord6 - it probably needs Office 2000. Among other things it contains hyperlinks to anchors at figures etc. Here are two extracts from that 'buggy' .doc via Word6: -------------- ... CHGENv11 chgenv11 includes all of the chgenv10 features incorporated in Rassman' chgenv10 version HYPERLINK \l "reference5" Reference 5 HYPERLINK \l "reference7" , and also includes bootstrapping capability. (Note that at some points in the development effort, this project was referred to as genBootstrap). This capability refers to the ability for chgen to generate pr*.c and .h files that another (new) version of chgen can use. The new version is then endowed with the ability to read metadata from a .dat file, instead of a .sch file. This is explained in more detail in the following subsections. ... SV .msdat Issues Note that the SV line in the .dat file which is produced by the call to Output_Metaschema() (if the -datinput command line option is not specified) is basically a hardcoded printf with only the name of the input schema file(.sch) and the format used (CHGEN or GENDB) determined at run time. --------------- So .dat is produced from .sch if the -datinput command line option is NOT specified, and read in by pr_load() if the -datinput option IS specified on the run-chgen command line. The .h and pr_*.c files are produced in either case. I am not sure why the pr_* files were linked in, unless the -datinput option was used, or the pr_* interfaces were specified in any case (possibly because a metaschema.sch file is pr_loaded and parsed to initialize tables TT and TA with their own descriptions before the .sch file is reda and more table types are added as TT-rows. But if another function (e.g. load_msdat) initializes the TT and TA tables (i.e., creates TT-rows for TT and TA and all their TA-children) ten pr_load may not be needed, although pr_init and pr_dump might be.