[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] AmiBroker AFL Glossary project --Orbiting



PureBytes Links

Trading Reference Links

Hello Again,

I have completed the last phase of the proof of concept stage for the AFL_Glossary project.  Next phase will be to the moon.

I have just uploaded release #5 of the converter program, 3 glossary database text files, and the glossary functional groups text file to the AFL Library.  Use search term glossary to get them all.

The final stage uses the AFL_Glossary_Groups.txt (or .afl) file to define the hierarchy.  This file is of the simple form:

AFL,
AFL,Functions,
AFL,Functions,String manipulation
AFL,Functions,Type Conversions
AFL,Functions,Date and Time
AFL,Operators,
AFL,Operators,Assignment Operators
AFL,Operators,Numeric Operators
AFL,Operators,String Operators
AFL,Operators,Logical Operators
AFL,Operators,Comparison Operators
AFL,Flow Control,
AFL,Flow Control,Loop Operators
AFL,Flow Control,Conditional Operators
END,

It is used to define the format for generating a full functional listing of the entries.  Of course this sample does not contain all the possibilities, only the ones I created as I made glossary entries for the string functions, operators, and keyword sections.  More will be added as new functional groups are defined by the entries.

Since a single entry can fall into more than one category, the output file can have more entries than in the database.  I have attached a PDF file (for those with the email option) generated by importing the RTF file into my word processor and exporting it to the PDF format.  This makes the document more universal in experience and not dependent on the particular word processor used.  This document contains the 74 entries expanded out into 114 entries.  This sample should start to give you an idea of how powerful an aid this can become for everyone.  

The document generator can generate these documents filtered for fewer entries based on specific functional group or search terms and sorted alphabetically or functionally or unsorted.  Filtered would be the mode for getting just the information you need when you need it.  However, a full listing PDF document can also be a powerful off line tool and you can search for terms in the PDF document.  This is the only form that I can think of for putting it in the UKB without help from others to create HTML pages.  Adding an XML output option is also possible now if that would help further the project into web pages.  One more refinement I could make would be to automatically add live links to all the "see also" entries based on the link used in the referenced entry.  I originally wanted to link to the glossary entry, but with RTF, I can not do that, even though PDF allows it.  

The list of uploaded files:

AFL_Glossary_1.afl file has the AFL string functions.
AFL_Glossary_2.afl file has the AFL operators.
AFL_Glossary_3.afl file has the AFL keywords.
AFL_Glossary_Groups.afl file has the groups hierarchy.
AFL_Glossary_Converter.afl file has the document generator AFL program.

I hope the potential and value of this project is obvious now.  If it is not, I want to know that also.
I need some feedback at this point.

Best regards,
Dennis

Attachment: AFL_Glossary.pdf
Description: Adobe PDF document




On Sep 29, 2008, at 12:20 AM, Dennis Brown wrote:

Hello All,
 
I just uploaded release #4 of the converter program and 3 glossary files to the AFL Library.  You can find them both by searching on the term glossary.

I have input 75 glossary entries so far.  It is not that hard, but I am sure I have made a few typos.

The AFL_Glossary_1.afl file has the AFL string functions.
The AFL_Glossary_2.afl file has the AFL operators.
The AFL_Glossary_3.afl file has the AFL keywords.

I found that it is better to have multiple entries for a single term if the term means something different depending on the context.
For instance num + num, or string + string.

I am attaching a sample (alphabetical) RTF and a TXT file to this message, if you would like to look it over for typos or other comments without actually running the program.
 
Best regards,
Dennis
<AFL_Glossary_Out.rtf>
<AFL_Glossary_Out.txt>


On Sep 26, 2008, at 1:01 PM, Dennis Brown wrote:

Hello All,
 
I just uploaded release #3 of the converter program and glossary template files to the AFL Library.  You can find them both by searching on the term glossary.
 
The only difference from release #2 yesterday is that the program will now accept .afl extension on the database text files if it can not find a .txt version. 

The AFL_Glossary_1.afl file name is what is downloaded from the AFL Library.  This means that it does not need to be renamed.  A side benefit is that you can edit a glossary file and save it as .txt and it will override the original .afl versions without replacing the file.
 
Best regards,
Dennis

On Sep 26, 2008, at 8:12 AM, Dennis Brown wrote:

Joseph,

