Things that need to be done to the external compiler and how I intend to do them

Make it work
  rewrite the external to intermediate format translator
    
  
  
  write the intermediate to external translator


to rewrite the external to intermediate translator

	to do this, the external translator has to do full syntax checking.

	It has to be able to support the full syntax of the parser so
	it has to be recrusive just like the parser.

	The needs to be a get next word function to get the next token to
	consider in the translation

	need support for dictionaries and multiple rule sections
	need to keep track of the line number for error reporting

functions needed

convert_rules
	copies rule section headers to the .par file

convert_rule_header
	converts the rule header information (language, modeflags, dict flags)...

convert_rule
	converts the rule into intermediate syntax.
		changes the words (replace, optional, insert) to proper internal format
		changes { to /
		changes >> to /
		changes } to /
	calls it self when it encounters a sub rule

convert_string
	converts string types

convert_standard
	converts standard type specifiers

convert_digit
	converts digit specifiers

convert_set
	converts sets

convert_action
	action_replace
		copies the replacement string for replacement

	action_insert
		copies the replacement string for replacement
	action_after
		copies the replacement string for replacement
	action_before
		copies the replacement string for replacement

	action_delete
		does nothing

	action_copy
		does nothing

	action_macro
		does nothing

	action_rule_dict
		converts the hit part(calls convert_rule), adds a |, 
		converts the miss part(calls convert rule)

	action_shuffle
		does nothing

convert_dictionaries
	copies the [DICT,<dict name>]

convert_dict
	copies the data from the input file to the output file



to write the intermediate to external translator

	again need a recursive algorithm to to the translation
