Full Version: Project: Cplua
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
The_AFX_Master
Orwell, an Idea... When you see large progs as CATT or LNA with tons of scripts, it,s annoying to seek any script in the open file menu. Can you attach a "my programs" style main window?, with shortcut capabilty? at least with the name and the lua logo, no extra icons needed. this could be the main window, with any options, one wich access to program shortcut.
Orwell
Well I think it shouldn't be too difficult to write something like "MyLuaPrograms", to create shortcuts for Lua programs... Kilburn has already made something like that wink2.gif
I'm planning to add a "recent files" list btw rolleyes.gif
The_AFX_Master
The problem wit the Kilburn's code is that it have the same annoyng thing. search a script in a list. The deal is that the app must be built in CPLua, then, releasing packages for any user would be easy.. Im working in a lua project now with omegavirus, This would improve the user interface
Orwell
You could place MyLuaPrograms in another folder, then you know where it is and you don't have to search in a list wink2.gif
I don't really have time to implement it in CPLua, but it will be possible to add it in CPLua's new interface (maybe by another person) happy.gif
PAP
QUOTE (Orwell @ Sep 1 2006, 12:43 AM) *
Okay I'm back at home cry.gif but with some new interesting things greengrin.gif
Welcome back (I'm answering 5 days later because I was in short vacations too).

QUOTE (Orwell @ Sep 1 2006, 12:43 AM) *
PAP, if you say that it isn't useful then I will definitely stop working on CPLua icon_twisted.gif
Wow-wow-wow, calm down. I never said that the ui package is not useful. I only said (and I insist) that, in my opinion, it is not as useful as other forumers think. But asume for a moment that I have said loudly: "the ui package is totally unuseful" (I repeat, I never said such a thing). Is that enough to make you "definitely" stop working on CPLua?

QUOTE (Orwell @ Sep 1 2006, 12:43 AM) *
CPLua 0.9B should be ready soon, but there are some things I'd like to do before that (the memory problem is still present dry.gif ).
cry.gif For future LNA developement, based on version 0.9, it is absolutely neccessary to eliminate the memory leakage.

QUOTE (Orwell @ Sep 1 2006, 12:43 AM) *
Then I think about some major changes in CPLua's presentation (I never really liked the first window with the Lua logo and I have a better idea cool.gif )
The first CPLua window is not that bad, but it can always become better. Curious to see what changes you have made.

QUOTE (Orwell @ Sep 1 2006, 12:43 AM) *
Aaargh. I feel the headache coming. banghead.gif Well, let's see if some other people will ask for it first tongue.gif
Centering widgets automatically is not a must; it will be very practical, though. If implemented, I bet that most users will use it frequently.
Orwell
QUOTE (PAP @ Sep 5 2006, 04:28 PM) *
Wow-wow-wow, calm down. I never said that the ui package is not useful. I only said (and I insist) that, in my opinion, it is not as useful as other forumers think. But asume for a moment that I have said loudly: "the ui package is totally unuseful" (I repeat, I never said such a thing). Is that enough to make you "definitely" stop working on CPLua?
lol2.gif I was just kidding. But actually, I was not talking about the UI package. It's something else that you asked before, and it's now 100% operational. But I will let you guess what it is until the next release tongue.gif

QUOTE
cry.gif For future LNA developement, based on version 0.9, it is absolutely neccessary to eliminate the memory leakage.
Well, I just found (early in this morning dry.gif ) where does this bug come from biggrin.gif And unfortunately (as I expected) the bug (or should I say the 2 bugs) are in the OS, not in CPLua. I hope I will find a workaround to make CPLua 0.9B work correctly on OS 2.24, before the release of OS 3.0 wink2.gif
My current problem is that I can't release CPLua 0.9B now as I did for CPLua 0.9A, because there are some new incompatibilities with CPLua 0.8 (and thus people cannot switch between 0.8 and 0.9B as easy as between 0.8 and 0.9A). But I will certainly find a solution happy.gif
PAP
QUOTE (Orwell @ Sep 5 2006, 06:41 PM) *
It's something else that you asked before, and it's now 100% operational. But I will let you guess what it is until the next release tongue.gif
I have asked many things in the past, I cannot guess which one has been implemented crazy.gif. I'm dying to know messer.gif. Tell me, tell me, and tell me secret.gif.
Orwell
Yes!! biggrin.gif
After a long, long time, DLMfit now runs correctly on the ClassPad again, without any memory error rolleyes.gif
And it's even faster now than with CPLua 0.8! smile.gif

I will make a few more tests to see if everything is ok, and then I will be able to release CPLua 0.9B happy.gif
The_AFX_Master
faster than the present LUA! WOWOW! rockband.gif

.. go ahead! we're waiting for this Cristmas gift!
Orwell
Okay I think CPLua 0.9B is ready. smile.gif
I will now spend a little time on the "documentation" to complete and reorganize it, because there are a lot of things to say rolleyes.gif Be patient, it's just a question of hours. wink2.gif

Btw, I'm starting to see the end of my "to-do" list smile.gif
Most of the last points are only minor or facultative improvements. They are interesting too (e.g: improve the console window, complete the draw package, improve the general interface), but the current state of CPLua is already close of CPLua 1.0 happy.gif
PAP
QUOTE (Orwell @ Sep 6 2006, 02:09 AM) *
Yes!! biggrin.gif
After a long, long time, DLMfit now runs correctly on the ClassPad again, without any memory error rolleyes.gif
And it's even faster now than with CPLua 0.8! smile.gif
I'm proud to see that my DLMFit still serves as a test program. However, DLMFit is not the heavier part of LNA anymore. I think that you should also try DShoot; it's based on Shoot, which is currenty the most heavy method included in LNA, in terms of memory requirements and execution time. Furthermore, don't forget LNAtest, which uses several heavy methods, and compares execution time with that expected (based on CPLua 0.8). You could also run DemoAll (included in LNAdrive), then choose "Run them all" from the menu: it will run all driver programs, including DLMFit and DShoot.
Of course, I will do all these tests as soon as version 0.9B will be available...

QUOTE (Orwell @ Sep 7 2006, 05:09 PM) *
Okay I think CPLua 0.9B is ready. smile.gif
Yeaaaah! lmao.gif
Orwell
Phew. CPLua 0.9B is finally ready. rolleyes.gif

There are a lot of things to say for this new version. There were several major changes from the previous versions too, thus please read the following notes carefully smile.gif

1. First (and most important) thing: the memory bug that appeared in CPLua 0.9A has been completely fixed biggrin.gif CPLua 0.9B is a lot more stable than CPLua 0.9A! smile.gif

2. Second (and even important as 1): the format for Lua programs has changed. The new format is close to a standard text format, and can be read more easily than the previous one.
The current versions of CPLua are still able to load sources saved with the old format, but this will probably not be the case with the future versions.
Thus, you should convert your programs to the new format, to be able to use them in the future. To do that, simply open your files and save it. They will be saved into the new format. wink2.gif

3. The format of lua data files has changed too; but this time the old format cannot be used anymore. That means that every files that were created with the IO package of CPLua 0.8, should be created again because CPLua 0.9 (and the future versions) will NOT be able to read it. sad.gif The function file:create() has changed a little bit too.

4. Here is what PAP has been longing for. Text file support tongue.gif
The IO package now support text files. Those files can be read by CPLua's editor (or even executed as Lua scripts, because it is the same format as Lua source files).

5. The UI Package is (almost) complete. You can now create windows, widgets, notebooks, lineedits, textedits, buttons, multibuttons, dropdownbuttons, radiobuttons, spinboxes, checkboxes, comboboxes, menubars, and toolbars. cool.gif I only need to create the functions to access the dialog windows (input, message boxes etc).

6. You already saw it in CPLua 0.9A, but there is a new find/replace utility smile.gif

7. CPLua has been upgraded to Lua 5.1.1. This is just a minor update wink2.gif

8. The file manipulation in the IO package has been improved. Remember that when you were writing in a file with CPLua 0.8, all the data was actually kept in memory by CPLua, and then it was only written when the file was closed. This used a lot of memory. But this is over now, because CPLua does not need to know anymore the size of the whole data to create the file happy.gif

9. pict.load() can now access the picture directly into the MCS file. It uses a "copy-on-write" system: the data remain in the file if you don't modify it; thus no memory must be allocated. If you try to draw on the picture however, it is automatically copied in memory.

10. There are some new functions.
a. dispose() : This function can be used in the same way as require()... but it does exactly the opposite tongue.gif This is a function that you can use to unload a library when you don't longer need it. If the library is not needed anymore by any of the loaded files, its memory is then free'd smile.gif
For example, suppose you have a library "lib" that exports a variable 'A':
CODE
print(A)  -- prints nil
require("lib") -- loads A
print(A) -- A = ...
dispose("lib") -- unloads A
print(A)  -- prints nil
I have a feeling that it could be useful for LNATests wink2.gif

b. dostring() : This function can execute the string given as parameter. For example:
CODE
dostring( "print(\"hello!\")" ) -- prints "hello!"

c. waitinput() : This function waits for an input (key or pen). It returns a string "key" or "pen" with the corresponding informations.

d. pict.copy() : Just a simple function to duplicate a picture. Sometimes useful smile.gif

e. difftime(h,m,s) : returns the number of second elapsed since the time h:m:s.

f: table.copy() : It isn't really a "new function", but you must know that it now performs a deep copy by default. That means that if you want to copy a matrix for example, you don't have to call table.copy() for each line. This function accepts a second (boolean optional) parameter; if it is true, the copy is a deep copy; otherwhise, it is a shallow copy.


... I guess that's all. smile.gif
Oh, and I changed the examples a little bit too smile.gif Btw if you think about some simple programs that could serve as examples, feel free to post it here and I will add it with the future versions wink2.gif
PAP
QUOTE (Orwell @ Sep 8 2006, 12:05 AM) *
Phew. CPLua 0.9B is finally ready. rolleyes.gif
Very good news. Memory problems seem to be eliminated, but not always. I have also some doubts concerning stability. LNA 1.70 does not work as in CPLua version 0.8. I suspect that there is a compatibility problem, due to the new CPLua file format. I will send you a pm explaining the problems in a few minutes.

QUOTE (Orwell @ Sep 8 2006, 12:05 AM) *
Here is what PAP has been longing for. Text file support
Yes! lmao.gif Thank you very much!

QUOTE (Orwell @ Sep 8 2006, 12:05 AM) *
Thus, you should convert your programs to the new format, to be able to use them in the future. To do that, simply open your files and save it. They will be saved into the new format.
Oh, no, now I have to do the conversion to all my CPLua files banghead.gif. But I'm not really complaining, I knew that this will happen some day.

Oh, and a small remark: wouldn't be more practical if difftime(h,m,s) returns time elapsed in h:m:s format (just as LNA's DiffTime works), instead of number of seconds?
Orwell
CPLua 0.9B has been updated. Thanks to PAP for his tests wink2.gif