The .afl is added by the AFL Library upload automatically.  Of course, I could change the program so that it would read in a .afl extension or a .txt extension, but then it would not automatically pull up a text editor to edit it.  I am open to suggestions.  I did like putting the program and database together in an obvious place for AB users to find, and the AFL Library gives a description of the file before you have to download it.  Another interesting point I found out this morning is that it also records that a function definition is already included in the AFL Glossary file when you go to the functions entry.  This could be handy to keep track of progress covering all functions.  Perhaps I should just allow the .afl type in the program.

BR,
Dennis

On Sep 26, 2008, at 12:28 AM, J. Biran wrote:

Just curious: what it  s the reason that you do upload the file with an afl extension needing to rename it later? Is to not possible to save a .txt file directly?
 


Joseph Biran
____________________________________________
 
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
Sent: Thursday, September 25, 2008 12:52 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] AmiBroker AFL Glossary project --LIFT OFF
 
Hello All,
 
I just uploaded release #2 of the converter program and glossary template files to the AFL Library.  You can find them easily just by searching on the term glossary.
 
I added the additional data type definitions as below.  I also added the ability to sort entries alphabetically and to filter output based on group tags and search tags.  It is pretty nifty --even useful as is -- if we had some more database entries to go with it.  For instance, I can filter on dateTime and it will generate a document of all the functions (in the database) that can use the dateTime format with links to more information.  That was my first goal. :-)
 
What do you need from me to start typing in glossary definitions at this point?
 
I will be happy to work with you in private email if you need help to get started.
 
Best regards,
Dennis
 
BTW: The program parameters beg for me to put them into my flexible parameters system.  If I were doing this program just for myself, I would have done it already.  However, I wanted it to be as simple as possible for others to load and run it without loading in 3 include files and a dll file first to enable this extra functionality.  I can convert it to run in the flexible parameters mode when we are further along, because then I can have a selectable named set of parameters for every document setup I want to be able to produce without doing any more work.
 
On Sep 24, 2008, at 12:34 PM, Dennis Brown wrote:


Joseph,
(Tomasz, please correct any factual errors or omissions in this post)
 
Ok, It percolated for a while and this is what I came up with.  Array types imply single numbers as a subset of an array.  It is therefore redundant to specify for instance that a type can be an array of numbers or a number.  However, a type may be a number only and not an array.  This leads me to the conclusion that I was in error to have a generic array type.  Here is a proposed legend for the return types we currently have:  (Please correct me if I am wrong)
 
n = single IEEE 32 bit floating point number only
N = Array of floating point numbers (including a single number)
b = single boolean number only (for parameters: False = 0 or null / True = not false), (for returns: False = 0 / True = 1)
B = Array of boolean numbers (including a single boolean number)
s = a single string of UTF 8 bit ASCII characters (max length?)
 
There are different ways to "interpret" a floating point number of course as in boolean above.  
 
We have the sign + 23 bit pseudo integers
???format "DateTime"
3 x 8 bit positive integer "Color"
32 bit "Binary" for binary operations like &, |
 
Perhaps we should specify these interpretations also:
 
d = DateTime number
D = DateTime array
c = color number
C = color array
 
-- The following would be a nomenclature conflict with boolean type that needs resolution.  L,l  for logic won't work.
b = bitwise binary number
B = bitwise binary array
-- The results are still interpreted as a float for everything, except the &,| operator actions.  Perhaps we don't need more than N,n for this
 
I am thinking that these basic type nomenclatures would be used in the glossary database template, but what is generated for document output could be anything of course.  It would take me less time to fix the doc generator than it took to write this post.  LOL
 
Comments?
 
BR,
Dennis
 
 
On Sep 24, 2008, at 8:25 AM, Dennis Brown wrote:


Joseph,
 
Thanks for the suggestion.  I will let it percolate on my brain a bit.  Of course, if it gets to cryptic, it defeats the purpose.
 
The &nb! sp; in the example is not my doing.  That is something thrown in by Yahoo or a mail program.  I think it is some BB or HTML formatting for a ! which is also not my doing.  I see that these errors are creeping in with each successive reply, but not the original.
 
I see the odd space and formatting error now and then show up in replies.  
 
BR,
Dennis
 
 
On Sep 24, 2008, at 3:33 AM, J. Biran wrote:


I think this strongly depends on individual taste and has no absolute correct answer.
 
The returned values is of significant importance and is good it stands out. It could also be placed right before the AB version info.
 
You could also borrow from the convention that units of measure are placed in square brackets (i.e. [sec]) and use [n] or [s], [b], [A(n)], [A(b)], [A(s)] etc… (A = Array).
 
I just noticed    &nb! sp in your example below. Was it there before? Is this some formatting info? Also what is the ! for?


