contents
 

lim_test Scanner test program


'lim_test' scans the given source file and lists the tokens on stdout. The source file must be conform with the language parameter. It uses the image file of the scanner table [Language.lim].

Arguments


NameTypeSemantic
Language name language name
FileName path path of source file to scan



Options

An option will be specified as follows: -<Name>=<Value>
A flag is toggled that way: -<Name>
The default value will be applied when the option wasn't specified.

NameTypeDefault valueSemantic
charset string"" source file character set ( UTF-8, UCS4, ... )
binmode flagfalse scan source file in binary mode ( not with charset-option )
wprint flagfalse unicode output ( on non-default character set )
prepar string"" standard preprocessing: yes or list index~value , ...
premac string"" standard preprocessing: pre-defined macro , ...
prefun string"" user-defined preprocessing: Function@Library ( not with prepar-option )
tokens flagtrue create list of all scanned tokens
symbols flagfalse create list of all symbols in the internal symbol table

The options 'prepar' and 'premac' are only useful with styx-like preprocessing.

If your language uses the same preprocessing directives as specified in [styx.sty], but differnt macro token identifiers and keywords, the option 'prepar' can be used to enable preprocessing and specify the differences as a comma separated list:

  1. 0~name of identifier token
  2. 1~name of macro definition token
  3. 2~name of argument separator token
  4. 3~name of include token
  5. 4~name of conditional token
  6. 5~#macro keyword
  7. 6~#end keyword
  8. 7~#ifdef keyword
  9. 8~#ifndef keyword
  10. 9~#else keyword
  11. 10~#include keyword
  12. 11~environment variable or path list as search path for include files
  13. 12~include file character set ( default: charset-option )

The option 'premac' supports pre-defined macros in connection with styx-like preprocessing.

Dynamic library support is a prerequisite for the user-defined callback handler.

Environment

An environment variable will be specified as followed: -<Name>=<Value>
The default value will be applied when no environment variable was specified.

NameTypeDefault valueSemantic
PATH path search path for [Language.lim]