LojGloss (la tavycpi)
LojGloss (or la tavycpi in Lojban, meaning “the parrot”) is a javascript-based Lojban glosser and parser. LojGloss opens in an HTML page with a text area that you can paste or type Lojban text into. When you insert the text, it displays the text below the box as you typed it in, but with translations beneath the lojban words. It also displays translations of bridi places. Clicking on a word shows a box that displays the gloss, mnemonic, and definition. It also shows you how the phrases are grouped together, and lets choose how much detail to use in showing the structure.
If the word is actually a compound cmavo (i.e. a series of cmavo with no separating spaces) then LojGloss will parse it and show each cmavo in the definition box. If the word is a lujvo, then LojGloss will parse it into its rafsi and show the definitions for each of the constituent gismu.
On Windows, the .NET framework 3.5 is required*. I’ve prepared a small utility you can run to see if you need to download it. If it tells you 2.0 or 3.0 aren’t installed, don’t worry—those are included in the 3.5 install.
* The linked download is a small program that downloads the remaining required files. If you don’t like those programs, further down that page is a full download, but it includes all of the 2.0 and 3.0 files, and is much larger than you need if you already have 2.0 or 3.0.
Download the files from here, and run pdf23ds.Lojgloss.exe to start Lojgloss.
The program can also be run using Mono version 1.9 or higher, which supports Windows, Linux, OS X, and other platforms. If you’re using Mono on Linux, you might need to run mono pdf23ds.Lojgloss.Parser.exe instead of running the exe directly. I’m not sure if that’s necessary on OS X. You can run mono –version to see what version you have currently.
Note: Mono support is currently limited to the command line tool.
Known limitations
- A few rafsi are not yet glossed in lujvo because to do so correctly would require a different mechanism in the glosser that hasn’t yet been implemented.
- GUI doesn’t support Mono.
- The parser is kind of slow and memory intensive.
Planned features
In planned order of implementation:
- Further glossing improvements to match jbofi’e.
- Gloss tooltips?
- Add links to CLL sections dealing with the selected selma’o.
- Add an interface to the gloss database for making improvements or translations.
- Add an interface to give direct access to the parser output, with the ability to format that output in a variety of ways, including customized.
- Make parser much faster. (Switch to Rats! generated parser instead of own parser.)
- Make a server version by cross-compiling the C# to javascript.
- Integration of glossing database with Jbovlaste.
- GUI support on Mono? This will require features in Mono that will probably not be added until their 2.0 release or later, so I don’t really have much control over it.
Feel free to suggest new features.
Releases
2.0.2 (2008-7-3): Minor update. The program now detects when the 3.5 framework is not installed and displays a message instead of just not doing anything at all. Connectives are glossed as in jbofi’e now. Improve lujvo glossing a little.
2.0.1 (2008-6-28): Parse errors are now handled. The error information is shown in a tree with the affected text highlighted as you mouse over the different error nodes. The GUI now has tabs because you gotta have tabs. Mono support has been added for commandline tool. The overall speed of the parser has been improved quite a bit. A trace screen can be shown with extremely detailed information about the parse.
2.0 (2008-6-22): Rewrite client-side in C#. Add support for incremental parsing. Import all the jbofi’e glossing data and use most of it. Bridi place glossing complete except for some termsets. Mono support probably broken. You can save to/load from a file now, and there’s an auto-load for when you’re reading long works with lojgloss.
1.6 (2007-11-17): Make language structure able to be dynamically shown or hidden, and provide some keyboard and mouse support for navigating it.
1.5.3 (2007-11-14): Sumti place handling improved. Hopefully no bugs aside from the cmavo not handled. Lujvo glossing works again. Cmavo clusters with their own glosses in the wordlist are handled now.
1.5.2 (2007-11-14): Glossing was broken. Fix it. Improve zoi handling.
1.5.1 (2007-11-14): Fixed 1.5 gismu parsing. Add some basic, buggy sumti place handling.
1.5 (2007-11-13): Broken. (Gismu parsing doesn’t work. Hmm.) Fix lujvo and cmavo cluster parsing. Add support for Mono on Linux (and probably on OS X and Windows.)
1.4 (2007-11-13): Add very basic parsing support.
1.3 (2007-11-13): A bunch of fixes and enhancements and stuff.
1.1 (2006-8-12): Fix parsing of CVV-initial lujvo, make linebreaks format more nicely.
1.0 (2006-8-12): Initial release.
November 13th, 2007 at 14:35
Excellent product.. thanks.
November 14th, 2007 at 10:45
Downloaded to Linux (Ubuntu 7.10) after checking that the mono libraries were installed. However, it is not clear what to DO with it after downloading. The .exe file is of no use…
Downloaded to Windows (XP) and executed, but it quickly triggers an alert from my firewall that this application is trying to “act as a TCP/IP server” and open a port 85. Perhaps that’s something .NET does? But it looks suspicious. Don’t see any reason it should need to open a network port, and don’t know if I should allow this action or not.
November 14th, 2007 at 12:04
Dave, if you do a chmod +x on the executable, you’ll be able to execute it, but with version 1.4 Linux support is still broken.
The reason your firewall is alerting you is that the application runs an HTTP server that the HTML file accesses. The program does the parsing, and the HTM sends the Lojban text to the server to get back the parse tree.
November 14th, 2007 at 13:13
OK, Linux support is now available.
November 15th, 2007 at 18:43
Knowing the WINE project is a quite large & effortful attempt to provide a Windows API under Linux, I was dubious that pdf23*.exe would run under Linux, but I tried it. Here’s the result:
dcortesi@ubuntu:~/Desktop/lojgloss$ chmod +x pdf23ds.PegParser.exe
dcortesi@ubuntu:~/Desktop/lojgloss$ ./pdf23ds.PegParser.exe
bash: ./pdf23ds.PegParser.exe: cannot execute binary file
I will give it another try under Windows, allowing it to open a port. But I’d like to know how you go about testing under Linux without actually COMPILING under Linux…
November 15th, 2007 at 19:22
Do you have Mono installed? That’s required, and that’s what runs the executable. It doesn’t use Wine. If it won’t execute directly, does running “mono pdf23ds.PegParser.exe” work for you? If it does, I’ll modify my instructions accordingly. But for others on linux, they’ve been able to run it directly. I suspect you simply need to get Mono.
November 16th, 2007 at 12:00
Mono was there; after I downloaded the latest (11/14) version it executes with an explicit mono pdf… command.
November 16th, 2007 at 15:00
BTW, Dave, I had already heard from some people who had gotten it running under linux, so I assumed it would work for other people. There are always glitches, unfortunately, and I’m sorry you had to deal with them.
January 7th, 2008 at 16:05
I have a little success in running glosser under Linux.
Looks like glosser fails to open windows under Linux, but parsing and glossing server runs ok.
So, I did the following:
Runned parser in background
> ./runparser &
and opened lojgloss.htm in browser
> htmlview lojgloss.htm
And everything worked.
June 29th, 2008 at 12:50
Double-clicking pdf23ds.Lojgloss.exe in the 2.0.1 folder produces the “Application Error” message “The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.”
July 4th, 2008 at 10:43
2.02 like 2.01 when executed only displays the message “The application failed to initialize properly (0xc0000135).”