Joseph Biran
____________________________________________
 
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
Sent: Tuesday, September 23, 2008 6:12 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] AmiBroker AFL Glossary project --LIFT OFF
 
Joseph,
 
I see your point.  I just made up some conventions to test it out.  It could be formatted any number of ways.  In fact I am busy writing the sorting and filtering routines.  Let me know if you have a good idea for an alternative way to format the output and I can throw that in at the same time.
 
Another one is I have "a" for array "a|n" for array or number, and "b" for boolean.  It occurs to me the I should also have "a|b" for a boolean array or a boolean number.  that would also be the result type for things like comparison operators.  Operators will be another whole class of formats in the template.
 
As we expand the glossary to more than just functions, I am sure additional considerations will have to be made in the database template and report generation formats to accommodate these.  In some construct it is a statement that is the parameter like in a for(initialStatement; booleanExit; loopStatement){}.
 
These will take some additional thought.  We need to fill in all the AFL functions though, and that will take a little while and is actually the easy part because we have the AB functions list to get us started.
 
BR,
Dennis
 
On Sep 23, 2008, at 8:32 PM, J. Biran wrote:



The = threw me off.
 
Also, distinguishing array from number would be beneficial.


Joseph Biran
____________________________________________
 
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
Sent:
 Tuesday, September 23, 2008 4:57 PM
To:
 amibroker@xxxxxxxxxxxxxxx
Subject:
 Re: [amibroker] AmiBroker AFL Glossary project --LIFT OFF
 
Joseph,
 
Good question.  I had selected a parameter to show return value types in the sample output.  The n is a number type returned by the function.  Other types are: s is a string, a is an ar! ray, b i s Boolean number (True/False) etc., as shown in the template.  I could have selected to output a descriptive name instead, or nothing.  There are a number of variations on a basic theme.
 
BR,
Dennis
 
On Sep 23, 2008, at 6:09 PM, J. Biran wrote:




What is the n = stand for?
 


Joseph Biran
____________________________________________
 
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
Sent:
 Monday, September 22, 2008 9:27 PM
To:
 amibroker@xxxxxxxxxxxxxxx
Subject:
 Re: [amibroker] AmiBroker AFL Glossary project --LIFT OFF
 
Hello,
 
I have uploaded to the AFL Library a program called AF_Glossary_Generator (yes a typo in the name) that takes another file uploaded called AFL_Glossary_1 and generates parameter selectable formatted TXT or RTF files for this project.  It took me a couple of hours to make a database file for all the string manipulation functions, and forever to make the program that spit out formatted documents. Creating the files for both forced me to refine the database specification a bit further.  
 
< /div>
Please download them both and try them out.  You have to create a directory called AFL_Glossary in your main AmiBroker folder and put the file named AFL_Glossary_1.txt into it.  Rename the file to strip off the .afl and make sure it ends in .txt.  The output files will be written to the same folder.  On a PC, the .txt and .rtf files read fine in WordPad, but the links don't work in that program.  They do work in Word.  In the Mac, all formats w! ork fine in TextEdit program.
 
Please download the program and data and give me some feedback.  Sorry there are not a lot of instructions, but you just select parameters, and click on the Convert Database button to get something written out.  You can try out all kinds of different formats.
 
Next, we need volunteers to write small sections of the database to make headway.  If you make another file called AFL_Glossary_2.txt, etc., it w! ill comb ine them into one database for outputs.  
 
Best regards,
Dennis
 
PS. here is a sample of one possible output:
 
 
 
                AFL -- AmiBroker Formula Language
                                -- Abbreviation for AmiBroker Formula Language
                                -- Group Tags:          AFL
                                -- See Also:              AmiBroker Formula Language
 
  n =         Asc( String, CharacterPosition=0 ) [AB 4.8] -- get ASCII code of character
                                -- Returns the ASCII code number for a text character
                                -- Group Tags:          AFL,Functions,String manipulation,Type Conversions
                                -- Search Tags:        ASCII,character,convert,code
                                -- Links:    ASCII Defined ASCI I Table
 
  n =         StrToDateTime( DateTimeText ) [AB 4.8] -- convert string to datetime
                                -- Returns datetime number from a text representation of the Date/Time
                                -- Group Tags:          AFL,Functions,String manipulation,Type Conversions,Date and Time
                                -- Search Tags:        datetime,date,time,convert
                                -- See Also:              DateTimeToStr(),Now(),DateTime(),TimeNum(),Date()
 
The rtf file of the whole sample output is also attached here for those who get individual emails: