1. The Interpreter (Porting etc)
- Posted by Mathew Hounsell <mat.hounsell at MAILEXCITE.COM> Apr 03, 1998
- 827 views
Discussion So Far: Rob would like to port Euphoria, he's not sure about the details. He thought about releasing Interpreter source code for free. Replies agreed with port, disagreed with releasing source code. My Two-Cents Worth: Porting Is _Good_. Releasing Source Code Is _Bad_. If you release the source code there are a few things bound to happen: Differnet flavours of the language, these always leave a putrid taste in my mouth; It will be knoked off (stolen) guaranteed, that is RDS will lose the revenue it deserves; Bad implentations are made creating a bad reputation; Basically things wont go as hoped. So here is are a few ideas on porting. As previously suggested strip it back to the standard C cross platform implementations, know here is the tricky part either a) develop plug-ins for the interpreter, or b) develop cross platform implementation of platform dependent necessities and place them in include files, make sure they have a standard interface. Plug-Ins are the nice theoretical way to go put may be impossible. Cross Platform Standards may be easier. First develop a list of whats needed, STDIO and File control, etc, is of course always in the interpreter. You would need I think graphics routines (eg pixel, line, ellipse), printer control(bold,lf,ff), sound(beep) etc. These things are then built into the interpreter with a different inside for each platform but the same interface. Remove the DOS bits, that aren't on your must have list, translate then into euphoria, get the members of the list server to produce the equivilant for other platforms, write a wrapper. Increases execution time of some routines but makes it platform idependent. Basically stick to the original idea. If it's necessary build it into the interpreter, else write it in euphoria. What you don't know ask the list to help you, you'll get help. This solves the problem, if the mac needs something done different change it in the module for the mac version. Just keep the interface the same eg pixel(x,s) remains pixel(x,s). The fine details can be worked out as they are needed. Top-Down and Bottom-Up Design, the Harbour Bridge was built form both sides of the river. --- Sincerely, Mathew Hounsell Mat.Hounsell at mailexcite.com Free web-based email, Forever, From anywhere! http://www.mailexcite.com