QUOTE
wouldn't be more practical if difftime(h,m,s) returns time elapsed in h:m:s format (just as LNA's DiffTime works), instead of number of seconds?
I don't disagree, but actually there is a standard C function called difftime that returns a number in seconds. I thought it would be better to respect that format wink2.gif
SoftCalc
prie.gif Cplua (Orwell)
prie.gif LNA (PAP)
The_AFX_Master
Orwell, I tested CPLua 0.9b yesterday. Seems to be faster with aritmethic's, then faster for calculus. but is about 3-4 times slower when using the package draw, specially draw.text() becomes too much slower this is making me crazy cry.gif ).. filling the scrren with numbers (example, on a matrix editor) is slower than LUA 0.8. Now i have Lua0.8 and Lua0.9b installed on my calc (i changed the name of cplua 0.8 tongue.gif )

I found a memory leak, as follows. Lua 0.8 have the same problem!, but a bit smaller

CODE
arr={}
n=input()
for c1=1,n
arr[c1]={}
for c2,n
arr[c1][c2]=(c1*c2)^2
end
end
statusbar(collectgarbage("count")
waitkey()


good, this small code creates a whole (i know how to operate with sparse matrix) square matrix with dimension n*n that each Aij = (i*j)^2.

Cplua 0.9
n=64 : memory usage:68.3 kb
n=65 : memory usage:118.6 kb the jump, one row+one col = 50kb!!!! cry.gif
n=66 : memory usage:120.1 kb
maximum memory reached: ~ 121kb with n=67

Cplua 0.8
n=64 : memory usage:63.95 kb
n=65 : memory usage:114.6 kb the jump, one row+one col = 51kb!!!! cry.gif
n=66 : memory usage:115.8 kb
maximum memory reached: ~ 150kb with n=80

Then, CPLua, duplicates the memory usage on some aplications when it reach 64~68 kb, jumps over 50 kb more!. Orwell, surely you know this, but i hope that it help you to improve the memory "flood" in CPLua.
Don't forget the draw package, it's slower now than 0.8

Thanks in advance, sorry for excesive queries wink2.gif
Orwell
This is not a leak, this is the normal behaviour :/ And I can't do anything for that. This is how the Lua interpreter works... sad.gif
CPLua 0.9 may use a different amount of memory than CPLua 0.8, but there is no leak. wink2.gif
Note: Actually when I worked on the "mat" package for CPLua 0.72, it was to give a way of using less memory for simple matrices. But the problem is that it was a lot slower than using some regular tables sad.gif

I'm more concerned about the draw package: it's not suppose to be really slower huh.gif
Can you send me a code that shows the difference in speed?
The_AFX_Master
With matrix algebra there is no problem, i made a library that replaces "in action" nil values by zeros, then i need to store only the non-nil elements, but if . The problem i how much memory are available on the classpad for CPLua? as i said, with a single matrix i can reach 180 kb as top value. CP calculus memory is only 180 kb?

I made another experiment to reach maximum mem. I can generate a 64*192 matrix in 3 parts of 64 square matrix. At least 200 kb must be the maximum. but i can't reach 180 kb without a fatal exeption error or "alloc failed 384->768 , 3380 -4". Lua allocates memory in packages ?.. then when the first package is filled, Lua allocate on the second, and soon?

I'm quite confused. And i need to know at with some precision what are the real limits on CPLua referred to memory usage because I'm started a new project with omegavirus, that will need hard matrix handling.. Seems to be that this week would be of pure and hard benchmarking.

ps: I will send you the code that "lags" with cplua 09, but not in 08. in advance: it uses 44 K of memory!. a lot!, i'm working in a new version that is a faster. but this code is a reference.
Orwell
QUOTE (The_AFX_Master @ Sep 9 2006, 04:18 AM) *
With matrix algebra there is no problem, i made a library that replaces "in action" nil values by zeros, then i need to store only the non-nil elements, but if . The problem i how much memory are available on the classpad for CPLua? as i said, with a single matrix i can reach 180 kb as top value. CP calculus memory is only 180 kb?
Yes, approximately. This is rather confortable though, but that's true that the Lua tables use a lot of memory (this is because they actually are hashtables, so it needs a complex structure to be able to quickly find an element by its index inside the table).

QUOTE
I made another experiment to reach maximum mem. I can generate a 64*192 matrix in 3 parts of 64 square matrix. At least 200 kb must be the maximum. but i can't reach 180 kb without a fatal exeption error or "alloc failed 384->768 , 3380 -4".
You should re-download CPLua 0.9B, because I made an update yesterday wink2.gif Btw, the value "3380" is the total free memory still available when the error happened. So you were indeed very close to the limit. sad.gif
QUOTE
Lua allocates memory in packages ?.. then when the first package is filled, Lua allocate on the second, and soon?
That's correct. If you see a big difference between n=64 and n=65 in your last example, its because some Lua tables have been resized from 64 to 128 possible entries, hence the difference in memory consumption rolleyes.gif

QUOTE
I'm quite confused. And i need to know at with some precision what are the real limits on CPLua referred to memory usage because I'm started a new project with omegavirus, that will need hard matrix handling.. Seems to be that this week would be of pure and hard benchmarking.
Don't worry too fast. I just discovered something really interesting tongue.gif I'll give you more details later smile.gif

QUOTE
ps: I will send you the code that "lags" with cplua 09, but not in 08. in advance: it uses 44 K of memory!. a lot!, i'm working in a new version that is a faster. but this code is a reference.
44k is not "a lot of memory" for me blink.gif Remember that this value also takes the size of the loaded scripts, functions and packages into account, plus all the structures needed by the interpreter to work, not only the data used by the Lua program. A Lua program of approx 2 Kb will require more than 6Kb when it is loaded into the interpreter dry.gif
SEUCV
el Cplua puede ser utilizado en una casio afx 2.0 plus? otra cosa, como puedo hacer para conseguir el add-in oficial de casio para graficos en 3D y por ultimo, en donde se puede conseguir una nuea version del CAS para mejorar esos errores que ustedes mencionan en otros post. Gracias
PAP
QUOTE (SEUCV @ Sep 9 2006, 06:48 PM) *
el Cplua puede ser utilizado en una casio afx 2.0 plus? otra cosa, como puedo hacer para conseguir el add-in oficial de casio para graficos en 3D y por ultimo, en donde se puede conseguir una nuea version del CAS para mejorar esos errores que ustedes mencionan en otros post. Gracias
I think I will start to write in my native language here. Nobody will undertand anything, but several people do something similar wink2.gif.
Kilburn
Weird... My "font" package doesn't work anymore. blink.gif Of course, I edited my font builder to make it work with CPLua 09, but when I try to build a font file, it crashes, or it returns a font with blank characters... huh.gif

And I noticed that writing/reading to/from memory is much slower now huh.gif
The_AFX_Master
Don't worry people, let the spanish posts to me biggrin.gif

SEUCV: No es posible instalar CPLua en una algebra FX2 ya que esta dise?ado para la Classpad. Lamentablemente, los errores de CAS no son solventables ahora, ya que esta calculadora no dispone de ROM actualizable. recuerda que ese CAS es un prototipo. Grandes cosas surgen ahora con LUA y las aplicaciones prometen ser poderosas (mas que ninguna calculadora en el mercado). Pero necesitas una Classpad, asi lo he hecho yo. No se si existe un add-in de casio para graficos 3d, pero hay uno por ahi, pero consegui este

3d graph
Cesar
Hi im new at the forum, I speak spanish but I speak some english and french too, well i've got a question, however I'm a Civil Engineering student, i ve got a very poor knowlegde of programation, c++, or something like that, my only experience with programation was with Visual Basic, but very basic greengrin.gif , so my question is: can someone like me use CP lua?, I dont want to program it, find bugs,or things you do, but i want to use it, make some programs that i would need for my career, you know like i used to do in my AFX 2.0Plus, now that I ve got the classpad, i feel frustrate cause i cant programe it.
So CPlua es an "an intuitive language", can u talk me about the SDK?

I hope i ve posted in the correct forum
The_AFX_Master
Welcome to the UCF biggrin.gif

I speak spanish too, people, i will answer on spanish,

Bien Cesar, te respondo. CPLua es un lenguaje de programacion bastante potente para la Classpad. Creo que no es logico usar CPLua sin programar huh.gif . precisamente por ser un lenguaje interpretado, y tener acceso a los codigos fuente. CPLua es muy sencillo, yo aprendi hace 3 meses, y mis conocimientos de programcion vienen de CASIO Basic (lenguaje de la Algebra FX), Fortran 90 y algo de C++ los dos ultimos muy de manera superficial. Entonces estamos iguales... tenemos las mismas maquinas. CPLua es intuitivo, no hay problemas mas alla de no abusar de la calculadora. El SDK es mas poderoso, pero requiere de conocimientos medianamente avanzados de C/C++. es muy practico para proyectos grandes. Creo firmemente en que se debe hacer la escalera.. Basic, Lua, SDK.. o por lo menos en tu caso Lua,SDK. De todas maneras pienso escribir un tutorial de Lua en cuanto tenga algo de tiempo
Cesar
nice?? in this moment I'll try to install it, somebody knows about a short tutorial (no matter if it s not in Spanish) of Lua for CP, I say short cause I'd like to print it, so I can read it slowly and carefully,you I mean less than 50 pages I hope you can help me and maybe if I've got enough time to learn Lua I can help creating some programs for Civil Engineers
Im sorry Im using the edit option... I'll found this
Lua 5.1 Reference Manual by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes will be eough reding that manual or there's something more specific for ClassPad LUA or beginners?
omegavirus
QUOTE (The_AFX_Master @ Sep 9 2006, 06:01 PM) *
I speak spanish too, people, i will answer on spanish,


I think you should answer in spanish and english because is like having a conversation infront of some people and talking to the ear to the person next to you smile.gif
The_AFX_Master
QUOTE (Cesar @ Sep 9 2006, 09:14 PM) *
Lua 5.1 Reference Manual by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes will be eough reding that manual or there's something more specific fot ClassPad LUA or beginners?


there are the LUA language creators. The manual only explain the syntax of the LUA functions, then, it's for programmers who want know the structure and environment of the LUA language, here is a book, would be useful for you Cesar
PAP
QUOTE (Cesar @ Sep 10 2006, 01:49 AM) *
i ve got a very poor knowlegde of programation, c++, or something like that, my only experience with programation was with Visual Basic, but very basic greengrin.gif , so my question is: can someone like me use CP lua?
The answer is yes, definitely. Like any other programming language, you have to read some documentation first, then try simple examples, then read about more advanced Lua topics, then try more complicated axamples. You won't get it in a few minutes, but it is not as difficult as it seems. Your previous experience with programing languages will be helpful.
The SDK is another story. You need to know C++, to read the SDK manual, and much more time, but you will be able to write faster programs in the PC, then transfer them on ClassPad.
SEUCV
Bueno, continuando en esta onda de preguntas banghead.gif , quisiera que me dieran una serie de trucos o mas bien, programas que me ayudaran a realizar problemas de integrales triples, todo lo relacionado con ese tema de las matematicas avanzadas y en especial con Series de Fourier y Calculo diferencias e integral, algebra lineal, etc. pero con una afx 2.0 plus.... gracias
Seucv
perdon, es Calculo Diferencial en lo relacionado a las ecuaciones diferenciales, recuerden con una afx 2.0 plus, gracias biggrin.gif
The_AFX_Master
Seucv. por las normas del foro. las preguntas sobre AFX se hacen en el foro FX/CFX/AFX, para mantener la homogeneidad de los topicos. De todas maneras, todo lo dicho pasa por leer el manual de usuario. pues el foro normalmente responde preguntas fuera del manual de usuario. Por que?. simple, no tendras que esperar por nuestra respuesta si lees
Cesar
QUOTE
there are the LUA language creators. The manual only explain the syntax of the LUA functions, then, it's for programmers who want know the structure and environment of the LUA language, here is a book, would be useful for you Cesar

you mean the 351 pages book "Programing in Lua"?? or the others in documentation?
The_AFX_Master
QUOTE (Cesar @ Sep 11 2006, 11:01 PM) *
you mean the 351 pages book "Programing in Lua"?? or the others in documentation?


Yes, i mean. You can use the official LUA manual on lua.org as a extra support for built in lua packages
Cesar
ok I've got the material now I'm going to study it, if I've got any questions I'll be posting them.
PD. Should I post my questions here or in a new topic?
The_AFX_Master
Post here wink2.gif
Orwell
QUOTE (Cesar @ Sep 12 2006, 09:51 PM) *
Should I post my questions here or in a new topic?
If you have some long questions, it is perhaps better to start a new topic. Then if someone else has the same questions later he will find the answers more easily smile.gif
Orwell
I'm currently working on CPLua 0.9C.

I already fixed several bugs (and added a few more memory tongue.gif ), but now I just had a new idea and I'd like to have your opinion:

Currently, doing
CODE
require("myLib")
is the same as
CODE
require("main/myLib")
because there is no package in CPLua called "mylib", and thus it searches in the "main" folder if no folder is specified.

I just thought that it would perhaps be easier if CPLua searched in the folder of the file that calls require(). To be more precise:
Suppose you have a folder "Fol" with 2 files A and B.
If the file A requires the file B, you will have to write
CODE
require("Fol/B")
at the beginning of file A. My suggestion is that
CODE
require("B")
is equivalent to
CODE
require("Fol/B")
because A is in the folder "Fol". I think it would be easier if you want to rename folders etc, then you wouldn't have to change all the paths. smile.gif
Note: if you call require() from a new file (not saved), and if no folder is specified, CPLua would then look in the "main" folder.

Can I have your opinion about this change? happy.gif
Cesar
Im here again, well Im reading "Programing in Lua" book, but when I try to run the examples in my CP sometimes it display me errors, so I dont know if there are differences between the "CPLua" and the "Stand alone Lua", if the differences exist how can I know about them?. Or should I learn Lua using the Stand alone version? Thanks for your answers
The_AFX_Master
Sorry. but i don't know an standalone interpreter, so i can't tell you.. Can you post the errors? and these examples?

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.