Genlex man page on OpenSuSE

Man page or keyword search:  
man Server   25941 pages
apropos Keyword Search (all sections)
Output format
OpenSuSE logo
[printable version]

Genlex(3)			 OCaml library			     Genlex(3)

NAME
       Genlex - A generic lexical analyzer.

Module
       Module	Genlex

Documentation
       Module Genlex
	: sig end

       A generic lexical analyzer.

       This  module  implements	 a  simple ``standard'' lexical analyzer, pre‐
       sented as a function from character streams to token streams. It imple‐
       ments roughly the lexical conventions of OCaml, but is parameterized by
       the set of keywords of your language.

       Example: a lexer suitable for a desk  calculator	 is  obtained  by  let
       lexer = make_lexer ["+";"-";"*";"/";"let";"="; ( ; ) ]

       The  associated	parser	would  be a function from token stream to, for
       instance, int , and would have rules such as:

       let parse_expr = parser [< 'Int n >] -> n | [< 'Kwd ( ; n = parse_expr;
       'Kwd  )	>] -> n | [< n1 = parse_expr; n2 = parse_remainder n1 >] -> n2
       and parse_remainder n1 = parser [< 'Kwd + ; n2 = parse_expr >] -> n1+n2
       | ...

       One  should  notice  that  the use of the parser keyword and associated
       notation for streams are only available through camlp4 extensions. This
       means  that  one	 has  to preprocess its sources e. g. by using the -pp
       command-line switch of the compilers.

       type token =
	| Kwd of string
	| Ident of string
	| Int of int
	| Float of float
	| String of string
	| Char of char

       The type of tokens. The lexical classes are: Int and Float for  integer
       and  floating-point  numbers;  String  for string literals, enclosed in
       double quotes; Char for character literals, enclosed in single  quotes;
       Ident for identifiers (either sequences of letters, digits, underscores
       and quotes, or sequences of ``operator characters'' such as  +  ,  *  ,
       etc);  and  Kwd	for  keywords  (either identifiers or single ``special
       characters'' such as ( , } , etc).

       val make_lexer : string list -> char Stream.t -> token Stream.t

       Construct the lexer function. The first argument is the	list  of  key‐
       words.  An identifier s is returned as Kwd s if s belongs to this list,
       and as Ident s otherwise.  A special character s is returned as	Kwd  s
       if  s  belongs  to  this	 list,	and  cause  a lexical error (exception
       Parse_error ) otherwise. Blanks and  newlines  are  skipped.   Comments
       delimited by (* and *) are skipped as well, and can be nested.

OCamldoc			  2013-09-28			     Genlex(3)
[top]

List of man pages available for OpenSuSE

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net