DEFINITION LayLa2S; (* portable *)

 IMPORT Texts, Layouts;

 CONST (* symbol constants *)
  null = 0;
  (* special caracters *)
  equal = 4; lbrak = 6; rbrak = 7;
  (* argument types *)
  String = 20; Int = 21; Real = 22; Char = 23; Bool = 24; Qualident = 28; Ident = 29;
  (* operators *)
  Config = 30; New = 31; HList = 32; VList = 33; Table = 34; Place = 35;
  Contents = 36; Deep = 37; Shallow = 38; Include = 39; End = 40;
  Def = 41; Params = 42; Layout = 43; Attributes = 44; Links = 45;
  Virtual = 46; Default = 47; Break = 48; Span = 49;
  (* special values *)
  Left = Layouts.Left; Right = Layouts.Right; Bottom = Layouts.Bottom; Top = Layouts.Top;
  Center = Layouts.Center; Static = Layouts.Static; Dynamic = Layouts.Dynamic;
  Hor = Layouts.Hor; Vert = Layouts.Vert;

 VAR 
  error: BOOLEAN;
  eot: BOOLEAN;
  s: ARRAY  256 OF CHAR;
  ident: ARRAY  64 OF CHAR;
  int: LONGINT;
  real: REAL;
  char: CHAR;
  bool: BOOLEAN;
 PROCEDURE Pos (): LONGINT;
 PROCEDURE Mark (pos: LONGINT; t: ARRAY OF CHAR);
 PROCEDURE Get (VAR sym: INTEGER);
 PROCEDURE OpenText (text: Texts.Text; pos: LONGINT);
 PROCEDURE Init;

END LayLa2S.