On Saturday, 29 June 2019 13:40:06 UTC+1, josé mariano wrote: > Dear all, > > I'm sure that this subject has been addressed many times before on this > forum, but my poor knowledge of English and of computer jargon and concepts > results on not being able to find the answer i'm looking for when I search > the forum. > > So here is my problem: I have this open source project for the scientific > community were i want to duplicate an old MS-DOS application written in > Fortran. I don't have the source code. The idea is to re-write the software > in Python. Originally, the old application would would need to input files: > one config file, written with a specific format (see below) and a second one, > the so-called scrip file, that defines the sequence of operations to be > performed by the main software, also written in a specific format. > > To make the transition to the new application as painless as possible to the > users, because most of them have their collection of scrips (and settings) > developed over the years and are not willing to learn a new script language, > I would like to make the new app 100% compatible with the old input files. > > The operation of the new software would be like this: From the shell, run > "my_new_software old_script_file.***". The new software would load the > old_script, parse it (?), set the internal variables, load the script and run > it. > > So, to get to my questions: > > - To load and read the config file I need a parser, right? Is their a parser > library where we can define the syntax of the language to use? Are there > better (meaning easier) ways to accomplish the same result? > > - For the interpretation of the script file, I don't have any clue how to > this... One important thing, the script language admits some simple control > flow statements like do-wile, again written using a specific sintax. > > Thanks a lot for the help and sorry for the long post. > > Mariano > > > > Example of a config (settings) file > ======================== > ..... > CONDAD -11 > BURAD2 4 SALT1 1.0 KNO3 > ELEC5 -2.0 mV 400 58 0. 0 > ..... > > > Example of a script > =================== > !Conductivity titration > cmnd bur1 f > set vinit 100 > set endpt 2000 > set mvinc 20 > set drftim 1 > set rdcrit cond 0.5 per_min > set dosinc bur1 0.02 1000 > set titdir up > titratc cond bur1
Hello All, I have a pretty good idea of what route I should take. Thank you very much for all your valuable input. Regards, Mariano -- https://mail.python.org/mailman/listinfo/python-list