Lavengro

USAGE

lavengro

DESCRIPTION

Lavengro is a vocabulary-test engine that uses text files, which you create with an editor, as its tests. It tests you by using one field of each line of the test for the question, another for the answer. This means Lavengro is not limited to vocabulary tests; the quiz files may have any text in their colon-separated fields. Lavengro is based upon and compatible with the bsd-games quiz program. Beyond the functionality of bsd-quiz, Lavengro has a tutor mode, a test mode, and a sophisticated programmed-learning mode, which focuses on your weaknesses and keeps a record of your progress.

EXAMPLE

How do you use Lavengro?

First you need a Lavengro directory in your home directory. Under that, create a Spanish directory and copy the two spanish tests from this package's user directory into it. Then enter "lavengro" in a console. This brings up a text-menu with the selection of testing modes.

There is a quiz mode, a tutor mode and a test mode. Quiz mode is for people who already use bsd quiz. The rest of you, move right along to the next paragraph. In quiz mode, Lavengro looks for a bsd quiz index file in its default directory or the directory entered into the file "~/Lavengro/lavengrorc". Then you can choose the quiz and the question and answer fields just like you do in bsd quiz. Then Lavengro runs in its own test mode on the test you choose. Don't forget to create the necessary bsd-quiz index files for this one.

In the modes tutor and test, Lavengro lets you choose by subject (subdirectories of ~/Lavengro) and then from the files in that directory. Any file not called 'index', not ending in a '~', and not containing 'ME' is considered a test file in this process. In these modes, the tests have two fields only: question and answer, in that order. Test mode gives you one chance per question and a scored result. Tutor mode cycles you through your wrong answers until you get them all right.

The mode that tracks your learning over the long term is Lavengro mode. Lavengro mode tests you according to this priority:

  1. tests not in $USER.lav, oldest to newest, tutor mode
  2. tutors, oldest to newest, tutor mode
  3. testables, oldest to newest, test mode
  4. scores, low to high, test mode

If you are not in bsd-quiz mode, your results go into your user record, called $USER.lav. On systems without the environment variable $USER, you will be asked for a user name. Any simple file name will do. Should something go wrong - loss of power or whatever - you will find your $USER.lav has been preserved as $USER.lav.safe. Only the bsd-quiz mode requires the index files to identify the tests.

Pick test or tutor for now and you will get a menu with only Spanish on it. Pick a test. That's all there is to it.

Creating Tests

Let us say you are studying German. Go to the "~/Lavengro" directory and create a "German" directory in "lavengro". Now create a test file. With an editor create a file that has these lines:
one:eins
two:zwei
three:drei
and save it as "~/Lavengro/German/one"

Now run Lavengro in one of its three non-bsd modes and you will see both Spanish and German as topic choices. Choosing German will let you take the first test you have just made. That's all there is to creating tests.

Note: Tests that are not for bsd-mode have no blank lines and only two fields separated by a colon. Blank lines at the end of the file are purged but blank lines in the middle will cause problems.

You can put comments in test files. Lines beginning with a '#' character are ignored by the engine. The primary use of comments is to give the test a title. Lavengro treats a commented line at the top of the file as the test's title and prints it to the screen. Look at the top of ~/Lavengro/Spanish/spanish01 for an example of this.

You can get a little fancy with the tests to allow for alternative or optional answers. Here is the bit from the bsd-quiz man-page that explains how:

  • pat|pat alternative patterns
  • {pat} optional pattern
  • [pat] delimiters, as in pat[pat|pat]pat

In other words:
gordo|gorda lets the answer be 'gordo' or 'gorda'.
gord[o|a] does the same thing.
{el }gato lets the answer be 'el gato' or 'gato'.
Note that the space is inside the braces.

AUTHORS

Richard Harris richardharris@operamail.com