This directory is provisional, when the parser is finished maybe it will be
moved to another directory. Maybe even we'll get ride of the Purdue compiler
tools, but by now it's quite easy to redefine the parser changing the EBNF
grammar file lyx3.g.

This is a very simplified grammar compared with the distributed last year.
Now it only recognizes LaTeX tokens. The task to understand them
(semantic analisys) is a LyX' job.

Alejandro, 980515.
----------------------------------------------------------------------------

LyX file format 3.0 Kit
=======================


Files included in the kit
-------------------------

	lyx3.g		Experimental LyX3 EBNF Grammar, used to produce 
	                the source code of the parser.
			
	maketables.pl   Perl program to generate the keyword tables from
			lyx3_tables. Produces lyx3_kwtab.cpp/h.
			
			[No more included. Now the tables will be built
			 using information from the layout files.
			 The only hardcoded entries in the table will
			 be things like font styles or standard document
			 structure tokens. Alejandro]
			
	LString.[Ch]	Taken from LyX sources
	
	test.lyx        Test file. 
	
	t               Executable file (not included). Try it with the 
	                included test file or any LaTeX file in this way:
			
			t < test.lyx 
			
			To redirect the output use 2>&1 since its output
			is to stderr.
			
			This is only a test file. My original plan was
			to use the lyxserver to test the parser. Now I
			think that after tested should be linked to LyX.
	 	
	makefile	To generate the pccts source files (included) and
	                the executable t.


This is a preliminary and experimental stuff. We should at least to support
what is already supported by LyX. Besides to serve us to simplify and
complete the grammar file, it will be useful as a reference for future
developers.

This is just a recognizer but to get a real parser we just need one step
further: a connection with the LyX' kernel. In practice we need some more
steps, as to connect with the layout tables.

If you want to play with the grammar you'll need also the PCCTS tools. The
PCCTS tools are not maintained since almost 2 years ago, but there is a
maintenance release where several bugs have been fixed and has some
enhancements. I recommend to use that one since that's what we are using to
produce the sources: http://www.mcs.net/~tmoog/pccts.html

Enjoy!


Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>


