Logiweb(TM)

Logiweb extract of lgc

Up Help

Table of contents

Date of publication
Bibliography
Definitions
Charges

Date of publication

GRD-2009-11-13.UTC:10:36:36.029114 (Gregorian Date / Universal Coordinated Time)
MJD-55148.TAI:10:37:10.029114 (Modified Julian Day / International Atomic Time)
LGT-4764825430029114e-6 (Logiweb Time)

Bibliography

[0] lgc (010B8CEF872E4CAE653DCBA950DA8437DE154147ADBAE6B1F9D5B2BB0806)
[1] base (01AB1F51C8C17606A5C0331B5689B4858C796547B9A0A4AEF0BCB2BB0806)

Definitions

lgc

Index 0 of page lgc

lgcdef lgcname of lgc as "lgc" enddef

lgcdef lgccharge of lgc as "0" enddef

late define " as " end define

Index 1 of page lgc

lgcdef lgcname of late define lgcvar as lgcvar end define as "late define ""! as ""! end define" enddef

Define tex show of late define x as y end define as " [ "[ texshow x end texshow ][" \stackrel{\bullet\bullet}{=} "[ y ]" ]"] end define

define macro of late define u as v end define as \ x . expand ( quote macro define late define u as v end define as eager define u as v end define end define end quote , x ) end define

lgcdef lgccharge of late define lgcvar as lgcvar end define as "0" enddef

lgc-get-events ( " )

Index 2 of page lgc

lgcdef lgcname of lgc-get-events ( lgcvar ) as "lgc-get-events ( ""! )" enddef

define value of lgc-get-events ( s ) as norm [s is val : [s [[ !"events" ]]]] end define

lgcdef lgccharge of lgc-get-events ( lgcvar ) as "0" enddef

lgc-set-events ( " , " )

Index 3 of page lgc

lgcdef lgcname of lgc-set-events ( lgcvar , lgcvar ) as "lgc-set-events ( ""! , ""! )" enddef

define value of lgc-set-events ( s , E ) as norm [s is val : [E is val : [s [[ !"events" -> E ]]]]] end define

lgcdef lgccharge of lgc-set-events ( lgcvar , lgcvar ) as "0" enddef

lgc-clr-events ( " )

Index 4 of page lgc

lgcdef lgcname of lgc-clr-events ( lgcvar ) as "lgc-clr-events ( ""! )" enddef

define value of lgc-clr-events ( s ) as norm [s is val : lgc-set-events ( s , true )] end define

lgcdef lgccharge of lgc-clr-events ( lgcvar ) as "0" enddef

lgc-push-event ( " , " )

Index 5 of page lgc

lgcdef lgcname of lgc-push-event ( lgcvar , lgcvar ) as "lgc-push-event ( ""! , ""! )" enddef

define value of lgc-push-event ( s , e ) as norm [s is val : [e is val : push ( s , !"events" , e )]] end define

lgcdef lgccharge of lgc-push-event ( lgcvar , lgcvar ) as "0" enddef

lgc-do-events ( " )

Index 6 of page lgc

lgcdef lgcname of lgc-do-events ( lgcvar ) as "lgc-do-events ( ""! )" enddef

define value of lgc-do-events ( s ) as norm [s is val : reverse ( lgc-get-events ( s ) )] end define

lgcdef lgccharge of lgc-do-events ( lgcvar ) as "0" enddef

lgc-exec ( " )

Index 7 of page lgc

lgcdef lgcname of lgc-exec ( lgcvar ) as "lgc-exec ( ""! )" enddef

define macro of lgc-exec ( f ) as \ x . expand ( quote macro define lgc-exec ( f ) as exec request ( true , map ( \ s . \ x . f ) apply [lgc-clr-events ( s ) maptag] ) end define end quote , x ) end define

lgcdef lgccharge of lgc-exec ( lgcvar ) as "0" enddef

lgc-exec-events ( " , " )

Index 8 of page lgc

lgcdef lgcname of lgc-exec-events ( lgcvar , lgcvar ) as "lgc-exec-events ( ""! , ""! )" enddef

define macro of lgc-exec-events ( s , f ) as \ x . expand ( quote macro define lgc-exec-events ( s , f ) as newline reverse ( lgc-exec ( f ) :: lgc-get-events ( s ) ) end define end quote , x ) end define

lgcdef lgccharge of lgc-exec-events ( lgcvar , lgcvar ) as "0" enddef

lgc-main

Index 9 of page lgc

lgcdef lgcname of lgc-main as "lgc-main" enddef

define value of lgc-main as norm map ( \ x . lgc-config-1 ( x ) ) end define

lgcdef lgccharge of lgc-main as "0" enddef

lgc-config-1 ( " )

Index 10 of page lgc

lgcdef lgcname of lgc-config-1 ( lgcvar ) as "lgc-config-1 ( ""! )" enddef

define value of lgc-config-1 ( x ) as norm [x is val : LET true [[ !"init" -> x ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-process-parameters ( s ) BE [asterisk IN LET asterisk BE [t IN LET lgc-tilde-expand ( t [[ !"siteconfig" ]] head , t ) BE [asterisk IN LET asterisk BE [n IN LET s [[ !"nsiteconfig" -> n ]] BE [asterisk IN LET asterisk BE [s IN [extend request ( lgcio ( true ) , lgcio-interface ) :: [unixTime :: [fileGetCwd :: [fileType ( n ) :: [exec request ( true , map ( \ s . \ x . lgc-config-2 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: <<>>]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-config-1 ( lgcvar ) as "0" enddef

lgc-config-2 ( " , " )

Index 11 of page lgc

lgcdef lgcname of lgc-config-2 ( lgcvar , lgcvar ) as "lgc-config-2 ( ""! , ""! )" enddef

define value of lgc-config-2 ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [d IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [u IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET s [[ !"time" -> parse-unixTime ( u ) ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ !"cwd" -> d ]] BE [asterisk IN LET asterisk BE [s IN if f head != [%% %2 %5 %8] then lgc-config-4 ( s ) else [fileRead ( s [[ !"nsiteconfig" ]] ) :: [exec request ( true , map ( \ s . \ x . lgc-config-3 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-config-2 ( lgcvar , lgcvar ) as "0" enddef

lgc-config-3 ( " , " )

Index 12 of page lgc

lgcdef lgcname of lgc-config-3 ( lgcvar , lgcvar ) as "lgc-config-3 ( ""! , ""! )" enddef

define value of lgc-config-3 ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET s [[ !"siteconfig" -> f ]] BE [asterisk IN LET asterisk BE [s IN lgc-config-4 ( s )]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-config-3 ( lgcvar , lgcvar ) as "0" enddef

lgc-config-4 ( " )

Index 13 of page lgc

lgcdef lgcname of lgc-config-4 ( lgcvar ) as "lgc-config-4 ( ""! )" enddef

define value of lgc-config-4 ( s ) as norm [s is val : LET lgc-process-parameters ( s ) BE [asterisk IN LET asterisk BE [t IN LET lgc-tilde-expand ( t [[ !"userconfig" ]] head , t ) BE [asterisk IN LET asterisk BE [n IN LET s [[ !"nuserconfig" -> n ]] BE [asterisk IN LET asterisk BE [s IN [fileType ( n ) :: [exec request ( true , map ( \ s . \ x . lgc-config-5 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: <<>>]]]]]]]]] end define

lgcdef lgccharge of lgc-config-4 ( lgcvar ) as "0" enddef

lgc-config-5 ( " , " )

Index 14 of page lgc

lgcdef lgcname of lgc-config-5 ( lgcvar , lgcvar ) as "lgc-config-5 ( ""! , ""! )" enddef

define value of lgc-config-5 ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN if f head != [%% %2 %5 %8] then lgc-process-query ( s ) else [fileRead ( s [[ !"nuserconfig" ]] ) :: [exec request ( true , map ( \ s . \ x . lgc-config-6 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-config-5 ( lgcvar , lgcvar ) as "0" enddef

lgc-config-6 ( " , " )

Index 15 of page lgc

lgcdef lgcname of lgc-config-6 ( lgcvar , lgcvar ) as "lgc-config-6 ( ""! , ""! )" enddef

define value of lgc-config-6 ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET s [[ !"userconfig" -> f ]] BE [asterisk IN LET asterisk BE [s IN lgc-process-query ( s )]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-config-6 ( lgcvar , lgcvar ) as "0" enddef

lgc-tilde-expand ( " , " )

Index 16 of page lgc

lgcdef lgcname of lgc-tilde-expand ( lgcvar , lgcvar ) as "lgc-tilde-expand ( ""! , ""! )" enddef

define value of lgc-tilde-expand ( n , t ) as norm [n is val : [t is val : if n then true else if vector-head ( n ) != ["~" - NULL] then n else [t [[ "home" ]] :: vector-tail ( n )]]] end define

lgcdef lgccharge of lgc-tilde-expand ( lgcvar , lgcvar ) as "0" enddef

lgc-default-leap

Index 17 of page lgc

lgcdef lgcname of lgc-default-leap as "lgc-default-leap" enddef

define value of lgc-default-leap as norm [[!"GRD-2008-12-31+1"] :: [[!"GRD-2005-12-31+1"] :: [[!"GRD-1998-12-31+1"] :: [[!"GRD-1997-06-30+1"] :: [[!"GRD-1995-12-31+1"] :: [[!"GRD-1994-06-30+1"] :: [[!"GRD-1993-06-30+1"] :: [[!"GRD-1992-06-30+1"] :: [[!"GRD-1990-12-31+1"] :: [[!"GRD-1989-12-31+1"] :: [[!"GRD-1987-12-31+1"] :: [[!"GRD-1985-06-30+1"] :: [[!"GRD-1983-06-30+1"] :: [[!"GRD-1982-06-30+1"] :: [[!"GRD-1981-06-30+1"] :: [[!"GRD-1979-12-31+1"] :: [[!"GRD-1978-12-31+1"] :: [[!"GRD-1977-12-31+1"] :: [[!"GRD-1976-12-31+1"] :: [[!"GRD-1975-12-31+1"] :: [[!"GRD-1974-12-31+1"] :: [[!"GRD-1973-12-31+1"] :: [[!"GRD-1972-12-31+1"] :: [[!"GRD-1972-06-30+1"] :: <<>>]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-default-leap as "0" enddef

lgc-default-options

Index 18 of page lgc

lgcdef lgcname of lgc-default-options as "lgc-default-options" enddef

define value of lgc-default-options as norm [true [[ !"leap" -> lgc-default-leap ]] [[ !"siteconfig" -> [!"/etc/logiweb/lgc.conf"] :: <<>> ]] [[ !"userconfig" -> [!"~/.logiweb/lgc.conf"] :: <<>> ]] [[ !"path" -> [!"~/.logiweb/logiweb/:/rack.lgr"] :: <<>> ]] [[ !"rendering" -> [!"~/.logiweb/logiweb/:/"] :: <<>> ]] [[ !"link" -> [!":"] :: [[!"~/.logiweb/name/:"] :: <<>>] ]] [[ !"namepath" -> [!"~/.logiweb/name/:/rack.lgr"] :: <<>> ]] [[ !"newline" -> [!"LF"] :: <<>> ]] [[ !"script" -> [!"#!/usr/bin/lgwam script"] :: <<>> ]] [[ !"verbose" -> [!"3"] :: <<>> ]] [[ !"options" -> [!"no"] :: <<>> ]] [[ !"help" -> [!"no"] :: <<>> ]] [[ !"help2" -> [!"no"] :: <<>> ]] [[ !"help3" -> [!"no"] :: <<>> ]] [[ !"version" -> [!"no"] :: <<>> ]] [[ !"license" -> [!"no"] :: <<>> ]]] end define

lgcdef lgccharge of lgc-default-options as "0" enddef

lgc-process-argv ( " , " )

Index 19 of page lgc

lgcdef lgcname of lgc-process-argv ( lgcvar , lgcvar ) as "lgc-process-argv ( ""! , ""! )" enddef

define value of lgc-process-argv ( v , t ) as norm [v is val : [t is val : if v atom then t else LET v BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if vector-prefix ( a , 2 ) = !"--" then LET lgc-process-long-argv ( vector-suffix ( a , 2 ) , t ) BE [asterisk IN LET asterisk BE [l IN lgc-process-argv ( v , l )]] else if vector-prefix ( a , 1 ) = !"-" then lgc-process-short-argv ( vector-suffix ( a , 1 ) , !"-" , v , t ) else if vector-prefix ( a , 2 ) = !"++" then lgc-process-short-argv ( vector-suffix ( a , 2 ) , !"++" , v , t ) else if vector-prefix ( a , 1 ) = !"+" then lgc-process-short-argv ( vector-suffix ( a , 1 ) , !"+" , v , t ) else lgc-process-argv ( v , t [[ !"source" -> a :: <<>> ]] )]]]]]]]]]] end define

lgcdef lgccharge of lgc-process-argv ( lgcvar , lgcvar ) as "0" enddef

lgc-argv-short-to-long

Index 20 of page lgc

lgcdef lgcname of lgc-argv-short-to-long as "lgc-argv-short-to-long" enddef

define value of lgc-argv-short-to-long as norm [true [[ !"s" -> !"siteconfig" ]] [[ !"u" -> !"userconfig" ]] [[ !"p" -> !"path" ]] [[ !"n" -> !"namepath" ]] [[ !"r" -> !"rendering" ]] [[ !"l" -> !"link" ]] [[ !"o" -> !"option" ]] [[ !"h" -> !"help" ]] [[ !"H" -> !"help2" ]] [[ !"v" -> !"verbose" ]]] end define

lgcdef lgccharge of lgc-argv-short-to-long as "0" enddef

lgc-process-short-argv ( " , " , " , " )

Index 21 of page lgc

lgcdef lgcname of lgc-process-short-argv ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-process-short-argv ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-process-short-argv ( k , a , v , t ) as norm [k is val : [a is val : [v is val : [t is val : LET lgc-argv-short-to-long [[ k ]] BE [asterisk IN LET asterisk BE [k prime IN LET if k prime != true then k prime else k BE [asterisk IN LET asterisk BE [k IN lgc-process-argv ( v tail , lgc-process-assignment ( k , a , v head , t ) )]]]]]]]] end define

lgcdef lgccharge of lgc-process-short-argv ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-split-long-arg ( " )

Index 22 of page lgc

lgcdef lgcname of lgc-split-long-arg ( lgcvar ) as "lgc-split-long-arg ( ""! )" enddef

define value of lgc-split-long-arg ( a ) as norm [a is val : if a = !"". then 0 else if vector-prefix ( a , 1 ) = !"=" then 0 else if vector-prefix ( a , 1 ) = !"+" then 0 else [1 + lgc-split-long-arg ( vector-suffix ( a , 1 ) )]] end define

lgcdef lgccharge of lgc-split-long-arg ( lgcvar ) as "0" enddef

lgc-argv-downcase ( " )

Index 23 of page lgc

lgcdef lgcname of lgc-argv-downcase ( lgcvar ) as "lgc-argv-downcase ( ""! )" enddef

define value of lgc-argv-downcase ( a ) as norm [a is val : bt2vector ( lgc-argv-downcase1 ( vector2byte* ( a ) ) )] end define

lgcdef lgccharge of lgc-argv-downcase ( lgcvar ) as "0" enddef

lgc-argv-downcase1 ( " )

Index 24 of page lgc

lgcdef lgcname of lgc-argv-downcase1 ( lgcvar ) as "lgc-argv-downcase1 ( ""! )" enddef

define value of lgc-argv-downcase1 ( a ) as norm [a is val : if a atom then true else LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN [lgc-argv-downcase2 ( c ) :: lgc-argv-downcase1 ( a )]]]]]]]]]] end define

lgcdef lgccharge of lgc-argv-downcase1 ( lgcvar ) as "0" enddef

lgc-argv-downcase2 ( " )

Index 25 of page lgc

lgcdef lgcname of lgc-argv-downcase2 ( lgcvar ) as "lgc-argv-downcase2 ( ""! )" enddef

define value of lgc-argv-downcase2 ( c ) as norm [c is val : if c < [[!"A"] - NULL] then c else if c > [[!"Z"] - NULL] then c else [[c - !"A"] + !"a"]] end define

lgcdef lgccharge of lgc-argv-downcase2 ( lgcvar ) as "0" enddef

lgc-process-long-argv ( " , " )

Index 26 of page lgc

lgcdef lgcname of lgc-process-long-argv ( lgcvar , lgcvar ) as "lgc-process-long-argv ( ""! , ""! )" enddef

define value of lgc-process-long-argv ( a , t ) as norm [a is val : [t is val : LET lgc-split-long-arg ( a ) BE [asterisk IN LET asterisk BE [p IN LET lgc-argv-downcase ( vector-prefix ( a , p ) ) BE [asterisk IN LET asterisk BE [k IN LET vector-suffix ( a , p ) BE [asterisk IN LET asterisk BE [a IN if a = !"". then t [[ k -> true ]] else if vector-prefix ( a , 1 ) = !"=" then lgc-process-assignment ( k , !"-" , vector-suffix ( a , 1 ) , t ) else if vector-prefix ( a , 2 ) = !"++" then lgc-process-assignment ( k , !"++" , vector-suffix ( a , 2 ) , t ) else lgc-process-assignment ( k , !"+" , vector-suffix ( a , 1 ) , t )]]]]]]]] end define

lgcdef lgccharge of lgc-process-long-argv ( lgcvar , lgcvar ) as "0" enddef

lgc-process-assignment ( " , " , " , " )

Index 27 of page lgc

lgcdef lgcname of lgc-process-assignment ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-process-assignment ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-process-assignment ( k , a , v , t ) as norm [k is val : [a is val : [v is val : [t is val : if a = !"-" then t [[ k -> v :: <<>> ]] else if a = !"+" then t [[ k -> v :: [t [[ k ]]] ]] else [t [[ k -> append ( t [[ k ]] , v :: <<>> ) ]]]]]]] end define

lgcdef lgccharge of lgc-process-assignment ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-process-env ( " , " )

Index 28 of page lgc

lgcdef lgcname of lgc-process-env ( lgcvar , lgcvar ) as "lgc-process-env ( ""! , ""! )" enddef

define value of lgc-process-env ( v , t ) as norm [v is val : [t is val : if v atom then t else LET v BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if lgc-argv-downcase ( vector-prefix ( a , 4 ) ) = !"lgc_" then LET lgc-process-long-argv ( vector-suffix ( a , 4 ) , t ) BE [asterisk IN LET asterisk BE [l IN lgc-process-env ( v , l )]] else if lgc-argv-downcase ( vector-prefix ( a , 5 ) ) = !"home=" then lgc-process-env ( v , lgc-process-long-argv ( a , t ) ) else lgc-process-env ( v , t )]]]]]]]]]] end define

lgcdef lgccharge of lgc-process-env ( lgcvar , lgcvar ) as "0" enddef

lgc-process-lines ( " , " )

Index 29 of page lgc

lgcdef lgcname of lgc-process-lines ( lgcvar , lgcvar ) as "lgc-process-lines ( ""! , ""! )" enddef

define value of lgc-process-lines ( l , t ) as norm [l is val : [t is val : if l atom then t else LET l BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [l IN LET lgc-process-long-argv ( a , t ) BE [asterisk IN LET asterisk BE [t IN lgc-process-lines ( l , t )]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-process-lines ( lgcvar , lgcvar ) as "0" enddef

lgc-file2lines ( " )

Index 30 of page lgc

lgcdef lgcname of lgc-file2lines ( lgcvar ) as "lgc-file2lines ( ""! )" enddef

define value of lgc-file2lines ( f ) as norm [f is val : lgc-file2lines1 ( f , true , true )] end define

lgcdef lgccharge of lgc-file2lines ( lgcvar ) as "0" enddef

lgc-file2lines1 ( " , " , " )

Index 31 of page lgc

lgcdef lgcname of lgc-file2lines1 ( lgcvar , lgcvar , lgcvar ) as "lgc-file2lines1 ( ""! , ""! , ""! )" enddef

define value of lgc-file2lines1 ( f , l , b ) as norm [f is val : [l is val : [b is val : if f atom then reverse ( lgc-add-line-to-lines ( b , l ) ) else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if [c = LF] .or. [c = CR] then lgc-file2lines1 ( f , lgc-add-line-to-lines ( b , l ) , true ) else lgc-file2lines1 ( f , l , c :: b )]]]]]]]]]]] end define

lgcdef lgccharge of lgc-file2lines1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-add-line-to-lines ( " , " )

Index 32 of page lgc

lgcdef lgcname of lgc-add-line-to-lines ( lgcvar , lgcvar ) as "lgc-add-line-to-lines ( ""! , ""! )" enddef

define value of lgc-add-line-to-lines ( b , l ) as norm [b is val : [l is val : LET reverse ( b ) BE [asterisk IN LET asterisk BE [b IN if b atom then l else if b head = !"#" then l else [vt2vector ( b ) :: l]]]]] end define

lgcdef lgccharge of lgc-add-line-to-lines ( lgcvar , lgcvar ) as "0" enddef

lgc-process-file ( " , " )

Index 33 of page lgc

lgcdef lgcname of lgc-process-file ( lgcvar , lgcvar ) as "lgc-process-file ( ""! , ""! )" enddef

define value of lgc-process-file ( f , t ) as norm [f is val : [t is val : LET lgc-file2lines ( f ) BE [asterisk IN LET asterisk BE [l IN lgc-process-lines ( l , t )]]]] end define

lgcdef lgccharge of lgc-process-file ( lgcvar , lgcvar ) as "0" enddef

lgc-process-parameters ( " )

Index 34 of page lgc

lgcdef lgcname of lgc-process-parameters ( lgcvar ) as "lgc-process-parameters ( ""! )" enddef

define value of lgc-process-parameters ( s ) as norm [s is val : LET s [[ !"init" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [a IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [e IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [c IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET asterisk BE [d IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET lgc-default-options BE [asterisk IN LET asterisk BE [t IN LET lgc-process-lines ( d , t ) BE [asterisk IN LET asterisk BE [t IN LET t [[ !"siteconfig" ]] BE [asterisk IN LET asterisk BE [u IN LET lgc-process-file ( s [[ !"siteconfig" ]] , t ) BE [asterisk IN LET asterisk BE [t IN LET t [[ !"userconfig" ]] BE [asterisk IN LET asterisk BE [v IN LET lgc-process-file ( s [[ !"userconfig" ]] , t ) BE [asterisk IN LET asterisk BE [t IN LET t [[ !"siteconfig" -> u ]] [[ !"userconfig" -> v ]] BE [asterisk IN LET asterisk BE [t IN LET lgc-process-env ( e , t ) BE [asterisk IN LET asterisk BE [t IN LET lgc-process-argv ( a , t ) BE [asterisk IN LET asterisk BE [t IN t]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-process-parameters ( lgcvar ) as "0" enddef

lgc-process-query ( " )

Index 35 of page lgc

lgcdef lgcname of lgc-process-query ( lgcvar ) as "lgc-process-query ( ""! )" enddef

define value of lgc-process-query ( s ) as norm [s is val : LET lgc-process-parameters ( s ) BE [asterisk IN LET asterisk BE [t IN LET s [[ !"parameters" -> t ]] BE [asterisk IN LET asterisk BE [s IN if t [[ !"help" ]] head != !"no" then write request ( lgc-help ) :: <<>> else if t [[ !"help2" ]] head != !"no" then write request ( lgc-help2 ) :: <<>> else if t [[ !"help3" ]] head != !"no" then write request ( lgc-help3 ) :: <<>> else if t [[ !"version" ]] head != !"no" then write request ( lgc-version ) :: <<>> else if t [[ !"license" ]] head != !"no" then write request ( lgc-license ) :: <<>> else if t [[ !"options" ]] head != !"no" then lgc-options ( t ) else LET t [[ !"option" ]] head BE [asterisk IN LET asterisk BE [o IN if [o != true] .and. [o != !"".] then lgc-option ( t [[ o ]] ) else LET t [[ !"verbose" ]] head BE [asterisk IN LET asterisk BE [v IN LET lgc-atoi ( vector2vector* ( v ) , true ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if e then writeln request ( !"Invalid verbosity" ) :: <<>> else LET s [[ !"verbose" -> v ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-process-leap ( s ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN if e then writeln request ( s ) :: <<>> else LET s [[ !"time" -> lgc-unix2lgt ( s [[ !"time" ]] , s ) ]] BE [asterisk IN LET asterisk BE [s IN lgc-lex-1 ( s )]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-process-query ( lgcvar ) as "0" enddef

lgc-help

Index 36 of page lgc

lgcdef lgcname of lgc-help as "lgc-help" enddef

define value of lgc-help as norm !" Logiweb compiler (lgc) Usage: lgc [option]... [source] --siteconfig or -s Location of site configuration file --userconfig or -u Location of user configuration file --path or -p Path for searching pages by reference --namepath or -n Path for searching pages by name --rendering or -r Location of rendering output --link or -l Location of links to rendering output --verbose or -v Set verbosity --option or -o Print given option and exit --help or -h Print present message and exit --help2 or -H Print help on further options Examples: --path=x or -p x Set path to singleton x --path+x or +p x Add x in front of path --path++x or ++p x Add x at end of path --path Set path to the empty list " end define

lgcdef lgccharge of lgc-help as "0" enddef

lgc-help2

Index 37 of page lgc

lgcdef lgcname of lgc-help2 as "lgc-help2" enddef

define value of lgc-help2 as norm !" Logiweb compiler (lgc) Usage: lgc [option]... [source] --help or -h Print help on frequently used options --help2 or -H Print present message --help3 Print help on config file options --version Print version --license Print license --options Print all options --source E.g. 'lgc --source=X' is like 'lgc X' " end define

lgcdef lgccharge of lgc-help2 as "0" enddef

lgc-help3

Index 38 of page lgc

lgcdef lgcname of lgc-help3 as "lgc-help3" enddef

define value of lgc-help3 as norm !" Logiweb compiler (lgc) Usage: lgc [option]... [source] --help or -h Print help on frequently used options --help2 or -H Print help on further options --help3 Print present message and exit The following options typically occur (without hyphens) in configuration files or at the end of scripts. --leap Location of leap seconds --newline Host newline (CR, LF, CRLF, or LFCR) --script Script headline (e.g. #!/usr/bin/lgwam script) " end define

lgcdef lgccharge of lgc-help3 as "0" enddef

lgc-version

Index 39 of page lgc

lgcdef lgcname of lgc-version as "lgc-version" enddef

define value of lgc-version as norm [[!"Logiweb compiler (lgc) version "] :: !"x.x.x "] end define

lgcdef lgccharge of lgc-version as "0" enddef

lgc-license

Index 40 of page lgc

lgcdef lgcname of lgc-license as "lgc-license" enddef

define value of lgc-license as norm !"Logiweb, a system for electronic distribution of mathematics Copyright (C) 2004-2009 Klaus Grue This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed IN the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 021111307 USA Contact: Klaus Grue, DIKU, Universitetsparken 1, DK2100 Copenhagen, Denmark, grue@diku.dk, http://logiweb.eu/, http://www.diku.dk/~grue/ Logiweb is a system for distribution of mathematical definitions, lemmas, and proofs. For more on Logiweb, consult http://logiweb.eu/. " end define

lgcdef lgccharge of lgc-license as "0" enddef

lgc-options ( " )

Index 41 of page lgc

lgcdef lgcname of lgc-options ( lgcvar ) as "lgc-options ( ""! )" enddef

define value of lgc-options ( t ) as norm [t is val : [write request ( reverse ( lgc-options1 ( t , true ) ) ) :: <<>>]] end define

lgcdef lgccharge of lgc-options ( lgcvar ) as "0" enddef

lgc-options1 ( " , " )

Index 42 of page lgc

lgcdef lgcname of lgc-options1 ( lgcvar , lgcvar ) as "lgc-options1 ( ""! , ""! )" enddef

define value of lgc-options1 ( t , r ) as norm [t is val : [r is val : if t atom then r else if t head intp then lgc-options2 ( t tail , LF :: [t head :: r] ) else lgc-options1 ( t head , lgc-options1 ( t tail , r ) )]] end define

lgcdef lgccharge of lgc-options1 ( lgcvar , lgcvar ) as "0" enddef

lgc-options2 ( " , " )

Index 43 of page lgc

lgcdef lgcname of lgc-options2 ( lgcvar , lgcvar ) as "lgc-options2 ( ""! , ""! )" enddef

define value of lgc-options2 ( t , r ) as norm [t is val : [r is val : if t atom then r else lgc-options2 ( t tail , LF :: [t head :: [[!" "] :: r]] )]] end define

lgcdef lgccharge of lgc-options2 ( lgcvar , lgcvar ) as "0" enddef

lgc-option ( " )

Index 44 of page lgc

lgcdef lgcname of lgc-option ( lgcvar ) as "lgc-option ( ""! )" enddef

define value of lgc-option ( s ) as norm [s is val : if s atom then true else [writeln request ( s head ) :: lgc-option ( s tail )]] end define

lgcdef lgccharge of lgc-option ( lgcvar ) as "0" enddef

lgc-seconds-per-minute

Index 45 of page lgc

lgcdef lgcname of lgc-seconds-per-minute as "lgc-seconds-per-minute" enddef

define value of lgc-seconds-per-minute as norm [%% %6 %0] end define

lgcdef lgccharge of lgc-seconds-per-minute as "0" enddef

lgc-seconds-per-day

Index 46 of page lgc

lgcdef lgcname of lgc-seconds-per-day as "lgc-seconds-per-day" enddef

define value of lgc-seconds-per-day as norm [[%% %2 %4 * [%% %6 %0]] * [%% %6 %0]] end define

lgcdef lgccharge of lgc-seconds-per-day as "0" enddef

lgc-minutes-per-hour

Index 47 of page lgc

lgcdef lgcname of lgc-minutes-per-hour as "lgc-minutes-per-hour" enddef

define value of lgc-minutes-per-hour as norm [%% %6 %0] end define

lgcdef lgccharge of lgc-minutes-per-hour as "0" enddef

lgc-hours-per-day

Index 48 of page lgc

lgcdef lgcname of lgc-hours-per-day as "lgc-hours-per-day" enddef

define value of lgc-hours-per-day as norm [%% %2 %4] end define

lgcdef lgccharge of lgc-hours-per-day as "0" enddef

lgc-days-per-month

Index 49 of page lgc

lgcdef lgcname of lgc-days-per-month as "lgc-days-per-month" enddef

define value of lgc-days-per-month as norm [%% %3 %1] end define

lgcdef lgccharge of lgc-days-per-month as "0" enddef

lgc-days-per-dimester

Index 50 of page lgc

lgcdef lgcname of lgc-days-per-dimester as "lgc-days-per-dimester" enddef

define value of lgc-days-per-dimester as norm [%% %3 %1 + [%% %3 %0]] end define

lgcdef lgccharge of lgc-days-per-dimester as "0" enddef

lgc-days-per-quimester

Index 51 of page lgc

lgcdef lgcname of lgc-days-per-quimester as "lgc-days-per-quimester" enddef

define value of lgc-days-per-quimester as norm [[[[%% %3 %1 + [%% %3 %0]] + [%% %3 %1]] + [%% %3 %0]] + [%% %3 %1]] end define

lgcdef lgccharge of lgc-days-per-quimester as "0" enddef

lgc-days-per-year

Index 52 of page lgc

lgcdef lgcname of lgc-days-per-year as "lgc-days-per-year" enddef

define value of lgc-days-per-year as norm [%% %3 %6 %5] end define

lgcdef lgccharge of lgc-days-per-year as "0" enddef

lgc-days-per-olympiad

Index 53 of page lgc

lgcdef lgcname of lgc-days-per-olympiad as "lgc-days-per-olympiad" enddef

define value of lgc-days-per-olympiad as norm [[4 * lgc-days-per-year] + 1] end define

lgcdef lgccharge of lgc-days-per-olympiad as "0" enddef

lgc-days-per-century

Index 54 of page lgc

lgcdef lgcname of lgc-days-per-century as "lgc-days-per-century" enddef

define value of lgc-days-per-century as norm [[%% %2 %5 * lgc-days-per-olympiad] - 1] end define

lgcdef lgccharge of lgc-days-per-century as "0" enddef

lgc-days-per-Gregorian

Index 55 of page lgc

lgcdef lgcname of lgc-days-per-Gregorian as "lgc-days-per-Gregorian" enddef

define value of lgc-days-per-Gregorian as norm [[4 * lgc-days-per-century] + 1] end define

lgcdef lgccharge of lgc-days-per-Gregorian as "0" enddef

lgc-months-per-dimester

Index 56 of page lgc

lgcdef lgcname of lgc-months-per-dimester as "lgc-months-per-dimester" enddef

define value of lgc-months-per-dimester as norm 2 end define

lgcdef lgccharge of lgc-months-per-dimester as "0" enddef

lgc-months-per-quimester

Index 57 of page lgc

lgcdef lgcname of lgc-months-per-quimester as "lgc-months-per-quimester" enddef

define value of lgc-months-per-quimester as norm 5 end define

lgcdef lgccharge of lgc-months-per-quimester as "0" enddef

lgc-months-per-year

Index 58 of page lgc

lgcdef lgcname of lgc-months-per-year as "lgc-months-per-year" enddef

define value of lgc-months-per-year as norm [%% %1 %2] end define

lgcdef lgccharge of lgc-months-per-year as "0" enddef

lgc-month-of-march

Index 59 of page lgc

lgcdef lgcname of lgc-month-of-march as "lgc-month-of-march" enddef

define value of lgc-month-of-march as norm 3 end define

lgcdef lgccharge of lgc-month-of-march as "0" enddef

lgc-years-per-olympiad

Index 60 of page lgc

lgcdef lgcname of lgc-years-per-olympiad as "lgc-years-per-olympiad" enddef

define value of lgc-years-per-olympiad as norm 4 end define

lgcdef lgccharge of lgc-years-per-olympiad as "0" enddef

lgc-years-per-century

Index 61 of page lgc

lgcdef lgcname of lgc-years-per-century as "lgc-years-per-century" enddef

define value of lgc-years-per-century as norm [%% %1 %0 %0] end define

lgcdef lgccharge of lgc-years-per-century as "0" enddef

lgc-years-per-Gregorian

Index 62 of page lgc

lgcdef lgcname of lgc-years-per-Gregorian as "lgc-years-per-Gregorian" enddef

define value of lgc-years-per-Gregorian as norm [%% %4 %0 %0] end define

lgcdef lgccharge of lgc-years-per-Gregorian as "0" enddef

lgc-grd-of-mjd0

Index 63 of page lgc

lgcdef lgcname of lgc-grd-of-mjd0 as "lgc-grd-of-mjd0" enddef

define value of lgc-grd-of-mjd0 as norm [%% %1 %8 %5 %8 :: [%% %1 %1 :: [%% %1 %7 :: <<>>]]] end define

lgcdef lgccharge of lgc-grd-of-mjd0 as "0" enddef

lgc-grd2day ( " )

Index 64 of page lgc

lgcdef lgcname of lgc-grd2day ( lgcvar ) as "lgc-grd2day ( ""! )" enddef

define value of lgc-grd2day ( G ) as norm [G is val : LET G BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [Y IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [M IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [D IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [[lgc-months-per-year * Y] + M] - lgc-month-of-march BE [asterisk IN LET asterisk BE [M IN LET floor ( M , lgc-months-per-year ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [Y IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [M IN LET Y div lgc-years-per-Gregorian BE [asterisk IN LET asterisk BE [g IN LET Y div lgc-years-per-century BE [asterisk IN LET asterisk BE [c IN LET Y div lgc-years-per-olympiad BE [asterisk IN LET asterisk BE [o IN LET floor ( M , lgc-months-per-quimester ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [q IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [M prime IN LET M prime div lgc-months-per-dimester BE [asterisk IN LET asterisk BE [d IN [[[[[[[[D - 1] + [M * lgc-days-per-month]] + [Y * lgc-days-per-year]] - d] - [q * 2]] + o] - c] + g]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-grd2day ( lgcvar ) as "0" enddef

lgc-day-of-mjd0

Index 65 of page lgc

lgcdef lgcname of lgc-day-of-mjd0 as "lgc-day-of-mjd0" enddef

define value of lgc-day-of-mjd0 as norm lgc-grd2day ( lgc-grd-of-mjd0 ) end define

lgcdef lgccharge of lgc-day-of-mjd0 as "0" enddef

lgc-grd2mjd ( " )

Index 66 of page lgc

lgcdef lgcname of lgc-grd2mjd ( lgcvar ) as "lgc-grd2mjd ( ""! )" enddef

define value of lgc-grd2mjd ( G ) as norm [G is val : [lgc-grd2day ( G ) - lgc-day-of-mjd0]] end define

lgcdef lgccharge of lgc-grd2mjd ( lgcvar ) as "0" enddef

lgc-limited-floor ( " , " , " )

Index 67 of page lgc

lgcdef lgcname of lgc-limited-floor ( lgcvar , lgcvar , lgcvar ) as "lgc-limited-floor ( ""! , ""! , ""! )" enddef

define value of lgc-limited-floor ( x , y , l ) as norm [x is val : [y is val : [l is val : LET floor ( x , y ) BE [asterisk IN LET asterisk BE [R IN if R head < l then R else [l :: [x - [l * y]]]]]]]] end define

lgcdef lgccharge of lgc-limited-floor ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-mjd-of-grd-0-03-01

Index 68 of page lgc

lgcdef lgcname of lgc-mjd-of-grd-0-03-01 as "lgc-mjd-of-grd-0-03-01" enddef

define value of lgc-mjd-of-grd-0-03-01 as norm lgc-grd2mjd ( 0 :: [3 :: [1 :: <<>>]] ) end define

lgcdef lgccharge of lgc-mjd-of-grd-0-03-01 as "0" enddef

lgc-mjd2grd ( " )

Index 69 of page lgc

lgcdef lgcname of lgc-mjd2grd ( lgcvar ) as "lgc-mjd2grd ( ""! )" enddef

define value of lgc-mjd2grd ( D ) as norm [D is val : LET D - lgc-mjd-of-grd-0-03-01 BE [asterisk IN LET asterisk BE [D IN LET floor ( D , lgc-days-per-Gregorian ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [g IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET lgc-limited-floor ( D , lgc-days-per-century , 3 ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET floor ( D , lgc-days-per-olympiad ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [o IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET lgc-limited-floor ( D , lgc-days-per-year , 3 ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [Y IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET floor ( D , lgc-days-per-quimester ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [q IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET floor ( D , lgc-days-per-dimester ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [d IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET floor ( D , lgc-days-per-month ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [M IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET M + [d * lgc-months-per-dimester] BE [asterisk IN LET asterisk BE [M IN LET M + [q * lgc-months-per-quimester] BE [asterisk IN LET asterisk BE [M IN LET Y + [o * lgc-years-per-olympiad] BE [asterisk IN LET asterisk BE [Y IN LET Y + [c * lgc-years-per-century] BE [asterisk IN LET asterisk BE [Y IN LET Y + [g * lgc-years-per-Gregorian] BE [asterisk IN LET asterisk BE [Y IN LET M + [Y * lgc-months-per-year] BE [asterisk IN LET asterisk BE [M IN LET floor ( [M + lgc-month-of-march] - 1 , lgc-months-per-year ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [Y IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [M IN [Y :: [[M + 1] :: [[D + 1] :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-mjd2grd ( lgcvar ) as "0" enddef

lgc-parse-prefix ( " , " )

Index 70 of page lgc

lgcdef lgcname of lgc-parse-prefix ( lgcvar , lgcvar ) as "lgc-parse-prefix ( ""! , ""! )" enddef

define value of lgc-parse-prefix ( p , a ) as norm [p is val : [a is val : if p atom then a else if p head != [a head] then exception else lgc-parse-prefix ( p tail , a tail )]] end define

lgcdef lgccharge of lgc-parse-prefix ( lgcvar , lgcvar ) as "0" enddef

lgc-prefix-grd

Index 71 of page lgc

lgcdef lgcname of lgc-prefix-grd as "lgc-prefix-grd" enddef

define value of lgc-prefix-grd as norm vt2vector* ( !"GRD-" ) end define

lgcdef lgccharge of lgc-prefix-grd as "0" enddef

lgc-prefix-hyphen

Index 72 of page lgc

lgcdef lgcname of lgc-prefix-hyphen as "lgc-prefix-hyphen" enddef

define value of lgc-prefix-hyphen as norm vt2vector* ( !"-" ) end define

lgcdef lgccharge of lgc-prefix-hyphen as "0" enddef

lgc-parse-leap ( " )

Index 73 of page lgc

lgcdef lgcname of lgc-parse-leap ( lgcvar ) as "lgc-parse-leap ( ""! )" enddef

define value of lgc-parse-leap ( a ) as norm [a is val : LET lgc-parse-prefix ( lgc-prefix-grd , a ) BE [asterisk IN LET asterisk BE [a IN LET lgc-parse-int ( a ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [Y IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET lgc-parse-prefix ( lgc-prefix-hyphen , a ) BE [asterisk IN LET asterisk BE [a IN LET lgc-parse-int ( a ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [M IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET lgc-parse-prefix ( lgc-prefix-hyphen , a ) BE [asterisk IN LET asterisk BE [a IN LET lgc-parse-int ( a ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET lgc-grd2mjd ( Y :: [M :: [D :: <<>>]] ) BE [asterisk IN LET asterisk BE [D IN LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET lgc-parse-int ( a ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [l IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN if a pairp then exception else if c = !"+" then D :: l else if c = !"-" then D :: - l else exception]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-leap ( lgcvar ) as "0" enddef

lgc-convert-leap ( " )

Index 74 of page lgc

lgcdef lgcname of lgc-convert-leap ( lgcvar ) as "lgc-convert-leap ( ""! )" enddef

define value of lgc-convert-leap ( L ) as norm [L is val : if L atom then true else LET L BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [L IN LET lgc-parse-leap ( vt2vector* ( a ) ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if e then [[!"Invalid leap: "] :: a] raise else [v :: lgc-convert-leap ( L )]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-convert-leap ( lgcvar ) as "0" enddef

lgc-check-leap ( " )

Index 75 of page lgc

lgcdef lgcname of lgc-check-leap ( lgcvar ) as "lgc-check-leap ( ""! )" enddef

define value of lgc-check-leap ( L ) as norm [L is val : if L tail atom then true else if L head head <= [L tail head head] then [!"Leap seconds must be stated in descending order"] raise else lgc-check-leap ( L tail )] end define

lgcdef lgccharge of lgc-check-leap ( lgcvar ) as "0" enddef

lgc-initial-leap

Index 76 of page lgc

lgcdef lgcname of lgc-initial-leap as "lgc-initial-leap" enddef

define value of lgc-initial-leap as norm [%% %1 %0] end define

lgcdef lgccharge of lgc-initial-leap as "0" enddef

lgc-add-leap ( " )

Index 77 of page lgc

lgcdef lgcname of lgc-add-leap ( lgcvar ) as "lgc-add-leap ( ""! )" enddef

define value of lgc-add-leap ( L ) as norm [L is val : lgc-add-leap1 ( reverse ( L ) , lgc-initial-leap , true )] end define

lgcdef lgccharge of lgc-add-leap ( lgcvar ) as "0" enddef

lgc-add-leap1 ( " , " , " )

Index 78 of page lgc

lgcdef lgcname of lgc-add-leap1 ( lgcvar , lgcvar , lgcvar ) as "lgc-add-leap1 ( ""! , ""! , ""! )" enddef

define value of lgc-add-leap1 ( L , U , r ) as norm [L is val : [U is val : [r is val : if L atom then U :: r else LET L BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [D IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [U prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [L IN LET U + [U prime] BE [asterisk IN LET asterisk BE [U IN LET [[D + 1] * lgc-seconds-per-day] + U BE [asterisk IN LET asterisk BE [s IN lgc-add-leap1 ( L , U , [s :: [U prime]] :: r )]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-add-leap1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-process-leap ( " )

Index 79 of page lgc

lgcdef lgcname of lgc-process-leap ( lgcvar ) as "lgc-process-leap ( ""! )" enddef

define value of lgc-process-leap ( s ) as norm [s is val : LET s [[ !"parameters" ]] [[ !"leap" ]] BE [asterisk IN LET asterisk BE [L IN LET lgc-convert-leap ( L ) BE [asterisk IN LET asterisk BE [L IN [lgc-check-leap ( L ) .then. LET lgc-add-leap ( L ) BE [asterisk IN LET asterisk BE [L IN [s [[ !"leap" -> L ]]]]]]]]]]] end define

lgcdef lgccharge of lgc-process-leap ( lgcvar ) as "0" enddef

lgc-ref2lgt ( " )

Index 80 of page lgc

lgcdef lgcname of lgc-ref2lgt ( lgcvar ) as "lgc-ref2lgt ( ""! )" enddef

define value of lgc-ref2lgt ( r ) as norm [r is val : LET vt2vector* ( r ) BE [asterisk IN LET asterisk BE [r IN LET r BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN if v != lgc-ref-version then lgc-panic ( !"Internal error: Wrong version" ) else LET list-suffix ( r , %% %2 %0 ) BE [asterisk IN LET asterisk BE [r IN LET parse-card ( r ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET parse-card ( r ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN [f :: [e :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-ref2lgt ( lgcvar ) as "0" enddef

lgc-lgt2vt ( " )

Index 81 of page lgc

lgcdef lgcname of lgc-lgt2vt ( lgcvar ) as "lgc-lgt2vt ( ""! )" enddef

define value of lgc-lgt2vt ( s ) as norm [s is val : LET s BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [e IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET lgc-itoa ( f ) BE [asterisk IN LET asterisk BE [f IN LET lgc-itoa ( e ) BE [asterisk IN LET asterisk BE [e IN [[!"LGT-"] :: [f :: [[!"e-"] :: [e :: <<>>]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lgt2vt ( lgcvar ) as "0" enddef

lgc-lgt2mjdtai ( " )

Index 82 of page lgc

lgcdef lgcname of lgc-lgt2mjdtai ( lgcvar ) as "lgc-lgt2mjdtai ( ""! )" enddef

define value of lgc-lgt2mjdtai ( s ) as norm [s is val : LET s BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [e IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET floor ( f , exp10 ( e ) ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET floor ( s , lgc-seconds-per-minute ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [m IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN LET floor ( m , lgc-minutes-per-hour ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [h IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [m IN LET floor ( h , lgc-hours-per-day ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [h IN [D :: [h :: [m :: [s :: [f :: [e :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lgt2mjdtai ( lgcvar ) as "0" enddef

lgc-lgt2mjdtai2vt ( " )

Index 83 of page lgc

lgcdef lgcname of lgc-lgt2mjdtai2vt ( lgcvar ) as "lgc-lgt2mjdtai2vt ( ""! )" enddef

define value of lgc-lgt2mjdtai2vt ( s ) as norm [s is val : LET lgc-lgt2mjdtai ( s ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [h IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [m IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [s IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET asterisk BE [e IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET lgc-itoa ( D ) BE [asterisk IN LET asterisk BE [D IN LET lgc-ctoa ( h , 2 ) BE [asterisk IN LET asterisk BE [h IN LET lgc-ctoa ( m , 2 ) BE [asterisk IN LET asterisk BE [m IN LET lgc-ctoa ( s , 2 ) BE [asterisk IN LET asterisk BE [s IN LET if e = 0 then true else [[!"."] :: lgc-ctoa ( f , e )] BE [asterisk IN LET asterisk BE [f IN [[!"MJD-"] :: [D :: [[!".TAI:"] :: [h :: [[!":"] :: [m :: [[!":"] :: [s :: [f :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lgt2mjdtai2vt ( lgcvar ) as "0" enddef

lgc-lgt2utc ( " , " , " )

Index 84 of page lgc

lgcdef lgcname of lgc-lgt2utc ( lgcvar , lgcvar , lgcvar ) as "lgc-lgt2utc ( ""! , ""! , ""! )" enddef

define value of lgc-lgt2utc ( s , U , L ) as norm [s is val : [U is val : [L is val : if L atom then [s - U] :: 0 else LET L BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [s prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [U prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [L IN if s prime <= s then [s - U] :: 0 else if s prime <= [s + [U prime]] then [s - U] :: [U prime] else lgc-lgt2utc ( s , U - [U prime] , L )]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lgt2utc ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lgt2grdutc ( " , " )

Index 85 of page lgc

lgcdef lgcname of lgc-lgt2grdutc ( lgcvar , lgcvar ) as "lgc-lgt2grdutc ( ""! , ""! )" enddef

define value of lgc-lgt2grdutc ( s , S ) as norm [s is val : [S is val : LET S [[ !"leap" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [U IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [L IN LET s BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [e IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET floor ( f , exp10 ( e ) ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET lgc-lgt2utc ( s , U , L ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [l IN LET floor ( s , lgc-seconds-per-minute ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [m IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN LET floor ( m , lgc-minutes-per-hour ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [h IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [m IN LET floor ( h , lgc-hours-per-day ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [h IN LET lgc-mjd2grd ( D ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [Y IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [M IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [D IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN [Y :: [M :: [D :: [h :: [m :: [[s + l] :: [f :: [e :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lgt2grdutc ( lgcvar , lgcvar ) as "0" enddef

lgc-lgt2grdutc2vt ( " , " )

Index 86 of page lgc

lgcdef lgcname of lgc-lgt2grdutc2vt ( lgcvar , lgcvar ) as "lgc-lgt2grdutc2vt ( ""! , ""! )" enddef

define value of lgc-lgt2grdutc2vt ( s , S ) as norm [s is val : [S is val : LET lgc-lgt2grdutc ( s , S ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [Y IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [M IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [D IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [h IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [m IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET asterisk BE [s IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime prime IN LET asterisk BE [e IN LET asterisk prime prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime prime IN LET lgc-itoa ( Y ) BE [asterisk IN LET asterisk BE [Y IN LET lgc-ctoa ( M , 2 ) BE [asterisk IN LET asterisk BE [M IN LET lgc-ctoa ( D , 2 ) BE [asterisk IN LET asterisk BE [D IN LET lgc-ctoa ( h , 2 ) BE [asterisk IN LET asterisk BE [h IN LET lgc-ctoa ( m , 2 ) BE [asterisk IN LET asterisk BE [m IN LET lgc-ctoa ( s , 2 ) BE [asterisk IN LET asterisk BE [s IN LET if e = 0 then true else [[!"."] :: lgc-ctoa ( f , e )] BE [asterisk IN LET asterisk BE [f IN [[!"GRD-"] :: [Y :: [[!"-"] :: [M :: [[!"-"] :: [D :: [[!".UTC:"] :: [h :: [[!":"] :: [m :: [[!":"] :: [s :: [f :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lgt2grdutc2vt ( lgcvar , lgcvar ) as "0" enddef

lgc-lgt2grdutc2v ( " , " )

Index 87 of page lgc

lgcdef lgcname of lgc-lgt2grdutc2v ( lgcvar , lgcvar ) as "lgc-lgt2grdutc2v ( ""! , ""! )" enddef

define value of lgc-lgt2grdutc2v ( s , S ) as norm [s is val : [S is val : vt2vector ( lgc-lgt2grdutc2vt ( s , S ) )]] end define

lgcdef lgccharge of lgc-lgt2grdutc2v ( lgcvar , lgcvar ) as "0" enddef

lgc-unix2lgt ( " , " )

Index 88 of page lgc

lgcdef lgcname of lgc-unix2lgt ( lgcvar , lgcvar ) as "lgc-unix2lgt ( ""! , ""! )" enddef

define value of lgc-unix2lgt ( s , S ) as norm [s is val : [S is val : LET S [[ !"leap" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [U IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [L IN LET s BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [e IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET exp10 ( e ) BE [asterisk IN LET asterisk BE [E IN LET floor ( f , E ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET [s + lgc-lgt-of-unix] + U BE [asterisk IN LET asterisk BE [s IN lgc-unix2lgt1 ( s , f , E , e , L )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-unix2lgt ( lgcvar , lgcvar ) as "0" enddef

lgc-lgt-of-unix

Index 89 of page lgc

lgcdef lgcname of lgc-lgt-of-unix as "lgc-lgt-of-unix" enddef

define value of lgc-lgt-of-unix as norm [lgc-grd2mjd ( %% %1 %9 %7 %0 :: [1 :: [1 :: <<>>]] ) * lgc-seconds-per-day] end define

lgcdef lgccharge of lgc-lgt-of-unix as "0" enddef

lgc-unix2lgt1 ( " , " , " , " , " )

Index 90 of page lgc

lgcdef lgcname of lgc-unix2lgt1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-unix2lgt1 ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-unix2lgt1 ( s , f , E , e , L ) as norm [s is val : [f is val : [E is val : [e is val : [L is val : if L atom then [[s * E] + f] :: [e :: <<>>] else LET L BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [s prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [U prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [L IN LET s - [s prime] BE [asterisk IN LET asterisk BE [d IN if 0 <= d then [[s * E] + f] :: [e :: <<>>] else if 0 <= [d - [2 * [U prime]]] then [[[[%% %1 %0 * [s prime]] + [5 * d]] * E] + [5 * f]] :: [[e + 1] :: <<>>] else if 0 <= [d + [U prime]] then [[[s prime + [2 * d]] * E] + [2 * f]] :: [e :: <<>>] else lgc-unix2lgt1 ( s - [U prime] , f , E , e , L )]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-unix2lgt1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

test-leaps

Index 91 of page lgc

lgcdef lgcname of test-leaps as "test-leaps" enddef

define value of test-leaps as norm [%% %1 %1 :: [[[[6 * [%% %6 %0]] + [%% %1 %1]] :: + 1] :: [[[[4 * [%% %6 %0]] + [%% %1 %0]] :: + 1] :: [[[[2 * [%% %6 %0]] + 9] :: - 1] :: <<>>]]]] end define

lgcdef lgccharge of test-leaps as "0" enddef

test-leapstate

Index 92 of page lgc

lgcdef lgcname of test-leapstate as "test-leapstate" enddef

define value of test-leapstate as norm [true [[ !"leap" -> test-leaps ]]] end define

lgcdef lgccharge of test-leapstate as "0" enddef

test-leapstate2

Index 93 of page lgc

lgcdef lgcname of test-leapstate2 as "test-leapstate2" enddef

define value of test-leapstate2 as norm lgc-process-leap ( true [[ [!"parameters"] :: [[!"leap"] :: <<>>] => lgc-default-leap ]] ) end define

lgcdef lgccharge of test-leapstate2 as "0" enddef

test-leapstate3

Index 94 of page lgc

lgcdef lgcname of test-leapstate3 as "test-leapstate3" enddef

define value of test-leapstate3 as norm lgc-process-leap ( true [[ [!"parameters"] :: [[!"leap"] :: <<>>] => [!"GRD-1970-01-01-1"] :: <<>> ]] ) end define

lgcdef lgccharge of test-leapstate3 as "0" enddef

lgc-lex-1 ( " )

Index 95 of page lgc

lgcdef lgcname of lgc-lex-1 ( lgcvar ) as "lgc-lex-1 ( ""! )" enddef

define value of lgc-lex-1 ( s ) as norm [s is val : LET s [[ !"parameters" ]] [[ !"source" ]] head BE [asterisk IN LET asterisk BE [n IN if n then writeln request ( !"No source file specified" ) :: <<>> else LET lgc-tilde-expand ( n , s [[ !"parameters" ]] ) BE [asterisk IN LET asterisk BE [n IN LET s [[ !"sourcename" -> n ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( lgc-lgt2grdutc2vt ( s [[ !"time" ]] , s ) , 3 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( [!"Reading file:"] :: n , 3 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileTypeRead ( n ) ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-lex-2 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-1 ( lgcvar ) as "0" enddef

lgc-lex-2 ( " , " )

Index 96 of page lgc

lgcdef lgcname of lgc-lex-2 ( lgcvar , lgcvar ) as "lgc-lex-2 ( ""! , ""! )" enddef

define value of lgc-lex-2 ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [t IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN if t = FileTypeRegular then lgc-lex-4 ( f , s ) else LET s [[ !"sourcename" ]] :: !".lgs" BE [asterisk IN LET asterisk BE [n IN LET s [[ !"sourcename" -> n ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( [!"Reading file:"] :: n , 3 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileTypeRead ( n ) ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-lex-3 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-2 ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-3 ( " , " )

Index 97 of page lgc

lgcdef lgcname of lgc-lex-3 ( lgcvar , lgcvar ) as "lgc-lex-3 ( ""! , ""! )" enddef

define value of lgc-lex-3 ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [t IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN if t = FileTypeRegular then lgc-lex-4 ( f , s ) else [writeln request ( !"Source file not found" ) :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-3 ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-4 ( " , " )

Index 98 of page lgc

lgcdef lgcname of lgc-lex-4 ( lgcvar , lgcvar ) as "lgc-lex-4 ( ""! , ""! )" enddef

define value of lgc-lex-4 ( f , s ) as norm [f is val : [s is val : LET s [[ !"source" -> f ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-lex-source ( f , s ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [S IN if e then lgc-error ( s , S head , S tail ) else lgc-include-1 ( S )]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-4 ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-source ( " , " )

Index 99 of page lgc

lgcdef lgcname of lgc-lex-source ( lgcvar , lgcvar ) as "lgc-lex-source ( ""! , ""! )" enddef

define value of lgc-lex-source ( f , s ) as norm [f is val : [s is val : LET LET LET LET LET lgc-lex-position ( f , 0 ) BE [asterisk IN LET asterisk BE [f IN lgc-lex-newline ( f , true )]] BE [asterisk IN LET asterisk BE [f IN lgc-lex-comment1 ( f )]] BE [asterisk IN LET asterisk BE [f IN lgc-lex-escape1 ( f )]] BE [asterisk IN LET asterisk BE [f IN lgc-lex-collect ( f )]] BE [asterisk IN LET asterisk BE [f IN LET lgc-lex-left-trim ( lgc-lex-extract-body ( f ) ) BE [asterisk IN LET asterisk BE [g IN LET s [[ !"body" -> g ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-lex-extract-other ( f , s ) BE [asterisk IN LET asterisk BE [s IN s]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-source ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-position ( " , " )

Index 100 of page lgc

lgcdef lgcname of lgc-lex-position ( lgcvar , lgcvar ) as "lgc-lex-position ( ""! , ""! )" enddef

define value of lgc-lex-position ( f , p ) as norm [f is val : [p is val : if f atom then true else [[f head :: [p :: <<>>]] :: lgc-lex-position ( f tail , p + 1 )]]] end define

lgcdef lgccharge of lgc-lex-position ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-newline ( " , " )

Index 101 of page lgc

lgcdef lgcname of lgc-lex-newline ( lgcvar , lgcvar ) as "lgc-lex-newline ( ""! , ""! )" enddef

define value of lgc-lex-newline ( f , C ) as norm [f is val : [C is val : if f atom then true else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if c >= !" " then [c :: [p :: <<>>]] :: lgc-lex-newline ( f , true ) else if c = C then lgc-lex-newline ( f , true ) else if c = LF then [c :: [p :: <<>>]] :: lgc-lex-newline ( f , CR ) else if c = CR then [LF :: [p :: <<>>]] :: lgc-lex-newline ( f , LF ) else if c = FF then [LF :: [p :: <<>>]] :: lgc-lex-newline ( f , true ) else if c = TAB then [SP :: [p :: <<>>]] :: lgc-lex-newline ( f , true ) else [[p :: [[!"Illegal character: 0x"] :: lgc-string2mixed ( c )]] raise]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-newline ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-comment1 ( " )

Index 102 of page lgc

lgcdef lgcname of lgc-lex-comment1 ( lgcvar ) as "lgc-lex-comment1 ( ""! )" enddef

define value of lgc-lex-comment1 ( f ) as norm [f is val : if f atom then true else if f head head != QQ then f head :: lgc-lex-comment1 ( f tail ) else lgc-lex-comment2 ( f head first , 1 , f tail )] end define

lgcdef lgccharge of lgc-lex-comment1 ( lgcvar ) as "0" enddef

lgc-lex-comment2 ( " , " , " )

Index 103 of page lgc

lgcdef lgcname of lgc-lex-comment2 ( lgcvar , lgcvar , lgcvar ) as "lgc-lex-comment2 ( ""! , ""! , ""! )" enddef

define value of lgc-lex-comment2 ( P , n , f ) as norm [P is val : [n is val : [f is val : if f atom then repeat ( n , QQ :: [P :: <<>>] ) else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if c = QQ then lgc-lex-comment2 ( P , n + 1 , f ) else if [n > 1] .and. [c = !";"] then lgc-lex-comment3 ( f ) else if [n > 1] .and. [c = !"{"] then lgc-lex-comment4 ( P , n , 0 , f ) else append ( repeat ( n , QQ :: [P :: <<>>] ) , [c :: [p :: <<>>]] :: lgc-lex-comment1 ( f ) )]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-comment2 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-comment3 ( " )

Index 104 of page lgc

lgcdef lgcname of lgc-lex-comment3 ( lgcvar ) as "lgc-lex-comment3 ( ""! )" enddef

define value of lgc-lex-comment3 ( f ) as norm [f is val : if f atom then true else if f head head = LF then lgc-lex-comment1 ( f tail ) else lgc-lex-comment3 ( f tail )] end define

lgcdef lgccharge of lgc-lex-comment3 ( lgcvar ) as "0" enddef

lgc-lex-comment4 ( " , " , " , " )

Index 105 of page lgc

lgcdef lgcname of lgc-lex-comment4 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-comment4 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-comment4 ( P , n , m , f ) as norm [P is val : [n is val : [m is val : [f is val : if f atom then [P :: !"End of file in long comment"] raise else if f head head = QQ then lgc-lex-comment4 ( P , n , m + 1 , f tail ) else if [m = n] .and. [f head head = !"}"] then lgc-lex-comment1 ( f tail ) else lgc-lex-comment4 ( P , n , 0 , f tail )]]]] end define

lgcdef lgccharge of lgc-lex-comment4 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-escape1 ( " )

Index 106 of page lgc

lgcdef lgcname of lgc-lex-escape1 ( lgcvar ) as "lgc-lex-escape1 ( ""! )" enddef

define value of lgc-lex-escape1 ( f ) as norm [f is val : if f atom then true else if f head head = QQ then lgc-lex-escape2 ( f head first , f tail ) else [f head :: lgc-lex-escape1 ( f tail )]] end define

lgcdef lgccharge of lgc-lex-escape1 ( lgcvar ) as "0" enddef

lgc-lex-escape2 ( " , " )

Index 107 of page lgc

lgcdef lgcname of lgc-lex-escape2 ( lgcvar , lgcvar ) as "lgc-lex-escape2 ( ""! , ""! )" enddef

define value of lgc-lex-escape2 ( P , f ) as norm [P is val : [f is val : if f atom then [QQ :: [P :: <<>>]] :: true else if f head head = QQ then lgc-lex-escape3 ( P , f tail ) else [[QQ :: [P :: <<>>]] :: lgc-lex-escape1 ( f )]]] end define

lgcdef lgccharge of lgc-lex-escape2 ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-escape3 ( " , " )

Index 108 of page lgc

lgcdef lgcname of lgc-lex-escape3 ( lgcvar , lgcvar ) as "lgc-lex-escape3 ( ""! , ""! )" enddef

define value of lgc-lex-escape3 ( P , f ) as norm [P is val : [f is val : if f atom then [P :: !"End of file in escape sequence"] raise else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if c = QQ then lgc-lex-escape3 ( P , f ) else [[[c - NULL] :: [P :: <<>>]] :: lgc-lex-escape1 ( f )]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-escape3 ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-collect ( " )

Index 109 of page lgc

lgcdef lgcname of lgc-lex-collect ( lgcvar ) as "lgc-lex-collect ( ""! )" enddef

define value of lgc-lex-collect ( f ) as norm [f is val : if f atom then true else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [P IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if c < NULL then lgc-lex-collect1 ( c , P , f ) else if c = SP then [SP :: [P :: <<>>]] :: lgc-lex-space ( f ) else if c = LF then [SP :: [P :: <<>>]] :: lgc-lex-space ( f ) else if c = QQ then lgc-lex-string ( lgc-esc-- , P , true , f ) else [[c :: [P :: <<>>]] :: lgc-lex-collect ( f )]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-collect ( lgcvar ) as "0" enddef

lgc-lex-collect1 ( " , " , " )

Index 110 of page lgc

lgcdef lgcname of lgc-lex-collect1 ( lgcvar , lgcvar , lgcvar ) as "lgc-lex-collect1 ( ""! , ""! , ""! )" enddef

define value of lgc-lex-collect1 ( c , P , f ) as norm [c is val : [P is val : [f is val : if c = lgc-esc-- then lgc-lex-string ( lgc-esc-- , P , true , f ) else if c = lgc-esc-# then lgc-lex-string ( lgc-esc-# , P , true , f ) else if c = lgc-esc-$ then lgc-lex-string ( lgc-esc-$ , P , true , f ) else if c = lgc-esc-P then lgc-lex-page ( P , true , true , f ) else if c = lgc-esc-R then lgc-lex-ref ( P , true , true , f ) else if c = lgc-esc-D then lgc-lex-def ( f ) else if c = lgc-esc-B then lgc-lex-collect ( f ) else if c = lgc-esc-. then [lgc-esc-- :: [P :: '']] :: lgc-lex-collect ( f ) else if c = lgc-esc-S then [lgc-esc-S :: [P :: <<>>]] :: lgc-lex-collect ( f ) else if c = lgc-esc-N then [lgc-esc-N :: [P :: <<>>]] :: lgc-lex-collect ( f ) else if c = lgc-esc-C then [lgc-esc-C :: [P :: <<>>]] :: lgc-lex-collect ( f ) else [[P :: [[!"Unknown escape in body: 0x"] :: lgc-string2mixed ( c + NULL )]] raise]]]] end define

lgcdef lgccharge of lgc-lex-collect1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-left-trim ( " )

Index 111 of page lgc

lgcdef lgcname of lgc-lex-left-trim ( lgcvar ) as "lgc-lex-left-trim ( ""! )" enddef

define value of lgc-lex-left-trim ( a ) as norm [a is val : if a head head = SP then lgc-lex-left-trim ( a tail ) else a] end define

lgcdef lgccharge of lgc-lex-left-trim ( lgcvar ) as "0" enddef

lgc-lex-right-trim ( " )

Index 112 of page lgc

lgcdef lgcname of lgc-lex-right-trim ( lgcvar ) as "lgc-lex-right-trim ( ""! )" enddef

define value of lgc-lex-right-trim ( a ) as norm [a is val : reverse ( lgc-lex-left-trim ( reverse ( a ) ) )] end define

lgcdef lgccharge of lgc-lex-right-trim ( lgcvar ) as "0" enddef

lgc-lex-trim ( " )

Index 113 of page lgc

lgcdef lgcname of lgc-lex-trim ( lgcvar ) as "lgc-lex-trim ( ""! )" enddef

define value of lgc-lex-trim ( a ) as norm [a is val : lgc-lex-right-trim ( lgc-lex-left-trim ( a ) )] end define

lgcdef lgccharge of lgc-lex-trim ( lgcvar ) as "0" enddef

lgc-lex-reverse-contract ( " )

Index 114 of page lgc

lgcdef lgcname of lgc-lex-reverse-contract ( lgcvar ) as "lgc-lex-reverse-contract ( ""! )" enddef

define value of lgc-lex-reverse-contract ( a ) as norm [a is val : lgc-lex-reverse-contract1 ( a , true )] end define

lgcdef lgccharge of lgc-lex-reverse-contract ( lgcvar ) as "0" enddef

lgc-lex-reverse-contract1 ( " , " )

Index 115 of page lgc

lgcdef lgcname of lgc-lex-reverse-contract1 ( lgcvar , lgcvar ) as "lgc-lex-reverse-contract1 ( ""! , ""! )" enddef

define value of lgc-lex-reverse-contract1 ( a , r ) as norm [a is val : [r is val : if a atom then r else LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN if [c head = SP] .and. [r head head = SP] then lgc-lex-reverse-contract1 ( a , r ) else lgc-lex-reverse-contract1 ( a , c :: r )]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-reverse-contract1 ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-contract ( " )

Index 116 of page lgc

lgcdef lgcname of lgc-lex-contract ( lgcvar ) as "lgc-lex-contract ( ""! )" enddef

define value of lgc-lex-contract ( a ) as norm [a is val : reverse ( lgc-lex-reverse-contract ( a ) )] end define

lgcdef lgccharge of lgc-lex-contract ( lgcvar ) as "0" enddef

lgc-lex-reverse-contract* ( " )

Index 117 of page lgc

lgcdef lgcname of lgc-lex-reverse-contract* ( lgcvar ) as "lgc-lex-reverse-contract* ( ""! )" enddef

define value of lgc-lex-reverse-contract* ( a ) as norm [a is val : if a atom then true else [lgc-lex-reverse-contract ( a head ) :: lgc-lex-reverse-contract* ( a tail )]] end define

lgcdef lgccharge of lgc-lex-reverse-contract* ( lgcvar ) as "0" enddef

lgc-lex-contract* ( " )

Index 118 of page lgc

lgcdef lgcname of lgc-lex-contract* ( lgcvar ) as "lgc-lex-contract* ( ""! )" enddef

define value of lgc-lex-contract* ( a ) as norm [a is val : if a atom then true else [lgc-lex-contract ( a head ) :: lgc-lex-contract* ( a tail )]] end define

lgcdef lgccharge of lgc-lex-contract* ( lgcvar ) as "0" enddef

lgc-lex-reverse-trim-contract ( " )

Index 119 of page lgc

lgcdef lgcname of lgc-lex-reverse-trim-contract ( lgcvar ) as "lgc-lex-reverse-trim-contract ( ""! )" enddef

define value of lgc-lex-reverse-trim-contract ( a ) as norm [a is val : lgc-lex-left-trim ( lgc-lex-reverse-contract ( lgc-lex-left-trim ( a ) ) )] end define

lgcdef lgccharge of lgc-lex-reverse-trim-contract ( lgcvar ) as "0" enddef

lgc-lex-trim-contract ( " )

Index 120 of page lgc

lgcdef lgcname of lgc-lex-trim-contract ( lgcvar ) as "lgc-lex-trim-contract ( ""! )" enddef

define value of lgc-lex-trim-contract ( a ) as norm [a is val : reverse ( lgc-lex-reverse-trim-contract ( a ) )] end define

lgcdef lgccharge of lgc-lex-trim-contract ( lgcvar ) as "0" enddef

lgc-lex-space ( " )

Index 121 of page lgc

lgcdef lgcname of lgc-lex-space ( lgcvar ) as "lgc-lex-space ( ""! )" enddef

define value of lgc-lex-space ( f ) as norm [f is val : LET f head head BE [asterisk IN LET asterisk BE [c IN if [c = SP] .or. [c = LF] then lgc-lex-space ( f tail ) else lgc-lex-collect ( f )]]] end define

lgcdef lgccharge of lgc-lex-space ( lgcvar ) as "0" enddef

lgc-lex-page ( " , " , " , " )

Index 122 of page lgc

lgcdef lgcname of lgc-lex-page ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-page ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-page ( P , r , R , f ) as norm [P is val : [r is val : [R is val : [f is val : if f atom then lgc-lex-page1 ( P , r , R , true ) else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if [c = LF] .or. [c = lgc-esc-n] then lgc-lex-page1 ( P , r , R , f ) else if c = QQ then lgc-lex-page ( P , true , r :: R , f ) else if c >= NULL then lgc-lex-page ( P , c :: r , R , f ) else [[p :: [[!"Unknown escape in page: 0x"] :: lgc-string2mixed ( c + NULL )]] raise]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-page ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-page1 ( " , " , " , " )

Index 123 of page lgc

lgcdef lgcname of lgc-lex-page1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-page1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-page1 ( P , r , R , f ) as norm [P is val : [r is val : [R is val : [f is val : LET lgc-lex-reverse-trim-contract ( r ) BE [asterisk IN LET asterisk BE [r IN LET lgc-lex-reverse-contract* ( R ) BE [asterisk IN LET asterisk BE [R IN if r then [P :: !"Empty page name"] raise else [[lgc-esc-P :: [P :: [r :: R]]] :: lgc-lex-collect ( f )]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-page1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-ref ( " , " , " , " )

Index 124 of page lgc

lgcdef lgcname of lgc-lex-ref ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-ref ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-ref ( P , r , R , f ) as norm [P is val : [r is val : [R is val : [f is val : if f atom then lgc-lex-ref1 ( P , r , R , true ) else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if [c = LF] .or. [c = lgc-esc-n] then lgc-lex-ref1 ( P , r , R , f ) else if c = QQ then lgc-lex-ref ( P , true , r :: R , f ) else if c >= NULL then lgc-lex-ref ( P , c :: r , R , f ) else [[p :: [[!"Unknown escape in reference: 0x"] :: lgc-string2mixed ( c + NULL )]] raise]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-ref ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-ref1 ( " , " , " , " )

Index 125 of page lgc

lgcdef lgcname of lgc-lex-ref1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-ref1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-ref1 ( P , r , R , f ) as norm [P is val : [r is val : [R is val : [f is val : LET lgc-lex-reverse-trim-contract ( r ) BE [asterisk IN LET asterisk BE [r IN LET lgc-lex-reverse-contract* ( R ) BE [asterisk IN LET asterisk BE [R IN if r then [P :: !"Empty reference"] raise else [[lgc-esc-R :: [P :: [r :: R]]] :: lgc-lex-collect ( f )]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-ref1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-def ( " )

Index 126 of page lgc

lgcdef lgcname of lgc-lex-def ( lgcvar ) as "lgc-lex-def ( ""! )" enddef

define value of lgc-lex-def ( f ) as norm [f is val : if f atom then true else lgc-lex-def0 ( f head first , f head first , true , true , f )] end define

lgcdef lgccharge of lgc-lex-def ( lgcvar ) as "0" enddef

lgc-lex-def0 ( " , " , " , " , " )

Index 127 of page lgc

lgcdef lgcname of lgc-lex-def0 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-def0 ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-def0 ( P , Q , r , R , f ) as norm [P is val : [Q is val : [r is val : [R is val : [f is val : if f atom then lgc-lex-def2 ( P , Q , r , R , f ) else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if [c = LF] .or. [c = lgc-esc-n] then lgc-lex-def0 ( P , f head first , true , lgc-lex-def1 ( Q , r , R ) , f ) else if c >= NULL then lgc-lex-def0 ( P , Q , c :: r , R , f ) else if [[[c = lgc-esc-P] .or. [c = lgc-esc-R]] .or. [c = lgc-esc-D]] .or. [c = lgc-esc-B] then lgc-lex-def2 ( P , Q , r , R , [c :: [p :: <<>>]] :: f ) else [[p :: [[!"Unknown escape in definition: 0x"] :: lgc-string2mixed ( c + NULL )]] raise]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-def0 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-def1 ( " , " , " )

Index 128 of page lgc

lgcdef lgcname of lgc-lex-def1 ( lgcvar , lgcvar , lgcvar ) as "lgc-lex-def1 ( ""! , ""! , ""! )" enddef

define value of lgc-lex-def1 ( Q , r , R ) as norm [Q is val : [r is val : [R is val : LET reverse ( r ) BE [asterisk IN LET asterisk BE [r IN if R then r :: <<>> else LET r head first BE [asterisk IN LET asterisk BE [p IN LET lgc-lex-trim-contract ( r ) BE [asterisk IN LET asterisk BE [r IN if r = true then R else if [r tail != true] .or. [r head head != QQ] then r :: R else [[Q :: !"Construct must contain at least one proper character"] raise]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-def1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-def2 ( " , " , " , " , " )

Index 129 of page lgc

lgcdef lgcname of lgc-lex-def2 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-def2 ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-def2 ( P , Q , r , R , f ) as norm [P is val : [Q is val : [r is val : [R is val : [f is val : LET lgc-lex-def1 ( Q , r , R ) BE [asterisk IN LET asterisk BE [R IN LET reverse ( R ) BE [asterisk IN LET asterisk BE [R IN [[lgc-esc-D :: [P :: R]] :: lgc-lex-collect ( f )]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-def2 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-string ( " , " , " , " )

Index 130 of page lgc

lgcdef lgcname of lgc-lex-string ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-string ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-string ( C , P , r , f ) as norm [C is val : [P is val : [r is val : [f is val : if f atom then [P :: !"End of file in string"] raise else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if [c = QQ] .or. [c = lgc-esc-.] then [C :: [P :: vt2vector ( reverse ( r ) )]] :: lgc-lex-collect ( f ) else if c >= NULL then lgc-lex-string ( C , P , c :: r , f ) else if c = lgc-esc-- then lgc-lex-string ( C , P , r , f ) else if c = lgc-esc-! then lgc-lex-string ( C , P , QQ :: r , f ) else if c = lgc-esc-f then lgc-lex-string ( C , P , FF :: r , f ) else if c = lgc-esc-n then lgc-lex-string ( C , P , LF :: r , f ) else if c = lgc-esc-r then lgc-lex-string ( C , P , CR :: r , f ) else if c = lgc-esc-t then lgc-lex-string ( C , P , TAB :: r , f ) else if c = lgc-esc-x then lgc-lex-hex ( C , P , p , r , f ) else [[p :: [[!"Unknown escape in string: 0x"] :: lgc-string2mixed ( c + NULL )]] raise]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-string ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-hex ( " , " , " , " , " )

Index 131 of page lgc

lgcdef lgcname of lgc-lex-hex ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-hex ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-hex ( C , P , Q , r , f ) as norm [C is val : [P is val : [Q is val : [r is val : [f is val : if f atom then [P :: !"End of file in string"] raise else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if c = QQ then [Q :: !"End of string in hex code"] raise else if c = !"." then lgc-lex-string ( C , P , r , f ) else if [c = SP] .or. [c = LF] then lgc-lex-hex ( C , P , Q , r , f ) else if [[!"0"] <= c] .and. [c <= !"9"] then lgc-lex-hex1 ( C , P , Q , c - !"0" , r , f ) else if [[!"A"] <= c] .and. [c <= !"F"] then lgc-lex-hex1 ( C , P , Q , [c - !"A"] + Base , r , f ) else if c >= NULL then [p :: !"Invalid character in hex constant"] raise else [[P :: [[!"Unknown escape in string: 0x"] :: lgc-string2mixed ( c + NULL )]] raise]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-hex ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-hex1 ( " , " , " , " , " , " )

Index 132 of page lgc

lgcdef lgcname of lgc-lex-hex1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-lex-hex1 ( ""! , ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-lex-hex1 ( C , P , Q , d , r , f ) as norm [C is val : [P is val : [Q is val : [d is val : [r is val : [f is val : if f atom then [P :: !"End of file in string"] raise else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if c = QQ then [Q :: !"End of string in hex code"] raise else if c = !"." then [Q :: !"Odd number of digits in hex code"] raise else if [c = SP] .or. [c = LF] then lgc-lex-hex1 ( C , P , Q , d , r , f ) else if [[!"0"] <= c] .and. [c <= !"9"] then lgc-lex-hex ( C , P , Q , [[[NULL + [d * [%% %1 %6]]] + c] - !"0"] :: r , f ) else if [[!"A"] <= c] .and. [c <= !"F"] then lgc-lex-hex ( C , P , Q , [[[[NULL + [d * [%% %1 %6]]] + c] - !"A"] + Base] :: r , f ) else if c >= NULL then [p :: !"Invalid character in hex constant"] raise else [[P :: [[!"Unknown escape in string: 0x"] :: lgc-string2mixed ( c + NULL )]] raise]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-hex1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-lex-extract-body ( " )

Index 133 of page lgc

lgcdef lgcname of lgc-lex-extract-body ( lgcvar ) as "lgc-lex-extract-body ( ""! )" enddef

define value of lgc-lex-extract-body ( f ) as norm [f is val : if f atom then true else LET f head head BE [asterisk IN LET asterisk BE [c IN if [[c = lgc-esc-P] .or. [c = lgc-esc-R]] .or. [c = lgc-esc-D] then lgc-lex-extract-body ( f tail ) else if c = SP then lgc-lex-extract-body1 ( f head , f tail ) else [f head :: lgc-lex-extract-body ( f tail )]]]] end define

lgcdef lgccharge of lgc-lex-extract-body ( lgcvar ) as "0" enddef

lgc-lex-extract-body1 ( " , " )

Index 134 of page lgc

lgcdef lgcname of lgc-lex-extract-body1 ( lgcvar , lgcvar ) as "lgc-lex-extract-body1 ( ""! , ""! )" enddef

define value of lgc-lex-extract-body1 ( x , f ) as norm [x is val : [f is val : if f atom then true else LET f head head BE [asterisk IN LET asterisk BE [c IN if [[c = lgc-esc-P] .or. [c = lgc-esc-R]] .or. [c = lgc-esc-D] then lgc-lex-extract-body1 ( x , f tail ) else if c = SP then x :: lgc-lex-extract-body ( f tail ) else [x :: lgc-lex-extract-body ( f )]]]]] end define

lgcdef lgccharge of lgc-lex-extract-body1 ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-extract-other ( " , " )

Index 135 of page lgc

lgcdef lgcname of lgc-lex-extract-other ( lgcvar , lgcvar ) as "lgc-lex-extract-other ( ""! , ""! )" enddef

define value of lgc-lex-extract-other ( f , s ) as norm [f is val : [s is val : if f atom then s else LET f head head BE [asterisk IN LET asterisk BE [c IN if c = lgc-esc-P then lgc-lex-extract-page ( f , s ) else if c = lgc-esc-R then lgc-lex-extract-ref ( f , s ) else if c = lgc-esc-D then lgc-lex-extract-def ( f , s ) else if c = lgc-esc-$ then lgc-lex-extract-include ( f , s ) else if c = lgc-esc-# then lgc-lex-extract-include ( f , s ) else lgc-lex-extract-other ( f tail , s )]]]] end define

lgcdef lgccharge of lgc-lex-extract-other ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-extract-page ( " , " )

Index 136 of page lgc

lgcdef lgcname of lgc-lex-extract-page ( lgcvar , lgcvar ) as "lgc-lex-extract-page ( ""! , ""! )" enddef

define value of lgc-lex-extract-page ( f , s ) as norm [f is val : [s is val : if s [[ !"page" ]] != true then [f head first :: !"More than one page name found"] raise else LET s [[ !"page" -> f head tail tail ]] BE [asterisk IN LET asterisk BE [s IN lgc-lex-extract-other ( f tail , s )]]]] end define

lgcdef lgccharge of lgc-lex-extract-page ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-extract-ref ( " , " )

Index 137 of page lgc

lgcdef lgcname of lgc-lex-extract-ref ( lgcvar , lgcvar ) as "lgc-lex-extract-ref ( ""! , ""! )" enddef

define value of lgc-lex-extract-ref ( f , s ) as norm [f is val : [s is val : LET push ( s , !"bib" , f head tail tail ) BE [asterisk IN LET asterisk BE [s IN lgc-lex-extract-other ( f tail , s )]]]] end define

lgcdef lgccharge of lgc-lex-extract-ref ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-extract-def ( " , " )

Index 138 of page lgc

lgcdef lgcname of lgc-lex-extract-def ( lgcvar , lgcvar ) as "lgc-lex-extract-def ( ""! , ""! )" enddef

define value of lgc-lex-extract-def ( f , s ) as norm [f is val : [s is val : LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [r IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [R IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET push ( s , !"def" , [p :: r] :: R ) BE [asterisk IN LET asterisk BE [s IN lgc-lex-extract-other ( f , s )]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-extract-def ( lgcvar , lgcvar ) as "0" enddef

lgc-lex-extract-include ( " , " )

Index 139 of page lgc

lgcdef lgcname of lgc-lex-extract-include ( lgcvar , lgcvar ) as "lgc-lex-extract-include ( ""! , ""! )" enddef

define value of lgc-lex-extract-include ( f , s ) as norm [f is val : [s is val : LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [n IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET push ( s , !"nincludes" , p :: n ) BE [asterisk IN LET asterisk BE [s IN lgc-lex-extract-other ( f , s )]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-lex-extract-include ( lgcvar , lgcvar ) as "0" enddef

lgc-include-1 ( " )

Index 140 of page lgc

lgcdef lgcname of lgc-include-1 ( lgcvar ) as "lgc-include-1 ( ""! )" enddef

define value of lgc-include-1 ( s ) as norm [s is val : LET s [[ !"nincludes" ]] BE [asterisk IN LET asterisk BE [l IN if l atom then lgc-load-1 ( s ) else LET l BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [n IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [l IN if .not. [s [[ !"includes" ]] [[ n ]]] then lgc-include-1 ( s [[ !"nincludes" -> l ]] ) else LET lgc-tilde-expand ( n , s [[ !"parameters" ]] ) BE [asterisk IN LET asterisk BE [n IN LET lgc-progress ( [!"Reading file:"] :: n , 3 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileTypeRead ( n ) ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-include-2 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-include-1 ( lgcvar ) as "0" enddef

lgc-include-2 ( " , " )

Index 141 of page lgc

lgcdef lgcname of lgc-include-2 ( lgcvar , lgcvar ) as "lgc-include-2 ( ""! , ""! )" enddef

define value of lgc-include-2 ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [t IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET s [[ !"nincludes" ]] BE [asterisk IN LET asterisk BE [l IN LET l BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [p IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [n IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [l IN if t = FileTypeNonexistent then lgc-error ( s , p , [!"Could not find include file "] :: n ) else LET s [[ !"nincludes" -> l ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ [!"includes"] :: [n :: <<>>] => f ]] BE [asterisk IN LET asterisk BE [s IN lgc-include-1 ( s )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-include-2 ( lgcvar , lgcvar ) as "0" enddef

lgc-load-1 ( " )

Index 142 of page lgc

lgcdef lgcname of lgc-load-1 ( lgcvar ) as "lgc-load-1 ( ""! )" enddef

define value of lgc-load-1 ( s ) as norm [s is val : LET reverse ( s [[ !"bib" ]] ) BE [asterisk IN LET asterisk BE [b IN LET s [[ !"bib" -> b ]] BE [asterisk IN LET asterisk BE [s IN lgc-load-fetch0 ( lgc-heads ( b ) :: <<>> , s )]]]]] end define

lgcdef lgccharge of lgc-load-1 ( lgcvar ) as "0" enddef

lgc-load-fetch0 ( " , " )

Index 143 of page lgc

lgcdef lgcname of lgc-load-fetch0 ( lgcvar , lgcvar ) as "lgc-load-fetch0 ( ""! , ""! )" enddef

define value of lgc-load-fetch0 ( S , s ) as norm [S is val : [s is val : LET s [[ !"stack" -> S ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-load-setpath ( s ) BE [asterisk IN LET asterisk BE [s IN lgc-load-fetch ( s )]]]]]] end define

lgcdef lgccharge of lgc-load-fetch0 ( lgcvar , lgcvar ) as "0" enddef

lgc-load-setpath ( " )

Index 144 of page lgc

lgcdef lgcname of lgc-load-setpath ( lgcvar ) as "lgc-load-setpath ( ""! )" enddef

define value of lgc-load-setpath ( s ) as norm [s is val : LET s [[ !"stack" ]] BE [asterisk IN LET asterisk BE [r IN LET r head head BE [asterisk IN LET asterisk BE [p IN if p then s else LET lgc-progress-fetch ( p , r , s ) BE [asterisk IN LET asterisk BE [s IN if r tail pairp .or. lgc-prefix ( lgc-lgw-prefix , p ) then s [[ !"path" -> s [[ !"parameters" ]] [[ !"path" ]] ]] else [s [[ !"path" -> s [[ !"parameters" ]] [[ !"namepath" ]] ]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-setpath ( lgcvar ) as "0" enddef

lgc-progress-fetch ( " , " , " )

Index 145 of page lgc

lgcdef lgcname of lgc-progress-fetch ( lgcvar , lgcvar , lgcvar ) as "lgc-progress-fetch ( ""! , ""! , ""! )" enddef

define value of lgc-progress-fetch ( p , r , s ) as norm [p is val : [r is val : [s is val : if r tail then lgc-progress ( [!"Fetching "] :: p , 3 , s ) else LET [!"lgw:"] :: lgc-string2mixed ( p ) BE [asterisk IN LET asterisk BE [P IN if s [[ !"cluster" ]] [[ p ]] = true then lgc-progress ( [!"Fetching "] :: P , 3 , s ) else lgc-progress ( [!"Fetching "] :: P , 4 , s )]]]]] end define

lgcdef lgccharge of lgc-progress-fetch ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-heads ( " )

Index 146 of page lgc

lgcdef lgcname of lgc-heads ( lgcvar ) as "lgc-heads ( ""! )" enddef

define value of lgc-heads ( b ) as norm [b is val : if b atom then true else [b head head :: lgc-heads ( b tail )]] end define

lgcdef lgccharge of lgc-heads ( lgcvar ) as "0" enddef

lgc-load-fetch ( " )

Index 147 of page lgc

lgcdef lgcname of lgc-load-fetch ( lgcvar ) as "lgc-load-fetch ( ""! )" enddef

define value of lgc-load-fetch ( s ) as norm [s is val : LET s [[ !"stack" ]] BE [asterisk IN LET asterisk BE [r IN if r head .and. [r tail] then lgc-grammar ( s [[ !"stack" -> true ]] ) else LET s [[ !"vector" ]] BE [asterisk IN LET asterisk BE [v IN if .not. v then lgc-load-fetch-ref ( lgw-parse-string ( v ) head , s ) else if r head then lgc-load-codify ( s ) else if r tail then lgc-load-fetch-name ( s ) else if .not. [s [[ !"cluster" ]] [[ r head head ]]] then lgc-load-fetch0 ( r head tail :: [r tail] , s ) else lgc-load-fetch-ref ( r head head , s )]]]]] end define

lgcdef lgccharge of lgc-load-fetch ( lgcvar ) as "0" enddef

lgc-load-fetch-name ( " )

Index 148 of page lgc

lgcdef lgcname of lgc-load-fetch-name ( lgcvar ) as "lgc-load-fetch-name ( ""! )" enddef

define value of lgc-load-fetch-name ( s ) as norm [s is val : LET s [[ !"stack" ]] head head BE [asterisk IN LET asterisk BE [n IN if lgc-prefix ( lgc-file-prefix , n ) then lgc-load-fetch-file ( list-suffix ( n , 5 ) , s ) else if lgc-prefix ( lgc-http-prefix , n ) then lgc-load-fetch-http ( list-suffix ( n , 5 ) , s ) else if lgc-prefix ( lgc-lgw-prefix , n ) then lgc-load-fetch-ref1 ( list-suffix ( n , 4 ) , s ) else if lgc-prefix ( lgc-name-prefix , n ) then lgc-load-fetch-ref1 ( list-suffix ( n , 5 ) , s ) else lgc-load-fetch-ref1 ( n , s )]]] end define

lgcdef lgccharge of lgc-load-fetch-name ( lgcvar ) as "0" enddef

lgc-load-fetch-ref ( " , " )

Index 149 of page lgc

lgcdef lgcname of lgc-load-fetch-ref ( lgcvar , lgcvar ) as "lgc-load-fetch-ref ( ""! , ""! )" enddef

define value of lgc-load-fetch-ref ( r , s ) as norm [r is val : [s is val : lgc-load-fetch-ref1 ( lgc-string2mixed ( r ) , s )]] end define

lgcdef lgccharge of lgc-load-fetch-ref ( lgcvar , lgcvar ) as "0" enddef

lgc-load-fetch-ref1 ( " , " )

Index 150 of page lgc

lgcdef lgcname of lgc-load-fetch-ref1 ( lgcvar , lgcvar ) as "lgc-load-fetch-ref1 ( ""! , ""! )" enddef

define value of lgc-load-fetch-ref1 ( r , s ) as norm [r is val : [s is val : LET s [[ !"path" ]] BE [asterisk IN LET asterisk BE [p IN LET s [[ !"vector" ]] BE [asterisk IN LET asterisk BE [v IN if p .and. v then lgc-load-fetch-ref-failed ( r , s ) else if p then lgc-load-receive-lgw1 ( v , s [[ !"vector" -> true ]] ) else LET p BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN LET lgc-replace-colon ( vt2vector* ( n prime ) , r ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN if e then lgc-load-no-colon ( s ) else LET lgc-file-suffix ( n ) BE [asterisk IN LET asterisk BE [t IN if [[t != lgw-suffix] .and. [t != lgr-suffix]] .and. [t != lgu-suffix] then lgc-wrong-suffix ( n prime , s ) else LET s [[ !"suffix" -> t ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ !"path" -> p ]] BE [asterisk IN LET asterisk BE [s IN if [.not. v] .and. [t != lgr-suffix] then lgc-load-fetch-ref1 ( r , s ) else lgc-load-fetch-path ( n , s )]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-fetch-ref1 ( lgcvar , lgcvar ) as "0" enddef

lgc-file-prefix

Index 151 of page lgc

lgcdef lgcname of lgc-file-prefix as "lgc-file-prefix" enddef

define value of lgc-file-prefix as norm vt2vector* ( !"file:" ) end define

lgcdef lgccharge of lgc-file-prefix as "0" enddef

lgc-http-prefix

Index 152 of page lgc

lgcdef lgcname of lgc-http-prefix as "lgc-http-prefix" enddef

define value of lgc-http-prefix as norm vt2vector* ( !"http:" ) end define

lgcdef lgccharge of lgc-http-prefix as "0" enddef

lgc-//-prefix

Index 153 of page lgc

lgcdef lgcname of lgc-//-prefix as "lgc-//-prefix" enddef

define value of lgc-//-prefix as norm vt2vector* ( !"//" ) end define

lgcdef lgccharge of lgc-//-prefix as "0" enddef

lgc-lgw-prefix

Index 154 of page lgc

lgcdef lgcname of lgc-lgw-prefix as "lgc-lgw-prefix" enddef

define value of lgc-lgw-prefix as norm vt2vector* ( !"lgw:" ) end define

lgcdef lgccharge of lgc-lgw-prefix as "0" enddef

lgc-name-prefix

Index 155 of page lgc

lgcdef lgcname of lgc-name-prefix as "lgc-name-prefix" enddef

define value of lgc-name-prefix as norm vt2vector* ( !"name:" ) end define

lgcdef lgccharge of lgc-name-prefix as "0" enddef

lgw-suffix

Index 156 of page lgc

lgcdef lgcname of lgw-suffix as "lgw-suffix" enddef

define value of lgw-suffix as norm vt2vector* ( !"lgw" ) end define

lgcdef lgccharge of lgw-suffix as "0" enddef

lgr-suffix

Index 157 of page lgc

lgcdef lgcname of lgr-suffix as "lgr-suffix" enddef

define value of lgr-suffix as norm vt2vector* ( !"lgr" ) end define

lgcdef lgccharge of lgr-suffix as "0" enddef

lgu-suffix

Index 158 of page lgc

lgcdef lgcname of lgu-suffix as "lgu-suffix" enddef

define value of lgu-suffix as norm vt2vector* ( !"lgu" ) end define

lgcdef lgccharge of lgu-suffix as "0" enddef

lgc-load-fetch-path ( " , " )

Index 159 of page lgc

lgcdef lgcname of lgc-load-fetch-path ( lgcvar , lgcvar ) as "lgc-load-fetch-path ( ""! , ""! )" enddef

define value of lgc-load-fetch-path ( n , s ) as norm [n is val : [s is val : if lgc-prefix ( lgc-file-prefix , n ) then lgc-load-fetch-file ( list-suffix ( n , 5 ) , s ) else if lgc-prefix ( lgc-http-prefix , n ) then lgc-load-fetch-http ( list-suffix ( n , 5 ) , s ) else lgc-load-fetch-file ( n , s )]] end define

lgcdef lgccharge of lgc-load-fetch-path ( lgcvar , lgcvar ) as "0" enddef

lgc-load-fetch-file ( " , " )

Index 160 of page lgc

lgcdef lgcname of lgc-load-fetch-file ( lgcvar , lgcvar ) as "lgc-load-fetch-file ( ""! , ""! )" enddef

define value of lgc-load-fetch-file ( n , s ) as norm [n is val : [s is val : LET s [[ !"fetching" -> n ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ !"type" -> "file" ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-tilde-expand1 ( n , s ) BE [asterisk IN LET asterisk BE [n IN LET lgc-progress ( [!"Reading file:"] :: n , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileTypeRead ( n ) ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-load-receive ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-fetch-file ( lgcvar , lgcvar ) as "0" enddef

lgc-tilde-expand1 ( " , " )

Index 161 of page lgc

lgcdef lgcname of lgc-tilde-expand1 ( lgcvar , lgcvar ) as "lgc-tilde-expand1 ( ""! , ""! )" enddef

define value of lgc-tilde-expand1 ( n , s ) as norm [n is val : [s is val : if n then true else if n head != !"~" then n else [s [[ !"parameters" ]] [[ "home" ]] :: [n tail]]]] end define

lgcdef lgccharge of lgc-tilde-expand1 ( lgcvar , lgcvar ) as "0" enddef

lgc-cwd-expand ( " , " )

Index 162 of page lgc

lgcdef lgcname of lgc-cwd-expand ( lgcvar , lgcvar ) as "lgc-cwd-expand ( ""! , ""! )" enddef

define value of lgc-cwd-expand ( n , s ) as norm [n is val : [s is val : LET vt2vector* ( n ) BE [asterisk IN LET asterisk BE [n IN if n head = !"/" then n else [s [[ !"cwd" ]] :: [[!"/"] :: n]]]]]] end define

lgcdef lgccharge of lgc-cwd-expand ( lgcvar , lgcvar ) as "0" enddef

lgc-load-fetch-http ( " , " )

Index 163 of page lgc

lgcdef lgcname of lgc-load-fetch-http ( lgcvar , lgcvar ) as "lgc-load-fetch-http ( ""! , ""! )" enddef

define value of lgc-load-fetch-http ( n , s ) as norm [n is val : [s is val : LET s [[ !"fetching" -> n ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ !"type" -> "http" ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( [!"Reading http:"] :: n , 4 , s ) BE [asterisk IN LET asterisk BE [s IN if .not. lgc-prefix ( lgc-//-prefix , n ) then lgc-load-malformed-url ( n , s ) else LET lgc-char-split ( !"/" , list-suffix ( n , 2 ) ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [d IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [q IN LET lgc-char-split ( !":" , d ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [d IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN LET if p then !"80" else p BE [asterisk IN LET asterisk BE [p IN LET lgc-atoi ( p , true ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [x IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN if [x .or. [p < 0]] .or. [p > [%% %6 %5 %5 %3 %5]] then lgc-load-malformed-url ( n , s ) else LET lgc-push-event ( s , tcpQuery ( d , p , 3 , 0 , "GET /" :: q ) ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-load-receive ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-fetch-http ( lgcvar , lgcvar ) as "0" enddef

lgc-prefix ( " , " )

Index 164 of page lgc

lgcdef lgcname of lgc-prefix ( lgcvar , lgcvar ) as "lgc-prefix ( ""! , ""! )" enddef

define value of lgc-prefix ( x , y ) as norm [x is val : [y is val : if x atom then true else if y atom then false else [[x head = [y head]] .and. lgc-prefix ( x tail , y tail )]]] end define

lgcdef lgccharge of lgc-prefix ( lgcvar , lgcvar ) as "0" enddef

lgc-char-split ( " , " )

Index 165 of page lgc

lgcdef lgcname of lgc-char-split ( lgcvar , lgcvar ) as "lgc-char-split ( ""! , ""! )" enddef

define value of lgc-char-split ( c , a ) as norm [c is val : [a is val : lgc-char-split1 ( c , a , true )]] end define

lgcdef lgccharge of lgc-char-split ( lgcvar , lgcvar ) as "0" enddef

lgc-char-split1 ( " , " , " )

Index 166 of page lgc

lgcdef lgcname of lgc-char-split1 ( lgcvar , lgcvar , lgcvar ) as "lgc-char-split1 ( ""! , ""! , ""! )" enddef

define value of lgc-char-split1 ( c , a , r ) as norm [c is val : [a is val : [r is val : if a atom then reverse ( r ) :: true else LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [C IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN if c = C then reverse ( r ) :: a else lgc-char-split1 ( c , a , C :: r )]]]]]]]]]]] end define

lgcdef lgccharge of lgc-char-split1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-replace-colon ( " , " )

Index 167 of page lgc

lgcdef lgcname of lgc-replace-colon ( lgcvar , lgcvar ) as "lgc-replace-colon ( ""! , ""! )" enddef

define value of lgc-replace-colon ( n , r ) as norm [n is val : [r is val : vt2vector* ( lgc-replace-colon1 ( reverse ( n ) , r ) )]] end define

lgcdef lgccharge of lgc-replace-colon ( lgcvar , lgcvar ) as "0" enddef

lgc-replace-colon1 ( " , " )

Index 168 of page lgc

lgcdef lgcname of lgc-replace-colon1 ( lgcvar , lgcvar ) as "lgc-replace-colon1 ( ""! , ""! )" enddef

define value of lgc-replace-colon1 ( n , r ) as norm [n is val : [r is val : if n then exception else LET n BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN if c = !":" then reverse ( n ) :: r else [lgc-replace-colon1 ( n , r ) :: c]]]]]]]]]]] end define

lgcdef lgccharge of lgc-replace-colon1 ( lgcvar , lgcvar ) as "0" enddef

lgc-file-suffix ( " )

Index 169 of page lgc

lgcdef lgcname of lgc-file-suffix ( lgcvar ) as "lgc-file-suffix ( ""! )" enddef

define value of lgc-file-suffix ( n ) as norm [n is val : LET reverse ( n ) BE [asterisk IN LET asterisk BE [n IN LET lgc-char-split ( !"." , n ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [u IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN reverse ( u )]]]]]]]]]]] end define

lgcdef lgccharge of lgc-file-suffix ( lgcvar ) as "0" enddef

lgc-load-fetch-ref-failed ( " , " )

Index 170 of page lgc

lgcdef lgcname of lgc-load-fetch-ref-failed ( lgcvar , lgcvar ) as "lgc-load-fetch-ref-failed ( ""! , ""! )" enddef

define value of lgc-load-fetch-ref-failed ( r , s ) as norm [r is val : [s is val : lgc-simple-error ( [!"Could not load reference "] :: r , s )]] end define

lgcdef lgccharge of lgc-load-fetch-ref-failed ( lgcvar , lgcvar ) as "0" enddef

lgc-load-no-colon ( " )

Index 171 of page lgc

lgcdef lgcname of lgc-load-no-colon ( lgcvar ) as "lgc-load-no-colon ( ""! )" enddef

define value of lgc-load-no-colon ( s ) as norm [s is val : LET s [[ !"path" ]] head BE [asterisk IN LET asterisk BE [n IN lgc-simple-error ( [!"Missing colon in path or namepath element "] :: n , s )]]] end define

lgcdef lgccharge of lgc-load-no-colon ( lgcvar ) as "0" enddef

lgc-wrong-suffix ( " , " )

Index 172 of page lgc

lgcdef lgcname of lgc-wrong-suffix ( lgcvar , lgcvar ) as "lgc-wrong-suffix ( ""! , ""! )" enddef

define value of lgc-wrong-suffix ( n , s ) as norm [n is val : [s is val : LET lgc-progress ( [!"Illegal suffix in path or namepath element "] :: n , 1 , s ) BE [asterisk IN LET asterisk BE [s IN lgc-simple-error ( !"Only .lgw, .lgr, and .lgu are legal suffixes" , s )]]]] end define

lgcdef lgccharge of lgc-wrong-suffix ( lgcvar , lgcvar ) as "0" enddef

lgc-wrong-lgu-suffix ( " , " )

Index 173 of page lgc

lgcdef lgcname of lgc-wrong-lgu-suffix ( lgcvar , lgcvar ) as "lgc-wrong-lgu-suffix ( ""! , ""! )" enddef

define value of lgc-wrong-lgu-suffix ( n , s ) as norm [n is val : [s is val : LET lgc-progress ( [!"Illegal suffix in lgu link: "] :: n , 1 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( !"Only .lgw and .lgu are legal suffixes" , 1 , s ) BE [asterisk IN LET asterisk BE [s IN lgc-simple-error ( [!"Source of link: "] :: [s [[ !"type" ]] :: [[!":"] :: [s [[ !"fetching" ]]]]] , s )]]]]]] end define

lgcdef lgccharge of lgc-wrong-lgu-suffix ( lgcvar , lgcvar ) as "0" enddef

lgc-load-malformed-url ( " , " )

Index 174 of page lgc

lgcdef lgcname of lgc-load-malformed-url ( lgcvar , lgcvar ) as "lgc-load-malformed-url ( ""! , ""! )" enddef

define value of lgc-load-malformed-url ( n , s ) as norm [n is val : [s is val : lgc-simple-error ( [!"Malformed url: http:"] :: n , s )]] end define

lgcdef lgccharge of lgc-load-malformed-url ( lgcvar , lgcvar ) as "0" enddef

lgc-load-malformed-lgu ( " , " )

Index 175 of page lgc

lgcdef lgcname of lgc-load-malformed-lgu ( lgcvar , lgcvar ) as "lgc-load-malformed-lgu ( ""! , ""! )" enddef

define value of lgc-load-malformed-lgu ( n , s ) as norm [n is val : [s is val : LET lgc-progress ( [!"Malformed lgu link: "] :: n , 1 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( !"Such links must start with 'http:'" , 1 , s ) BE [asterisk IN LET asterisk BE [s IN lgc-simple-error ( [!"Source of link: "] :: [s [[ !"type" ]] :: [[!":"] :: [s [[ !"fetching" ]]]]] , s )]]]]]] end define

lgcdef lgccharge of lgc-load-malformed-lgu ( lgcvar , lgcvar ) as "0" enddef

lgc-load-malformed-page ( " )

Index 176 of page lgc

lgcdef lgcname of lgc-load-malformed-page ( lgcvar ) as "lgc-load-malformed-page ( ""! )" enddef

define value of lgc-load-malformed-page ( s ) as norm [s is val : lgc-simple-error ( [!"Malformed page found at "] :: [s [[ !"type" ]] :: [[!":"] :: [s [[ !"fetching" ]]]]] , s )] end define

lgcdef lgccharge of lgc-load-malformed-page ( lgcvar ) as "0" enddef

lgc-load-wrong-page ( " )

Index 177 of page lgc

lgcdef lgcname of lgc-load-wrong-page ( lgcvar ) as "lgc-load-wrong-page ( ""! )" enddef

define value of lgc-load-wrong-page ( s ) as norm [s is val : lgc-simple-error ( [!"Wrong page found at "] :: [s [[ !"type" ]] :: [[!":"] :: [s [[ !"fetching" ]]]]] , s )] end define

lgcdef lgccharge of lgc-load-wrong-page ( lgcvar ) as "0" enddef

lgc-load-receive ( " , " )

Index 178 of page lgc

lgcdef lgcname of lgc-load-receive ( lgcvar , lgcvar ) as "lgc-load-receive ( ""! , ""! )" enddef

define value of lgc-load-receive ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [x IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET s [[ !"type" ]] BE [asterisk IN LET asterisk BE [t IN if [[t = !"http"] .and. x] .or. [[t = !"file"] .and. [x head = FileTypeNonexistent]] then lgc-load-received-nothing ( s ) else LET if t = !"file" then x tail else x BE [asterisk IN LET asterisk BE [x IN LET s [[ !"suffix" ]] BE [asterisk IN LET asterisk BE [t IN if t = lgw-suffix then lgc-load-receive-lgw ( x , s ) else if t = lgr-suffix then lgc-load-receive-lgr ( x , s ) else if t = lgu-suffix then lgc-load-receive-lgu ( x , s ) else lgc-panic ( !"Internal error in lgc-load-receive" )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-receive ( lgcvar , lgcvar ) as "0" enddef

lgc-load-received-nothing ( " )

Index 179 of page lgc

lgcdef lgcname of lgc-load-received-nothing ( lgcvar ) as "lgc-load-received-nothing ( ""! )" enddef

define value of lgc-load-received-nothing ( s ) as norm [s is val : LET s [[ !"stack" ]] head head BE [asterisk IN LET asterisk BE [n IN if lgc-prefix ( lgc-file-prefix , n ) .or. lgc-prefix ( lgc-http-prefix , n ) then lgc-load-fetch-ref-failed ( n , s ) else lgc-load-fetch ( s )]]] end define

lgcdef lgccharge of lgc-load-received-nothing ( lgcvar ) as "0" enddef

lgc-load-receive-lgw ( " , " )

Index 180 of page lgc

lgcdef lgcname of lgc-load-receive-lgw ( lgcvar , lgcvar ) as "lgc-load-receive-lgw ( ""! , ""! )" enddef

define value of lgc-load-receive-lgw ( x , s ) as norm [x is val : [s is val : LET lgw-parse-string ( x ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [r IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN if [e .or. [r = !"".]] .or. [vector-index ( r , 0 ) != lgc-logiweb-version] then lgc-load-received-nothing ( s ) else LET s [[ !"stack" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [R IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [B IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [S IN if lgc-wrong-ref ( r , R , S ) then lgc-load-wrong-page ( s ) else if [S != true] .or. lgc-prefix ( lgc-lgw-prefix , R ) then lgc-load-receive-lgw1 ( x , s ) else if s [[ !"cluster" ]] [[ r ]] != true then lgc-load-fetch0 ( B :: S , push ( s , !"refbib" , r ) ) else LET s [[ !"vector" -> x ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ !"path" -> s [[ !"parameters" ]] [[ !"path" ]] ]] BE [asterisk IN LET asterisk BE [s IN lgc-load-fetch ( s )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-receive-lgw ( lgcvar , lgcvar ) as "0" enddef

lgc-load-receive-lgw1 ( " , " )

Index 181 of page lgc

lgcdef lgcname of lgc-load-receive-lgw1 ( lgcvar , lgcvar ) as "lgc-load-receive-lgw1 ( ""! , ""! )" enddef

define value of lgc-load-receive-lgw1 ( x , s ) as norm [x is val : [s is val : LET lgw-trisect ( x ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN if e then lgc-load-malformed-page ( s ) else LET c [[ 0 ]] BE [asterisk IN LET asterisk BE [r IN LET c [[ r ]] [[ !"bibliography" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET s [[ !"stack" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [R IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [B IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [S IN LET if S then push ( s , !"refbib" , r ) else s BE [asterisk IN LET asterisk BE [s IN LET s [[ [!"cluster"] :: [r :: <<>>] => c ]] BE [asterisk IN LET asterisk BE [s IN LET if S then R else [[!"lgw:"] :: lgc-string2mixed ( r )] BE [asterisk IN LET asterisk BE [n IN lgc-load-fetch0 ( b :: [[[r :: [[!".lgw"] :: n]] :: B] :: S] , s )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-receive-lgw1 ( lgcvar , lgcvar ) as "0" enddef

lgc-logiweb-version

Index 182 of page lgc

lgcdef lgcname of lgc-logiweb-version as "lgc-logiweb-version" enddef

define value of lgc-logiweb-version as norm 1 end define

lgcdef lgccharge of lgc-logiweb-version as "0" enddef

lgc-wrong-ref ( " , " , " )

Index 183 of page lgc

lgcdef lgcname of lgc-wrong-ref ( lgcvar , lgcvar , lgcvar ) as "lgc-wrong-ref ( ""! , ""! , ""! )" enddef

define value of lgc-wrong-ref ( r , R , S ) as norm [r is val : [R is val : [S is val : if .not. S then r != R else if .not. lgc-prefix ( lgc-lgw-prefix , R ) then false else [list-suffix ( R , 4 ) != lgc-string2mixed ( r )]]]] end define

lgcdef lgccharge of lgc-wrong-ref ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-load-receive-lgr ( " , " )

Index 184 of page lgc

lgcdef lgcname of lgc-load-receive-lgr ( lgcvar , lgcvar ) as "lgc-load-receive-lgr ( ""! , ""! )" enddef

define value of lgc-load-receive-lgr ( x , s ) as norm [x is val : [s is val : LET s [[ !"vector" -> true ]] BE [asterisk IN LET asterisk BE [s IN LET sl2rack ( x ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN if e then lgc-load-malformed-page ( s ) else LET c [[ !"bibliography" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET true [[ 0 -> r ]] [[ r -> c ]] BE [asterisk IN LET asterisk BE [c IN LET s [[ !"stack" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [R IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [B IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [S IN if lgc-wrong-ref ( r , R , S ) then lgc-load-wrong-page ( s ) else LET if S then push ( s , !"refbib" , r ) else s BE [asterisk IN LET asterisk BE [s IN if .not. [s [[ !"cluster" ]] [[ r ]]] then lgc-load-fetch0 ( B :: S , s ) else LET s [[ [!"cluster"] :: [r :: <<>>] => c ]] BE [asterisk IN LET asterisk BE [s IN LET if S then R else [[!"lgw:"] :: lgc-string2mixed ( r )] BE [asterisk IN LET asterisk BE [n IN lgc-load-fetch0 ( b :: [[[r :: [[!".lgr"] :: n]] :: B] :: S] , s )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-receive-lgr ( lgcvar , lgcvar ) as "0" enddef

lgc-load-receive-lgu ( " , " )

Index 185 of page lgc

lgcdef lgcname of lgc-load-receive-lgu ( lgcvar , lgcvar ) as "lgc-load-receive-lgu ( ""! , ""! )" enddef

define value of lgc-load-receive-lgu ( n , s ) as norm [n is val : [s is val : LET reverse ( lgc-trim-newline ( reverse ( n ) ) ) BE [asterisk IN LET asterisk BE [n IN LET lgc-file-suffix ( n ) BE [asterisk IN LET asterisk BE [t IN if [t != lgw-suffix] .and. [t != lgu-suffix] then lgc-wrong-lgu-suffix ( n , s ) else LET s [[ !"suffix" -> t ]] BE [asterisk IN LET asterisk BE [s IN if lgc-prefix ( lgc-http-prefix , n ) then lgc-load-fetch-http ( list-suffix ( n , 5 ) , s ) else lgc-load-malformed-lgu ( n , s )]]]]]]]] end define

lgcdef lgccharge of lgc-load-receive-lgu ( lgcvar , lgcvar ) as "0" enddef

lgc-trim-newline ( " )

Index 186 of page lgc

lgcdef lgcname of lgc-trim-newline ( lgcvar ) as "lgc-trim-newline ( ""! )" enddef

define value of lgc-trim-newline ( n ) as norm [n is val : LET n head BE [asterisk IN LET asterisk BE [c IN if [c = LF] .or. [c = CR] then lgc-trim-newline ( n tail ) else n]]] end define

lgcdef lgccharge of lgc-trim-newline ( lgcvar ) as "0" enddef

lgc-load-codify ( " )

Index 187 of page lgc

lgcdef lgcname of lgc-load-codify ( lgcvar ) as "lgc-load-codify ( ""! )" enddef

define value of lgc-load-codify ( s ) as norm [s is val : LET s [[ !"stack" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [r IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [t IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [n IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET lgc-progress ( [!"Codifying "] :: n , 3 , s ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-load-codify1 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-codify ( lgcvar ) as "0" enddef

lgc-load-codify1 ( " , " )

Index 188 of page lgc

lgcdef lgcname of lgc-load-codify1 ( lgcvar , lgcvar ) as "lgc-load-codify1 ( ""! , ""! )" enddef

define value of lgc-load-codify1 ( x , s ) as norm [x is val : [s is val : LET s [[ !"stack" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [r IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [t IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [n IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [s prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [s prime prime IN LET s [[ !"stack" -> s prime :: [s prime prime] ]] BE [asterisk IN LET asterisk BE [s IN if t = !".lgw" then lgc-load-codify-lgw ( r , s ) else if t = !".lgr" then lgc-load-codify-lgr ( r , s ) else lgc-panic ( !"Internal error in lgc-load-codify1" )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-codify1 ( lgcvar , lgcvar ) as "0" enddef

lgc-load-codify-lgw ( " , " )

Index 189 of page lgc

lgcdef lgcname of lgc-load-codify-lgw ( lgcvar , lgcvar ) as "lgc-load-codify-lgw ( ""! , ""! )" enddef

define value of lgc-load-codify-lgw ( r , s ) as norm [r is val : [s is val : LET lgc-load-codify-closure ( r , s ) BE [asterisk IN LET asterisk BE [s IN LET s [[ !"cluster" ]] [[ r ]] BE [asterisk IN LET asterisk BE [c IN LET lgw-codify ( r , c , s [[ !"verbose" ]] ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN if e then lgc-proclaim-error ( c , s ) else LET s [[ [!"cluster"] :: [r :: <<>>] => c ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-load-setpath ( s ) BE [asterisk IN LET asterisk BE [s IN lgc-load-render ( r , s )]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-codify-lgw ( lgcvar , lgcvar ) as "0" enddef

lgc-load-codify-lgr ( " , " )

Index 190 of page lgc

lgcdef lgcname of lgc-load-codify-lgr ( lgcvar , lgcvar ) as "lgc-load-codify-lgr ( ""! , ""! )" enddef

define value of lgc-load-codify-lgr ( r , s ) as norm [r is val : [s is val : LET lgc-load-codify-closure ( r , s ) BE [asterisk IN LET asterisk BE [s IN LET s [[ !"cluster" ]] [[ r ]] BE [asterisk IN LET asterisk BE [c IN LET lgr-cache-restore ( c ) BE [asterisk IN LET asterisk BE [c IN LET s [[ [!"cluster"] :: [r :: <<>>] => c ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-load-setpath ( s ) BE [asterisk IN LET asterisk BE [s IN lgc-load-render ( r , s )]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-codify-lgr ( lgcvar , lgcvar ) as "0" enddef

lgc-load-render ( " , " )

Index 191 of page lgc

lgcdef lgcname of lgc-load-render ( lgcvar , lgcvar ) as "lgc-load-render ( ""! , ""! )" enddef

define value of lgc-load-render ( r , s ) as norm [r is val : [s is val : LET s [[ !"reference" -> r ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-render-dirname ( r , s ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN if e then lgc-rendering-no-colon ( s ) else LET p :: !"index.html" BE [asterisk IN LET asterisk BE [p IN LET lgc-progress ( [!"Probing "] :: p , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileType ( p ) ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-load-render1 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-render ( lgcvar , lgcvar ) as "0" enddef

lgc-load-render1 ( " , " )

Index 192 of page lgc

lgcdef lgcname of lgc-load-render1 ( lgcvar , lgcvar ) as "lgc-load-render1 ( ""! , ""! )" enddef

define value of lgc-load-render1 ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET lgc-progress ( if f head = NULL then !"Not found" else !"Found" , 4 , s ) BE [asterisk IN LET asterisk BE [s IN if f head != NULL then lgc-load-fetch ( s ) else LET s [[ !"reference" ]] BE [asterisk IN LET asterisk BE [r IN LET lgc-ref2vt ( r , s ) BE [asterisk IN LET asterisk BE [n IN LET lgc-progress ( [!"Rendering "] :: n , 3 , s ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-load-render1 ( lgcvar , lgcvar ) as "0" enddef

lgc-load-codify-closure ( " , " )

Index 193 of page lgc

lgcdef lgcname of lgc-load-codify-closure ( lgcvar , lgcvar ) as "lgc-load-codify-closure ( ""! , ""! )" enddef

define value of lgc-load-codify-closure ( r , s ) as norm [r is val : [s is val : LET s [[ !"cluster" ]] BE [asterisk IN LET asterisk BE [c IN LET lgr-cluster-closure ( r , c ) BE [asterisk IN LET asterisk BE [c IN [s [[ !"cluster" -> c ]]]]]]]]] end define

lgcdef lgccharge of lgc-load-codify-closure ( lgcvar , lgcvar ) as "0" enddef

lgc-parse-int ( " )

Index 194 of page lgc

lgcdef lgcname of lgc-parse-int ( lgcvar ) as "lgc-parse-int ( ""! )" enddef

define value of lgc-parse-int ( a ) as norm [a is val : if a atom then exception else if a head != !"-" then lgc-parse-int1 ( a , 0 ) else if a tail atom then exception else LET lgc-parse-int1 ( a tail , 0 ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN [[- n] :: a]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-int ( lgcvar ) as "0" enddef

lgc-parse-int1 ( " , " )

Index 195 of page lgc

lgcdef lgcname of lgc-parse-int1 ( lgcvar , lgcvar ) as "lgc-parse-int1 ( ""! , ""! )" enddef

define value of lgc-parse-int1 ( a , r ) as norm [a is val : [r is val : if a atom then r :: true else LET a head BE [asterisk IN LET asterisk BE [c IN if [c < !"0"] .or. [c > !"9"] then r :: a else lgc-parse-int1 ( a tail , [c - !"0"] + [Base * r] )]]]] end define

lgcdef lgccharge of lgc-parse-int1 ( lgcvar , lgcvar ) as "0" enddef

lgc-atoi ( " , " )

Index 196 of page lgc

lgcdef lgcname of lgc-atoi ( lgcvar , lgcvar ) as "lgc-atoi ( ""! , ""! )" enddef

define value of lgc-atoi ( a , m ) as norm [a is val : [m is val : LET lgc-parse-int ( a ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [n IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [a IN if e .or. [a != true] then m raise else n]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-atoi ( lgcvar , lgcvar ) as "0" enddef

lgc-itoa ( " )

Index 197 of page lgc

lgcdef lgcname of lgc-itoa ( lgcvar ) as "lgc-itoa ( ""! )" enddef

define value of lgc-itoa ( i ) as norm [i is val : if i = 0 then "0" :: <<>> else if i > 0 then lgc-itoa1 ( i , true ) else ["-" :: lgc-itoa1 ( - i , true )]] end define

lgcdef lgccharge of lgc-itoa ( lgcvar ) as "0" enddef

lgc-itoa1 ( " , " )

Index 198 of page lgc

lgcdef lgcname of lgc-itoa1 ( lgcvar , lgcvar ) as "lgc-itoa1 ( ""! , ""! )" enddef

define value of lgc-itoa1 ( i , r ) as norm [i is val : [r is val : if i = 0 then r else LET floor ( i , Base ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [i IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [m IN lgc-itoa1 ( i , [m + !"0"] :: r )]]]]]]]]]] end define

lgcdef lgccharge of lgc-itoa1 ( lgcvar , lgcvar ) as "0" enddef

lgc-ctoa ( " , " )

Index 199 of page lgc

lgcdef lgcname of lgc-ctoa ( lgcvar , lgcvar ) as "lgc-ctoa ( ""! , ""! )" enddef

define value of lgc-ctoa ( c , w ) as norm [c is val : [w is val : LET lgc-itoa1 ( c , true ) BE [asterisk IN LET asterisk BE [c IN [repeat ( w - length ( c ) , !"0" ) :: c]]]]] end define

lgcdef lgccharge of lgc-ctoa ( lgcvar , lgcvar ) as "0" enddef

lgc-ordinal-suffix ( " )

Index 200 of page lgc

lgcdef lgcname of lgc-ordinal-suffix ( lgcvar ) as "lgc-ordinal-suffix ( ""! )" enddef

define value of lgc-ordinal-suffix ( n ) as norm [n is val : if [[n div Base] mod Base] = 1 then "th" else LET n mod Base BE [asterisk IN LET asterisk BE [n IN if n = 1 then "st" else if n = 2 then "nd" else if n = 3 then "rd" else "th"]]] end define

lgcdef lgccharge of lgc-ordinal-suffix ( lgcvar ) as "0" enddef

lgc-ordinal ( " )

Index 201 of page lgc

lgcdef lgcname of lgc-ordinal ( lgcvar ) as "lgc-ordinal ( ""! )" enddef

define value of lgc-ordinal ( n ) as norm [n is val : [lgc-itoa ( n ) :: lgc-ordinal-suffix ( n )]] end define

lgcdef lgccharge of lgc-ordinal ( lgcvar ) as "0" enddef

lgc-max-messages

Index 202 of page lgc

lgcdef lgcname of lgc-max-messages as "lgc-max-messages" enddef

define value of lgc-max-messages as norm [%% %1 %0] end define

lgcdef lgccharge of lgc-max-messages as "0" enddef

lgc-add-message ( " , " , " , " )

Index 203 of page lgc

lgcdef lgcname of lgc-add-message ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-add-message ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-add-message ( s , l , p , m ) as norm [s is val : [l is val : [p is val : [m is val : LET if l > 1 then s else [s [[ !"continue" -> false ]]] BE [asterisk IN LET asterisk BE [s IN if s [[ !"verbose" ]] < l then s else LET s [[ !"msg" ]] BE [asterisk IN LET asterisk BE [M IN LET [p :: m] :: M BE [asterisk IN LET asterisk BE [M IN LET s [[ !"msg" -> M ]] BE [asterisk IN LET asterisk BE [s IN if length ( M ) >= lgc-max-messages then s raise else s]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-add-message ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-throw-message ( " , " , " )

Index 204 of page lgc

lgcdef lgcname of lgc-throw-message ( lgcvar , lgcvar , lgcvar ) as "lgc-throw-message ( ""! , ""! , ""! )" enddef

define value of lgc-throw-message ( s , p , m ) as norm [s is val : [p is val : [m is val : [lgc-add-message ( s , 1 , p , m ) raise]]]] end define

lgcdef lgccharge of lgc-throw-message ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-die ( " )

Index 205 of page lgc

lgcdef lgcname of lgc-die ( lgcvar ) as "lgc-die ( ""! )" enddef

define value of lgc-die ( m ) as norm [m is val : [writeln request ( m ) :: [quit request ( 1 ) :: <<>>]]] end define

lgcdef lgccharge of lgc-die ( lgcvar ) as "0" enddef

lgc-report-messages ( " )

Index 206 of page lgc

lgcdef lgcname of lgc-report-messages ( lgcvar ) as "lgc-report-messages ( ""! )" enddef

define value of lgc-report-messages ( s ) as norm [s is val : LET s [[ !"msg" ]] BE [asterisk IN LET asterisk BE [M IN if M then lgc-die ( !"Unhandled exception, goodbye." ) else lgc-die ( lgc-report-messages1 ( s , M , !"Goodbye." ) )]]] end define

lgcdef lgccharge of lgc-report-messages ( lgcvar ) as "0" enddef

lgc-report-messages1 ( " , " , " )

Index 207 of page lgc

lgcdef lgcname of lgc-report-messages1 ( lgcvar , lgcvar , lgcvar ) as "lgc-report-messages1 ( ""! , ""! , ""! )" enddef

define value of lgc-report-messages1 ( s , M , r ) as norm [s is val : [M is val : [r is val : if M atom then r else LET M BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [p IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [m IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [M IN if .not. [p intp] then lgc-panic ( !"Internal error: Error position is no int" ) else lgc-report-messages1 ( s , M , lgc-report-messages2 ( s , p , m ) :: r )]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-report-messages1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-report-messages2 ( " , " , " )

Index 208 of page lgc

lgcdef lgcname of lgc-report-messages2 ( lgcvar , lgcvar , lgcvar ) as "lgc-report-messages2 ( ""! , ""! , ""! )" enddef

define value of lgc-report-messages2 ( s , p , m ) as norm [s is val : [p is val : [m is val : LET s [[ !"source" ]] BE [asterisk IN LET asterisk BE [f IN LET if p < 0 then length ( f ) else p BE [asterisk IN LET asterisk BE [p IN LET lgc-position ( f , p , 1 , 1 ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [l IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET [!"Line "] :: [lgc-itoa ( l ) :: [[!" character "] :: [lgc-itoa ( c ) :: !":"]]] BE [asterisk IN LET asterisk BE [m _ { 1 } IN LET lgc-report-message3 ( f , p ) BE [asterisk IN LET asterisk BE [m _ { 2 } IN [[!"---"] :: [LF :: [m _ { 1 } :: [LF :: [m :: [LF :: [m _ { 2 } :: LF]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-report-messages2 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-position ( " , " , " , " )

Index 209 of page lgc

lgcdef lgcname of lgc-position ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-position ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-position ( f , p , L , C ) as norm [f is val : [p is val : [L is val : [C is val : if f atom .or. [p = 0] then L :: C else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN if c = LF then lgc-position-1 ( CR , f , p - 1 , L + 1 , 1 ) else if c = CR then lgc-position-1 ( LF , f , p - 1 , L + 1 , 1 ) else if c = FF then lgc-position ( f , p - 1 , L + 1 , 1 ) else if c = TAB then lgc-position ( f , p - 1 , L , C + 1 ) else if c < SP then lgc-position ( f , p - 1 , L , C ) else if lgc-char-start ( c ) then lgc-position ( f , p - 1 , L , C + 1 ) else lgc-position ( f , p - 1 , L , C )]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-position ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-position-1 ( " , " , " , " , " )

Index 210 of page lgc

lgcdef lgcname of lgc-position-1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-position-1 ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-position-1 ( c , f , p , L , C ) as norm [c is val : [f is val : [p is val : [L is val : [C is val : if f head = c then lgc-position ( f tail , p , L , C ) else lgc-position ( f , p , L , C )]]]]] end define

lgcdef lgccharge of lgc-position-1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-max-lines

Index 211 of page lgc

lgcdef lgcname of lgc-max-lines as "lgc-max-lines" enddef

define value of lgc-max-lines as norm 3 end define

lgcdef lgccharge of lgc-max-lines as "0" enddef

lgc-max-chars

Index 212 of page lgc

lgcdef lgcname of lgc-max-chars as "lgc-max-chars" enddef

define value of lgc-max-chars as norm [%% %8 %0] end define

lgcdef lgccharge of lgc-max-chars as "0" enddef

lgc-report-message3 ( " , " )

Index 213 of page lgc

lgcdef lgcname of lgc-report-message3 ( lgcvar , lgcvar ) as "lgc-report-message3 ( ""! , ""! )" enddef

define value of lgc-report-message3 ( f , p ) as norm [f is val : [p is val : LET lgc-split ( f , p , true ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [h IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [t IN LET lgc-size-limit ( h , lgc-max-lines , lgc-max-chars , true ) BE [asterisk IN LET asterisk BE [h IN LET if h head = LF then h tail else h BE [asterisk IN LET asterisk BE [h IN LET lgc-size-limit ( t , lgc-max-lines , lgc-max-chars , true ) BE [asterisk IN LET asterisk BE [t IN [h :: [[!"|"] :: [LF :: [[!"---"] :: [LF :: reverse ( t tail )]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-report-message3 ( lgcvar , lgcvar ) as "0" enddef

lgc-split ( " , " , " )

Index 214 of page lgc

lgcdef lgcname of lgc-split ( lgcvar , lgcvar , lgcvar ) as "lgc-split ( ""! , ""! , ""! )" enddef

define value of lgc-split ( f , p , r ) as norm [f is val : [p is val : [r is val : if [p = 0] .or. [f atom] then lgc-split1 ( r , f ) else lgc-split ( f tail , p - 1 , f head :: r )]]] end define

lgcdef lgccharge of lgc-split ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-split1 ( " , " )

Index 215 of page lgc

lgcdef lgcname of lgc-split1 ( lgcvar , lgcvar ) as "lgc-split1 ( ""! , ""! )" enddef

define value of lgc-split1 ( h , t ) as norm [h is val : [t is val : if [h atom .or. [t atom]] .or. lgc-char-start ( t head ) then h :: t else lgc-split1 ( h tail , h head :: t )]] end define

lgcdef lgccharge of lgc-split1 ( lgcvar , lgcvar ) as "0" enddef

lgc-char-start1

Index 216 of page lgc

lgcdef lgcname of lgc-char-start1 as "lgc-char-start1" enddef

define value of lgc-char-start1 as norm [NULL + [%% %1 %2 %8]] end define

lgcdef lgccharge of lgc-char-start1 as "0" enddef

lgc-char-start2

Index 217 of page lgc

lgcdef lgcname of lgc-char-start2 as "lgc-char-start2" enddef

define value of lgc-char-start2 as norm [[NULL + [%% %1 %2 %8]] + [%% %6 %4]] end define

lgcdef lgccharge of lgc-char-start2 as "0" enddef

lgc-char-start ( " )

Index 218 of page lgc

lgcdef lgcname of lgc-char-start ( lgcvar ) as "lgc-char-start ( ""! )" enddef

define value of lgc-char-start ( c ) as norm [c is val : [[c < lgc-char-start1] .or. [lgc-char-start2 <= c]]] end define

lgcdef lgccharge of lgc-char-start ( lgcvar ) as "0" enddef

lgc-size-limit ( " , " , " , " )

Index 219 of page lgc

lgcdef lgcname of lgc-size-limit ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-size-limit ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-size-limit ( f , L , C , r ) as norm [f is val : [L is val : [C is val : [r is val : if f atom .or. [L = 0] then r else if C = 0 then lgc-size-limit ( f , L - 1 , lgc-max-chars , r ) else LET f BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET c :: r BE [asterisk IN LET asterisk BE [r IN if c = LF then lgc-size-limit ( f , L - 1 , lgc-max-chars , r ) else if lgc-char-start ( c ) then lgc-size-limit ( f , L , C - 1 , r ) else lgc-size-limit ( f , L , C , r )]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-size-limit ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-error ( " , " , " )

Index 220 of page lgc

lgcdef lgcname of lgc-error ( lgcvar , lgcvar , lgcvar ) as "lgc-error ( ""! , ""! , ""! )" enddef

define value of lgc-error ( s , p , a ) as norm [s is val : [p is val : [a is val : LET lgc-add-message ( s , 1 , p , a ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN lgc-report-messages ( s )]]]]]]]]]]] end define

lgcdef lgccharge of lgc-error ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-simple-error ( " , " )

Index 221 of page lgc

lgcdef lgcname of lgc-simple-error ( lgcvar , lgcvar ) as "lgc-simple-error ( ""! , ""! )" enddef

define value of lgc-simple-error ( a , s ) as norm [a is val : [s is val : LET lgc-progress ( a , 1 , s ) BE [asterisk IN LET asterisk BE [s IN lgc-do-events ( s )]]]] end define

lgcdef lgccharge of lgc-simple-error ( lgcvar , lgcvar ) as "0" enddef

lgc-progress ( " , " , " )

Index 222 of page lgc

lgcdef lgcname of lgc-progress ( lgcvar , lgcvar , lgcvar ) as "lgc-progress ( ""! , ""! , ""! )" enddef

define value of lgc-progress ( a , l , s ) as norm [a is val : [l is val : [s is val : if s [[ !"verbose" ]] < l then s else lgc-push-event ( s , writeln request ( a ) )]]] end define

lgcdef lgccharge of lgc-progress ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-print ( " , " )

Index 223 of page lgc

lgcdef lgcname of lgc-print ( lgcvar , lgcvar ) as "lgc-print ( ""! , ""! )" enddef

define value of lgc-print ( p , a ) as norm [p is val : [a is val : if p then print ( a :: LF ) else true]] end define

lgcdef lgccharge of lgc-print ( lgcvar , lgcvar ) as "0" enddef

lgc-EOF

Index 224 of page lgc

lgcdef lgcname of lgc-EOF as "lgc-EOF" enddef

define value of lgc-EOF as norm 0 end define

lgcdef lgccharge of lgc-EOF as "0" enddef

lgc-esc-.

Index 225 of page lgc

lgcdef lgcname of lgc-esc-. as "lgc-esc-." enddef

define value of lgc-esc-. as norm [[!"."] - NULL] end define

lgcdef lgccharge of lgc-esc-. as "0" enddef

lgc-esc--

Index 226 of page lgc

lgcdef lgcname of lgc-esc-- as "lgc-esc--" enddef

define value of lgc-esc-- as norm [[!"-"] - NULL] end define

lgcdef lgccharge of lgc-esc-- as "0" enddef

lgc-esc-!

Index 227 of page lgc

lgcdef lgcname of lgc-esc-! as "lgc-esc-!" enddef

define value of lgc-esc-! as norm [[!"!"] - NULL] end define

lgcdef lgccharge of lgc-esc-! as "0" enddef

lgc-esc-#

Index 228 of page lgc

lgcdef lgcname of lgc-esc-# as "lgc-esc-#" enddef

define value of lgc-esc-# as norm [[!"#"] - NULL] end define

lgcdef lgccharge of lgc-esc-# as "0" enddef

lgc-esc-$

Index 229 of page lgc

lgcdef lgcname of lgc-esc-$ as "lgc-esc-$" enddef

define value of lgc-esc-$ as norm [[!"$"] - NULL] end define

lgcdef lgccharge of lgc-esc-$ as "0" enddef

lgc-esc-left

Index 230 of page lgc

lgcdef lgcname of lgc-esc-left as "lgc-esc-left" enddef

define value of lgc-esc-left as norm [[!"["] - NULL] end define

lgcdef lgccharge of lgc-esc-left as "0" enddef

lgc-esc-right

Index 231 of page lgc

lgcdef lgcname of lgc-esc-right as "lgc-esc-right" enddef

define value of lgc-esc-right as norm [[!"]"] - NULL] end define

lgcdef lgccharge of lgc-esc-right as "0" enddef

lgc-esc-brace

Index 232 of page lgc

lgcdef lgcname of lgc-esc-brace as "lgc-esc-brace" enddef

define value of lgc-esc-brace as norm [[!"}"] - NULL] end define

lgcdef lgccharge of lgc-esc-brace as "0" enddef

lgc-esc-B

Index 233 of page lgc

lgcdef lgcname of lgc-esc-B as "lgc-esc-B" enddef

define value of lgc-esc-B as norm [[!"B"] - NULL] end define

lgcdef lgccharge of lgc-esc-B as "0" enddef

lgc-esc-C

Index 234 of page lgc

lgcdef lgcname of lgc-esc-C as "lgc-esc-C" enddef

define value of lgc-esc-C as norm [[!"C"] - NULL] end define

lgcdef lgccharge of lgc-esc-C as "0" enddef

lgc-esc-D

Index 235 of page lgc

lgcdef lgcname of lgc-esc-D as "lgc-esc-D" enddef

define value of lgc-esc-D as norm [[!"D"] - NULL] end define

lgcdef lgccharge of lgc-esc-D as "0" enddef

lgc-esc-N

Index 236 of page lgc

lgcdef lgcname of lgc-esc-N as "lgc-esc-N" enddef

define value of lgc-esc-N as norm [[!"N"] - NULL] end define

lgcdef lgccharge of lgc-esc-N as "0" enddef

lgc-esc-P

Index 237 of page lgc

lgcdef lgcname of lgc-esc-P as "lgc-esc-P" enddef

define value of lgc-esc-P as norm [[!"P"] - NULL] end define

lgcdef lgccharge of lgc-esc-P as "0" enddef

lgc-esc-R

Index 238 of page lgc

lgcdef lgcname of lgc-esc-R as "lgc-esc-R" enddef

define value of lgc-esc-R as norm [[!"R"] - NULL] end define

lgcdef lgccharge of lgc-esc-R as "0" enddef

lgc-esc-S

Index 239 of page lgc

lgcdef lgcname of lgc-esc-S as "lgc-esc-S" enddef

define value of lgc-esc-S as norm [[!"S"] - NULL] end define

lgcdef lgccharge of lgc-esc-S as "0" enddef

lgc-esc-f

Index 240 of page lgc

lgcdef lgcname of lgc-esc-f as "lgc-esc-f" enddef

define value of lgc-esc-f as norm [[!"f"] - NULL] end define

lgcdef lgccharge of lgc-esc-f as "0" enddef

lgc-esc-n

Index 241 of page lgc

lgcdef lgcname of lgc-esc-n as "lgc-esc-n" enddef

define value of lgc-esc-n as norm [[!"n"] - NULL] end define

lgcdef lgccharge of lgc-esc-n as "0" enddef

lgc-esc-r

Index 242 of page lgc

lgcdef lgcname of lgc-esc-r as "lgc-esc-r" enddef

define value of lgc-esc-r as norm [[!"r"] - NULL] end define

lgcdef lgccharge of lgc-esc-r as "0" enddef

lgc-esc-t

Index 243 of page lgc

lgcdef lgcname of lgc-esc-t as "lgc-esc-t" enddef

define value of lgc-esc-t as norm [[!"t"] - NULL] end define

lgcdef lgccharge of lgc-esc-t as "0" enddef

lgc-esc-x

Index 244 of page lgc

lgcdef lgcname of lgc-esc-x as "lgc-esc-x" enddef

define value of lgc-esc-x as norm [[!"x"] - NULL] end define

lgcdef lgccharge of lgc-esc-x as "0" enddef

lgc-left-trim ( " )

Index 245 of page lgc

lgcdef lgcname of lgc-left-trim ( lgcvar ) as "lgc-left-trim ( ""! )" enddef

define value of lgc-left-trim ( a ) as norm [a is val : if a head = SP then a tail else a] end define

lgcdef lgccharge of lgc-left-trim ( lgcvar ) as "0" enddef

lgc-right-trim ( " )

Index 246 of page lgc

lgcdef lgcname of lgc-right-trim ( lgcvar ) as "lgc-right-trim ( ""! )" enddef

define value of lgc-right-trim ( a ) as norm [a is val : reverse ( lgc-left-trim ( reverse ( a ) ) )] end define

lgcdef lgccharge of lgc-right-trim ( lgcvar ) as "0" enddef

lgc-trim ( " )

Index 247 of page lgc

lgcdef lgcname of lgc-trim ( lgcvar ) as "lgc-trim ( ""! )" enddef

define value of lgc-trim ( a ) as norm [a is val : lgc-right-trim ( lgc-left-trim ( a ) )] end define

lgcdef lgccharge of lgc-trim ( lgcvar ) as "0" enddef

lgc-reverse-contract ( " )

Index 248 of page lgc

lgcdef lgcname of lgc-reverse-contract ( lgcvar ) as "lgc-reverse-contract ( ""! )" enddef

define value of lgc-reverse-contract ( a ) as norm [a is val : lgc-reverse-contract1 ( a , true )] end define

lgcdef lgccharge of lgc-reverse-contract ( lgcvar ) as "0" enddef

lgc-reverse-contract1 ( " , " )

Index 249 of page lgc

lgcdef lgcname of lgc-reverse-contract1 ( lgcvar , lgcvar ) as "lgc-reverse-contract1 ( ""! , ""! )" enddef

define value of lgc-reverse-contract1 ( a , r ) as norm [a is val : [r is val : if a atom then r else LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN if [c = SP] .and. [r head = SP] then lgc-reverse-contract1 ( a , r ) else lgc-reverse-contract1 ( a , c :: r )]]]]]]]]]] end define

lgcdef lgccharge of lgc-reverse-contract1 ( lgcvar , lgcvar ) as "0" enddef

lgc-contract ( " )

Index 250 of page lgc

lgcdef lgcname of lgc-contract ( lgcvar ) as "lgc-contract ( ""! )" enddef

define value of lgc-contract ( a ) as norm [a is val : reverse ( lgc-reverse-contract ( a ) )] end define

lgcdef lgccharge of lgc-contract ( lgcvar ) as "0" enddef

lgc-contract* ( " )

Index 251 of page lgc

lgcdef lgcname of lgc-contract* ( lgcvar ) as "lgc-contract* ( ""! )" enddef

define value of lgc-contract* ( a ) as norm [a is val : if a atom then true else [lgc-contract ( a head ) :: lgc-contract* ( a tail )]] end define

lgcdef lgccharge of lgc-contract* ( lgcvar ) as "0" enddef

lgc-trim-contract ( " )

Index 252 of page lgc

lgcdef lgcname of lgc-trim-contract ( lgcvar ) as "lgc-trim-contract ( ""! )" enddef

define value of lgc-trim-contract ( a ) as norm [a is val : lgc-left-trim ( reverse ( lgc-left-trim ( lgc-reverse-contract ( a ) ) ) )] end define

lgcdef lgccharge of lgc-trim-contract ( lgcvar ) as "0" enddef

lgc-panic ( " )

Index 253 of page lgc

lgcdef lgcname of lgc-panic ( lgcvar ) as "lgc-panic ( ""! )" enddef

define value of lgc-panic ( x ) as norm [x is val : [trace ( x ) .then. bottom]] end define

lgcdef lgccharge of lgc-panic ( lgcvar ) as "0" enddef

lgc-splice ( " , " )

Index 254 of page lgc

lgcdef lgcname of lgc-splice ( lgcvar , lgcvar ) as "lgc-splice ( ""! , ""! )" enddef

define value of lgc-splice ( q , c ) as norm [q is val : [c is val : if c atom then lgc-panic ( !"Internal error 1 in lgc-splice" ) else if c head != QQ then append ( lgc-left-trim ( q ) , c ) else LET c tail BE [asterisk IN LET asterisk BE [c IN if c atom then lgc-panic ( !"Internal error 2 in lgc-splice" ) else if c head != SP then QQ :: append ( q , c ) else LET c tail BE [asterisk IN LET asterisk BE [c IN if c head != QQ then QQ :: [SP :: append ( lgc-left-trim ( q ) , c )] else [QQ :: [SP :: append ( lgc-trim ( q ) , SP :: c )]]]]]]]] end define

lgcdef lgccharge of lgc-splice ( lgcvar , lgcvar ) as "0" enddef

lgw-parse-string ( " )

Index 255 of page lgc

lgcdef lgcname of lgw-parse-string ( lgcvar ) as "lgw-parse-string ( ""! )" enddef

define value of lgw-parse-string ( v ) as norm [v is val : LET parse-card ( v ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN lgw-parse-string1 ( n , v , true )]]]]]]]]] end define

lgcdef lgccharge of lgw-parse-string ( lgcvar ) as "0" enddef

lgw-parse-string1 ( " , " , " )

Index 256 of page lgc

lgcdef lgcname of lgw-parse-string1 ( lgcvar , lgcvar , lgcvar ) as "lgw-parse-string1 ( ""! , ""! , ""! )" enddef

define value of lgw-parse-string1 ( n , v , r ) as norm [n is val : [v is val : [r is val : if n = 0 then vt2vector ( r ) :: v else if v atom then exception else lgw-parse-string1 ( n - 1 , v tail , r :: [v head] )]]] end define

lgcdef lgccharge of lgw-parse-string1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-parse-bibliography ( " )

Index 257 of page lgc

lgcdef lgcname of lgw-parse-bibliography ( lgcvar ) as "lgw-parse-bibliography ( ""! )" enddef

define value of lgw-parse-bibliography ( v ) as norm [v is val : lgw-parse-bibliography1 ( true , v )] end define

lgcdef lgccharge of lgw-parse-bibliography ( lgcvar ) as "0" enddef

lgw-parse-bibliography1 ( " , " )

Index 258 of page lgc

lgcdef lgcname of lgw-parse-bibliography1 ( lgcvar , lgcvar ) as "lgw-parse-bibliography1 ( ""! , ""! )" enddef

define value of lgw-parse-bibliography1 ( r , v ) as norm [r is val : [v is val : LET lgw-parse-string ( v ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if b = !"". then reverse ( r ) :: v else lgw-parse-bibliography1 ( [b + 0] :: r , v )]]]]]]]]]] end define

lgcdef lgccharge of lgw-parse-bibliography1 ( lgcvar , lgcvar ) as "0" enddef

lgw-parse-dictionary ( " )

Index 259 of page lgc

lgcdef lgcname of lgw-parse-dictionary ( lgcvar ) as "lgw-parse-dictionary ( ""! )" enddef

define value of lgw-parse-dictionary ( v ) as norm [v is val : lgw-parse-dictionary1 ( true [[ 0 -> 0 ]] , v )] end define

lgcdef lgccharge of lgw-parse-dictionary ( lgcvar ) as "0" enddef

lgw-parse-dictionary1 ( " , " )

Index 260 of page lgc

lgcdef lgcname of lgw-parse-dictionary1 ( lgcvar , lgcvar ) as "lgw-parse-dictionary1 ( ""! , ""! )" enddef

define value of lgw-parse-dictionary1 ( r , v ) as norm [r is val : [v is val : LET parse-card ( v ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [i IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if i = 0 then r :: v else LET parse-card ( v ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN lgw-parse-dictionary1 ( r [[ i -> a ]] , v )]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgw-parse-dictionary1 ( lgcvar , lgcvar ) as "0" enddef

lgw-trisect ( " )

Index 261 of page lgc

lgcdef lgcname of lgw-trisect ( lgcvar ) as "lgw-trisect ( ""! )" enddef

define value of lgw-trisect ( V ) as norm [V is val : LET lgw-parse-bibliography ( V ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN LET b head BE [asterisk IN LET asterisk BE [r IN LET true [[ 0 -> r ]] BE [asterisk IN LET asterisk BE [c IN LET c [[ r :: [[!"vector"] :: <<>>] => vt2vector ( V ) ]] BE [asterisk IN LET asterisk BE [c IN LET c [[ r :: [[!"bibliography"] :: <<>>] => b ]] BE [asterisk IN LET asterisk BE [c IN LET lgw-parse-dictionary ( v ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [d IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN [c [[ r :: [[!"dictionary"] :: <<>>] => d ]] [[ r :: [[!"body"] :: <<>>] => v ]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgw-trisect ( lgcvar ) as "0" enddef

lgw-codify ( " , " , " )

Index 262 of page lgc

lgcdef lgcname of lgw-codify ( lgcvar , lgcvar , lgcvar ) as "lgw-codify ( ""! , ""! , ""! )" enddef

define value of lgw-codify ( r , c , v ) as norm [r is val : [c is val : [v is val : [lgc-print ( 4 <= v , " Unpack" ) .then. LET lgw-codify-unpack ( r , c ) BE [asterisk IN LET asterisk BE [c IN [lgc-print ( 4 <= v , " Initialize" ) .then. LET lgw-codify-initialize ( r , c ) BE [asterisk IN LET asterisk BE [c IN lgw-codify1 ( r , c , v , 1 )]]]]]]]]] end define

lgcdef lgccharge of lgw-codify ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-codify1 ( " , " , " , " )

Index 263 of page lgc

lgcdef lgcname of lgw-codify1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgw-codify1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgw-codify1 ( r , c , v , n ) as norm [r is val : [c is val : [v is val : [n is val : [lgc-print ( 3 <= v , lgc-ordinal ( n ) :: " reading" ) .then. [lgc-print ( 4 <= v , " Compile" ) .then. LET compile ( c ) BE [asterisk IN LET asterisk BE [c IN [lgc-print ( 4 <= v , " Expand" ) .then. LET lgw-codify-expand ( r , c ) BE [asterisk IN LET asterisk BE [t IN LET c [[ r :: [[!"expansion"] :: <<>>] => t ]] BE [asterisk IN LET asterisk BE [C IN LET C [[ r :: [[!"codex"] :: <<>>] => true ]] BE [asterisk IN LET asterisk BE [C IN [lgc-print ( 4 <= v , " Harvest" ) .then. LET lgw-codify-harvest ( r , t , c , C ) BE [asterisk IN LET asterisk BE [C IN [lgc-print ( 4 <= v , " Compare" ) .then. if c [[ r ]] [[ !"codex" ]] = [C [[ r ]] [[ !"codex" ]]] then compile ( C ) else lgw-codify1 ( r , C , v , n + 1 )]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgw-codify1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-codify-unpack ( " , " )

Index 264 of page lgc

lgcdef lgcname of lgw-codify-unpack ( lgcvar , lgcvar ) as "lgw-codify-unpack ( ""! , ""! )" enddef

define value of lgw-codify-unpack ( r , c ) as norm [r is val : [c is val : LET lgw-codify-unpacker ( r , c ) BE [asterisk IN LET asterisk BE [u IN if u then lgw-codify-unpack1 ( r , c ) else LET c [[ r ]] [[ !"body" ]] BE [asterisk IN LET asterisk BE [v IN LET c [[ r :: [[!"body"] :: <<>>] => true ]] BE [asterisk IN LET asterisk BE [c IN LET prune ( [[eval ( u third , true , c ) apply [c maptag]] apply [v maptag]] untag , c ) BE [asterisk IN LET asterisk BE [t IN [c [[ r :: [[!"body"] :: <<>>] => t ]]]]]]]]]]]]] end define

lgcdef lgccharge of lgw-codify-unpack ( lgcvar , lgcvar ) as "0" enddef

lgw-codify-unpacker ( " , " )

Index 265 of page lgc

lgcdef lgcname of lgw-codify-unpacker ( lgcvar , lgcvar ) as "lgw-codify-unpacker ( ""! , ""! )" enddef

define value of lgw-codify-unpacker ( r , c ) as norm [r is val : [c is val : LET c [[ r ]] [[ !"bibliography" ]] first BE [asterisk IN LET asterisk BE [b IN if b then true else [c [[ b ]] [[ !"codex" ]] [[ b ]] [[ 0 ]] [[ 0 ]] [[ !"unpack" ]]]]]]] end define

lgcdef lgccharge of lgw-codify-unpacker ( lgcvar , lgcvar ) as "0" enddef

lgw-codify-unpack1 ( " , " )

Index 266 of page lgc

lgcdef lgcname of lgw-codify-unpack1 ( lgcvar , lgcvar ) as "lgw-codify-unpack1 ( ""! , ""! )" enddef

define value of lgw-codify-unpack1 ( r , c ) as norm [r is val : [c is val : LET c [[ r ]] [[ !"body" ]] BE [asterisk IN LET asterisk BE [v IN LET lgw-make-dict ( r , c ) BE [asterisk IN LET asterisk BE [a IN LET lgw-parse-tree ( a , r :: <<>> , v ) BE [asterisk IN LET asterisk BE [t IN [c [[ r :: [[!"body"] :: <<>>] => t head ]]]]]]]]]]] end define

lgcdef lgccharge of lgw-codify-unpack1 ( lgcvar , lgcvar ) as "0" enddef

lgw-make-dict ( " , " )

Index 267 of page lgc

lgcdef lgcname of lgw-make-dict ( lgcvar , lgcvar ) as "lgw-make-dict ( ""! , ""! )" enddef

define value of lgw-make-dict ( r , c ) as norm [r is val : [c is val : LET c [[ r ]] [[ !"bibliography" ]] BE [asterisk IN LET asterisk BE [b IN LET length ( b ) BE [asterisk IN LET asterisk BE [l IN lgw-make-dict1 ( 0 , b , l , c , true )]]]]]] end define

lgcdef lgccharge of lgw-make-dict ( lgcvar , lgcvar ) as "0" enddef

lgw-make-dict1 ( " , " , " , " , " )

Index 268 of page lgc

lgcdef lgcname of lgw-make-dict1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgw-make-dict1 ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgw-make-dict1 ( R , b , l , c , a ) as norm [R is val : [b is val : [l is val : [c is val : [a is val : if b atom then a else LET lgw-make-dict2 ( R , b head , l , c [[ b head ]] [[ !"dictionary" ]] , a ) BE [asterisk IN LET asterisk BE [a IN lgw-make-dict1 ( R + 1 , b tail , l , c , a )]]]]]]] end define

lgcdef lgccharge of lgw-make-dict1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-make-dict2 ( " , " , " , " , " )

Index 269 of page lgc

lgcdef lgcname of lgw-make-dict2 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgw-make-dict2 ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgw-make-dict2 ( R , r , l , d , a ) as norm [R is val : [r is val : [l is val : [d is val : [a is val : if d atom then a else if .not. [d head intp] then lgw-make-dict2 ( R , r , l , d head , lgw-make-dict2 ( R , r , l , d tail , a ) ) else LET d head BE [asterisk IN LET asterisk BE [i IN [a [[ [1 + R] + [l * i] -> r :: [i :: [d tail :: <<>>]] ]]]]]]]]]] end define

lgcdef lgccharge of lgw-make-dict2 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-parse-tree ( " , " , " )

Index 270 of page lgc

lgcdef lgcname of lgw-parse-tree ( lgcvar , lgcvar , lgcvar ) as "lgw-parse-tree ( ""! , ""! , ""! )" enddef

define value of lgw-parse-tree ( a , d , v ) as norm [a is val : [d is val : [v is val : LET parse-card ( v ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if c = 0 then lgw-parse-tree-string ( d , v ) else LET a [[ c ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [i IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [n IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET lgw-parse-tree* ( a , n , 0 , d , v , true ) BE [asterisk IN LET asterisk BE [t IN [[[r :: [i :: [d :: <<>>]]] :: [t head]] :: [t tail]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgw-parse-tree ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-parse-tree* ( " , " , " , " , " , " )

Index 271 of page lgc

lgcdef lgcname of lgw-parse-tree* ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgw-parse-tree* ( ""! , ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgw-parse-tree* ( a , n , i , d , v , r ) as norm [a is val : [n is val : [i is val : [d is val : [v is val : [r is val : if i >= n then reverse ( r ) :: v else LET lgw-parse-tree ( a , i :: d , v ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [t IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN lgw-parse-tree* ( a , n , i + 1 , d , v , t :: r )]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgw-parse-tree* ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-parse-tree-string ( " , " )

Index 272 of page lgc

lgcdef lgcname of lgw-parse-tree-string ( lgcvar , lgcvar ) as "lgw-parse-tree-string ( ""! , ""! )" enddef

define value of lgw-parse-tree-string ( d , v ) as norm [d is val : [v is val : LET lgw-parse-string ( v ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN [[[0 :: [s :: [d :: <<>>]]] :: <<>>] :: v]]]]]]]]]]] end define

lgcdef lgccharge of lgw-parse-tree-string ( lgcvar , lgcvar ) as "0" enddef

lgw-codify-initialize ( " , " )

Index 273 of page lgc

lgcdef lgcname of lgw-codify-initialize ( lgcvar , lgcvar ) as "lgw-codify-initialize ( ""! , ""! )" enddef

define value of lgw-codify-initialize ( r , c ) as norm [r is val : [c is val : if c [[ r ]] [[ !"bibliography" ]] tail pairp then c else [c [[ r :: [[!"codex"] :: [r :: [1 :: [0 :: [[!"definition"] :: <<>>]]]]] => [0 :: [[!"proclaim"] :: <<>>]] :: <<>> ]]]]] end define

lgcdef lgccharge of lgw-codify-initialize ( lgcvar , lgcvar ) as "0" enddef

lgw-codify-expand ( " , " )

Index 274 of page lgc

lgcdef lgcname of lgw-codify-expand ( lgcvar , lgcvar ) as "lgw-codify-expand ( ""! , ""! )" enddef

define value of lgw-codify-expand ( r , c ) as norm [r is val : [c is val : LET c [[ r ]] [[ !"codex" ]] [[ r ]] [[ 0 ]] [[ 0 ]] [[ !"macro" ]] BE [asterisk IN LET asterisk BE [d IN if d pairp then lgw-codify-expand1 ( d , c ) else LET c [[ r ]] [[ !"bibliography" ]] first BE [asterisk IN LET asterisk BE [b IN if b then c [[ r ]] [[ !"body" ]] else LET c [[ b ]] [[ !"codex" ]] [[ b ]] [[ 0 ]] [[ 0 ]] [[ !"macro" ]] BE [asterisk IN LET asterisk BE [d IN if d pairp then lgw-codify-expand1 ( d , c ) else [c [[ r ]] [[ !"body" ]]]]]]]]]]] end define

lgcdef lgccharge of lgw-codify-expand ( lgcvar , lgcvar ) as "0" enddef

lgw-codify-expand1 ( " , " )

Index 275 of page lgc

lgcdef lgcname of lgw-codify-expand1 ( lgcvar , lgcvar ) as "lgw-codify-expand1 ( ""! , ""! )" enddef

define value of lgw-codify-expand1 ( d , c ) as norm [d is val : [c is val : LET eval ( d third , true , c ) BE [asterisk IN LET asterisk BE [f IN LET [f apply [c maptag]] untag BE [asterisk IN LET asterisk BE [t IN prune ( t , c )]]]]]] end define

lgcdef lgccharge of lgw-codify-expand1 ( lgcvar , lgcvar ) as "0" enddef

lgw-codify-harvest ( " , " , " , " )

Index 276 of page lgc

lgcdef lgcname of lgw-codify-harvest ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgw-codify-harvest ( ""! , ""! , ""! , ""! )" enddef

define value of lgw-codify-harvest ( r , t , c , C ) as norm [r is val : [t is val : [c is val : [C is val : LET c [[ t ref ]] [[ !"codex" ]] [[ t ref ]] [[ t idx ]] [[ 0 ]] [[ !"definition" ]] BE [asterisk IN LET asterisk BE [d IN if d then lgw-codify-harvest* ( r , t tail , c , C ) else if d idx = !"hide" then C else if d idx = !"proclaim" then lgw-codify-proclaim ( r , t , C ) else if [d idx = !"define"] .or. [d idx = !"introduce"] then lgw-codify-define ( r , t , c , C ) else C]]]]]] end define

lgcdef lgccharge of lgw-codify-harvest ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-codify-harvest* ( " , " , " , " )

Index 277 of page lgc

lgcdef lgcname of lgw-codify-harvest* ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgw-codify-harvest* ( ""! , ""! , ""! , ""! )" enddef

define value of lgw-codify-harvest* ( r , t , c , C ) as norm [r is val : [t is val : [c is val : [C is val : if t atom then C else lgw-codify-harvest* ( r , t tail , c , lgw-codify-harvest ( r , t head , c , C ) )]]]] end define

lgcdef lgccharge of lgw-codify-harvest* ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-proclaim-array

Index 278 of page lgc

lgcdef lgcname of lgw-proclaim-array as "lgw-proclaim-array" enddef

define value of lgw-proclaim-array as norm [true [[ !"apply" -> 2 :: !"value" ]] [[ !"lambda" -> 2 :: !"value" ]] [[ !"true" -> 0 :: !"value" ]] [[ !"if" -> 3 :: !"value" ]] [[ !"quote" -> 1 :: !"value" ]] [[ !"proclaim" -> 2 :: !"definition" ]] [[ !"define" -> 3 :: !"definition" ]] [[ !"introduce" -> 3 :: !"definition" ]] [[ !"hide" -> true :: !"definition" ]]] end define

lgcdef lgccharge of lgw-proclaim-array as "0" enddef

lgw-codify-proclaim ( " , " , " )

Index 279 of page lgc

lgcdef lgcname of lgw-codify-proclaim ( lgcvar , lgcvar , lgcvar ) as "lgw-codify-proclaim ( ""! , ""! , ""! )" enddef

define value of lgw-codify-proclaim ( r , t , C ) as norm [r is val : [t is val : [C is val : if t second ref != 0 then C else if t first ref != r then t raise else LET lgw-proclaim-array [[ t second idx ]] BE [asterisk IN LET asterisk BE [d IN if d .or. [[.not. [d head]] .and. [d head != length ( t first tail )]] then t raise else if t second ref != 0 then t raise else [C [[ r :: [[!"codex"] :: [r :: [t first idx :: [0 :: [d tail :: <<>>]]]]] => [0 :: [t second idx :: <<>>]] :: <<>> ]]]]]]]] end define

lgcdef lgccharge of lgw-codify-proclaim ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgw-tree2aspect ( " , " )

Index 280 of page lgc

lgcdef lgcname of lgw-tree2aspect ( lgcvar , lgcvar ) as "lgw-tree2aspect ( ""! , ""! )" enddef

define value of lgw-tree2aspect ( t , c ) as norm [t is val : [c is val : if t ref = 0 then t else [c [[ t ref ]] [[ !"codex" ]] [[ t ref ]] [[ t idx ]] [[ 0 ]] [[ !"message" ]] third]]] end define

lgcdef lgccharge of lgw-tree2aspect ( lgcvar , lgcvar ) as "0" enddef

lgw-codify-define ( " , " , " , " )

Index 281 of page lgc

lgcdef lgcname of lgw-codify-define ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgw-codify-define ( ""! , ""! , ""! , ""! )" enddef

define value of lgw-codify-define ( r , t , c , C ) as norm [r is val : [t is val : [c is val : [C is val : LET lgw-tree2aspect ( t first , c ) BE [asterisk IN LET asterisk BE [a IN if a then C else [C [[ r :: [[!"codex"] :: [t second ref :: [t second idx :: [a ref :: [a idx :: <<>>]]]]] => t ]]]]]]]]] end define

lgcdef lgccharge of lgw-codify-define ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-node2ref ( " )

Index 282 of page lgc

lgcdef lgcname of lgc-node2ref ( lgcvar ) as "lgc-node2ref ( ""! )" enddef

define value of lgc-node2ref ( n ) as norm [n is val : [n zeroth]] end define

lgcdef lgccharge of lgc-node2ref ( lgcvar ) as "0" enddef

lgc-node2idx ( " )

Index 283 of page lgc

lgcdef lgcname of lgc-node2idx ( lgcvar ) as "lgc-node2idx ( ""! )" enddef

define value of lgc-node2idx ( n ) as norm [n is val : [n first]] end define

lgcdef lgccharge of lgc-node2idx ( lgcvar ) as "0" enddef

lgc-node2charge ( " )

Index 284 of page lgc

lgcdef lgcname of lgc-node2charge ( lgcvar ) as "lgc-node2charge ( ""! )" enddef

define value of lgc-node2charge ( n ) as norm [n is val : [n second]] end define

lgcdef lgccharge of lgc-node2charge ( lgcvar ) as "0" enddef

lgc-node2open ( " )

Index 285 of page lgc

lgcdef lgcname of lgc-node2open ( lgcvar ) as "lgc-node2open ( ""! )" enddef

define value of lgc-node2open ( n ) as norm [n is val : [n third]] end define

lgcdef lgccharge of lgc-node2open ( lgcvar ) as "0" enddef

lgc-node2closed ( " )

Index 286 of page lgc

lgcdef lgcname of lgc-node2closed ( lgcvar ) as "lgc-node2closed ( ""! )" enddef

define value of lgc-node2closed ( n ) as norm [n is val : .not. [n third]] end define

lgcdef lgccharge of lgc-node2closed ( lgcvar ) as "0" enddef

lgc-node2name ( " )

Index 287 of page lgc

lgcdef lgcname of lgc-node2name ( lgcvar ) as "lgc-node2name ( ""! )" enddef

define value of lgc-node2name ( n ) as norm [n is val : [n fourth]] end define

lgcdef lgccharge of lgc-node2name ( lgcvar ) as "0" enddef

lgc-node2binary ( " )

Index 288 of page lgc

lgcdef lgcname of lgc-node2binary ( lgcvar ) as "lgc-node2binary ( ""! )" enddef

define value of lgc-node2binary ( n ) as norm [n is val : [n fifth]] end define

lgcdef lgccharge of lgc-node2binary ( lgcvar ) as "0" enddef

lgc-node2relref ( " )

Index 289 of page lgc

lgcdef lgcname of lgc-node2relref ( lgcvar ) as "lgc-node2relref ( ""! )" enddef

define value of lgc-node2relref ( n ) as norm [n is val : [n sixth]] end define

lgcdef lgccharge of lgc-node2relref ( lgcvar ) as "0" enddef

lgc-grammar ( " )

Index 290 of page lgc

lgcdef lgcname of lgc-grammar ( lgcvar ) as "lgc-grammar ( ""! )" enddef

define value of lgc-grammar ( s ) as norm [s is val : reverse ( exec request ( true , map ( \ s . \ x . lgc-grammar1 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )] end define

lgcdef lgccharge of lgc-grammar ( lgcvar ) as "0" enddef

lgc-grammar1 ( " , " )

Index 291 of page lgc

lgcdef lgcname of lgc-grammar1 ( lgcvar , lgcvar ) as "lgc-grammar1 ( ""! , ""! )" enddef

define value of lgc-grammar1 ( x , s ) as norm [x is val : [s is val : LET reverse ( s [[ !"refbib" ]] ) BE [asterisk IN LET asterisk BE [b IN LET s [[ !"refbib" -> b ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ !"grammar" -> lgc-grammar-init ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-grammar-add-bib ( s [[ !"bib" ]] , 1 , b , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-grammar-add-def ( s ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [s IN if e then lgc-report-messages ( s ) else LET lgc-progress ( !"Parsing" , 3 , s ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-parse1 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar1 ( lgcvar , lgcvar ) as "0" enddef

lgc-grammar-init

Index 292 of page lgc

lgcdef lgcname of lgc-grammar-init as "lgc-grammar-init" enddef

define value of lgc-grammar-init as norm LET true BE [asterisk IN LET asterisk BE [g IN LET lgc-grammar-init1 ( lgc-esc-- , g ) BE [asterisk IN LET asterisk BE [g IN LET lgc-grammar-init1 ( lgc-esc-# , g ) BE [asterisk IN LET asterisk BE [g IN LET lgc-grammar-init1 ( lgc-esc-$ , g ) BE [asterisk IN LET asterisk BE [g IN LET lgc-grammar-init1 ( lgc-esc-C , g ) BE [asterisk IN LET asterisk BE [g IN LET lgc-grammar-init1 ( lgc-esc-N , g ) BE [asterisk IN LET asterisk BE [g IN LET lgc-grammar-init1 ( lgc-esc-S , g ) BE [asterisk IN LET asterisk BE [g IN g]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar-init as "0" enddef

lgc-grammar-init1 ( " , " )

Index 293 of page lgc

lgcdef lgcname of lgc-grammar-init1 ( lgcvar , lgcvar ) as "lgc-grammar-init1 ( ""! , ""! )" enddef

define value of lgc-grammar-init1 ( x , g ) as norm [x is val : [g is val : [g [[ x :: [0 :: <<>>] => [true :: [true :: [true :: [false :: <<>>]]]] :: <<>> ]]]]] end define

lgcdef lgccharge of lgc-grammar-init1 ( lgcvar , lgcvar ) as "0" enddef

lgc-grammar-add-bib ( " , " , " , " )

Index 294 of page lgc

lgcdef lgcname of lgc-grammar-add-bib ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-grammar-add-bib ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-grammar-add-bib ( B , R , b , s ) as norm [B is val : [R is val : [b is val : [s is val : if b atom then s else LET lgc-grammar-add-ref ( B head , R , b head , s ) BE [asterisk IN LET asterisk BE [s IN lgc-grammar-add-bib ( B tail , R + 1 , b tail , s )]]]]]] end define

lgcdef lgccharge of lgc-grammar-add-bib ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-grammar-add-ref ( " , " , " , " )

Index 295 of page lgc

lgcdef lgcname of lgc-grammar-add-ref ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-grammar-add-ref ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-grammar-add-ref ( P , R , r , s ) as norm [P is val : [R is val : [r is val : [s is val : LET P tail BE [asterisk IN LET asterisk BE [P IN LET if P then true :: <<>> else P BE [asterisk IN LET asterisk BE [P IN LET s [[ !"cluster" ]] [[ r ]] [[ r ]] [[ !"dictionary" ]] BE [asterisk IN LET asterisk BE [d IN lgc-grammar-add-dictionary ( P , R , r , d , s )]]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar-add-ref ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-grammar-add-dictionary ( " , " , " , " , " )

Index 296 of page lgc

lgcdef lgcname of lgc-grammar-add-dictionary ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-grammar-add-dictionary ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-grammar-add-dictionary ( P , R , r , d , s ) as norm [P is val : [R is val : [r is val : [d is val : [s is val : if d then s else if d head intp then lgc-grammar-add-construct ( P , R , r , d , s ) else lgc-grammar-add-dictionary ( P , R , r , d tail , lgc-grammar-add-dictionary ( P , R , r , d head , s ) )]]]]] end define

lgcdef lgccharge of lgc-grammar-add-dictionary ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-grammar-add-construct ( " , " , " , " , " )

Index 297 of page lgc

lgcdef lgcname of lgc-grammar-add-construct ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-grammar-add-construct ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-grammar-add-construct ( P , R , r , d , s ) as norm [P is val : [R is val : [r is val : [d is val : [s is val : LET d BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [i IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET lgc-aritysymbol2vt ( r , i , a , s ) BE [asterisk IN LET asterisk BE [n IN LET lgc-grammar-get-charge ( r , i , s ) BE [asterisk IN LET asterisk BE [c IN lgc-grammar-add-construct1 ( P , R , i , c , n , s )]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar-add-construct ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-grammar-add-construct1 ( " , " , " , " , " , " )

Index 298 of page lgc

lgcdef lgcname of lgc-grammar-add-construct1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-grammar-add-construct1 ( ""! , ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-grammar-add-construct1 ( P , R , i , c , n , s ) as norm [P is val : [R is val : [i is val : [c is val : [n is val : [s is val : if P then s else LET P BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [q IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [P IN LET lgc-splice ( q , n ) BE [asterisk IN LET asterisk BE [N IN LET N last = QQ BE [asterisk IN LET asterisk BE [p IN LET lgc-card2septet* ( [1 + R] + [i * [1 + length ( s [[ !"bib" ]] )]] ) BE [asterisk IN LET asterisk BE [b IN LET R :: [i :: [c :: [p :: [N :: [b :: [R :: <<>>]]]]]] BE [asterisk IN LET asterisk BE [t IN LET push* ( s , [!"grammar"] :: append ( N , 0 :: <<>> ) , t ) BE [asterisk IN LET asterisk BE [s IN lgc-grammar-add-construct1 ( P , R , i , c , n , s )]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar-add-construct1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-card2septet* ( " )

Index 299 of page lgc

lgcdef lgcname of lgc-card2septet* ( lgcvar ) as "lgc-card2septet* ( ""! )" enddef

define value of lgc-card2septet* ( c ) as norm [c is val : if c < septet-base then bt2vector* ( c ) else LET floor ( c , septet-base ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN [bt2vector* ( r + septet-base ) :: lgc-card2septet* ( c )]]]]]]]]]] end define

lgcdef lgccharge of lgc-card2septet* ( lgcvar ) as "0" enddef

lgc-aritysymbol2vt ( " , " , " , " )

Index 300 of page lgc

lgcdef lgcname of lgc-aritysymbol2vt ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-aritysymbol2vt ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-aritysymbol2vt ( r , i , a , s ) as norm [r is val : [i is val : [a is val : [s is val : lgc-aritysymbol2vt1 ( r , i , a , s [[ !"cluster" ]] [[ r ]] )]]]] end define

lgcdef lgccharge of lgc-aritysymbol2vt ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-aritysymbol2vt1 ( " , " , " , " )

Index 301 of page lgc

lgcdef lgcname of lgc-aritysymbol2vt1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-aritysymbol2vt1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-aritysymbol2vt1 ( r , i , a , c ) as norm [r is val : [i is val : [a is val : [c is val : LET c [[ r ]] [[ !"codex" ]] [[ r ]] [[ i ]] [[ 0 ]] [[ !"name" ]] BE [asterisk IN LET asterisk BE [N IN if N then lgc-grammar-default-construct ( r , i , a ) else LET N BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [n IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN if n ref != 0 then lgc-grammar-default-construct ( r , i , a ) else LET lgc-trim-contract ( vt2vector* ( n idx ) ) BE [asterisk IN LET asterisk BE [n IN if [n = true] .or. [n = [QQ :: <<>>]] then lgc-grammar-default-construct ( r , i , a ) else if lgc-grammar-valid-construct ( a , n ) then n else lgc-grammar-default-construct ( r , i , a )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-aritysymbol2vt1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-grammar-valid-construct ( " , " )

Index 302 of page lgc

lgcdef lgcname of lgc-grammar-valid-construct ( lgcvar , lgcvar ) as "lgc-grammar-valid-construct ( ""! , ""! )" enddef

define value of lgc-grammar-valid-construct ( a , n ) as norm [a is val : [n is val : if n then a = 0 else LET n BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN if c != QQ then lgc-grammar-valid-construct ( a , n ) else [[n head != QQ] .and. lgc-grammar-valid-construct ( a - 1 , n )]]]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar-valid-construct ( lgcvar , lgcvar ) as "0" enddef

lgc-def2charge ( " )

Index 303 of page lgc

lgcdef lgcname of lgc-def2charge ( lgcvar ) as "lgc-def2charge ( ""! )" enddef

define value of lgc-def2charge ( C ) as norm [C is val : if C then true else LET C BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [c IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN if c ref != 0 then true else LET vt2vector* ( c idx ) BE [asterisk IN LET asterisk BE [c IN LET lgc-parse-charge1 ( c , true ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN if e then true else c]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-def2charge ( lgcvar ) as "0" enddef

lgc-grammar-get-charge ( " , " , " )

Index 304 of page lgc

lgcdef lgcname of lgc-grammar-get-charge ( lgcvar , lgcvar , lgcvar ) as "lgc-grammar-get-charge ( ""! , ""! , ""! )" enddef

define value of lgc-grammar-get-charge ( r , i , s ) as norm [r is val : [i is val : [s is val : lgc-def2charge ( s [[ !"cluster" ]] [[ r ]] [[ r ]] [[ !"codex" ]] [[ r ]] [[ i ]] [[ 0 ]] [[ !"charge" ]] )]]] end define

lgcdef lgccharge of lgc-grammar-get-charge ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-grammar-default-construct ( " , " , " )

Index 305 of page lgc

lgcdef lgcname of lgc-grammar-default-construct ( lgcvar , lgcvar , lgcvar ) as "lgc-grammar-default-construct ( ""! , ""! , ""! )" enddef

define value of lgc-grammar-default-construct ( r , i , a ) as norm [r is val : [i is val : [a is val : LET lgc-string2mixed ( vector-subseq ( r , 1 , 3 ) ) BE [asterisk IN LET asterisk BE [r IN LET lgc-itoa ( i ) BE [asterisk IN LET asterisk BE [i IN LET lgc-grammar-default-arglist ( a ) BE [asterisk IN LET asterisk BE [a IN vt2vector* ( [!"#["] :: [r :: [[!":"] :: [i :: [[!"]"] :: [a :: <<>>]]]]] )]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar-default-construct ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-grammar-default-arglist ( " )

Index 306 of page lgc

lgcdef lgcname of lgc-grammar-default-arglist ( lgcvar ) as "lgc-grammar-default-arglist ( ""! )" enddef

define value of lgc-grammar-default-arglist ( a ) as norm [a is val : if a = 0 then true else [[!" ("] :: [lgc-grammar-default-arglist1 ( a - 1 ) :: [[!" ""! )"] :: <<>>]]]] end define

lgcdef lgccharge of lgc-grammar-default-arglist ( lgcvar ) as "0" enddef

lgc-grammar-default-arglist1 ( " )

Index 307 of page lgc

lgcdef lgcname of lgc-grammar-default-arglist1 ( lgcvar ) as "lgc-grammar-default-arglist1 ( ""! )" enddef

define value of lgc-grammar-default-arglist1 ( a ) as norm [a is val : if a = 0 then true else [[!" ""! ,"] :: lgc-grammar-default-arglist1 ( a - 1 )]] end define

lgcdef lgccharge of lgc-grammar-default-arglist1 ( lgcvar ) as "0" enddef

lgc-grammar-add-def ( " )

Index 308 of page lgc

lgcdef lgcname of lgc-grammar-add-def ( lgcvar ) as "lgc-grammar-add-def ( ""! )" enddef

define value of lgc-grammar-add-def ( s ) as norm [s is val : LET s [[ !"page" ]] BE [asterisk IN LET asterisk BE [p IN if p then lgc-throw-message ( s , 0 , !"No page name found" ) else LET p BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [P IN LET if P then true :: <<>> else P BE [asterisk IN LET asterisk BE [P IN LET s [[ !"index" -> 0 ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-grammar-def-construct ( P , true , p , s ) BE [asterisk IN LET asterisk BE [s IN LET reverse ( s [[ !"def" ]] ) BE [asterisk IN LET asterisk BE [d IN lgc-grammar-add-defs* ( P , d , s )]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar-add-def ( lgcvar ) as "0" enddef

lgc-grammar-def-construct ( " , " , " , " )

Index 309 of page lgc

lgcdef lgcname of lgc-grammar-def-construct ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-grammar-def-construct ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-grammar-def-construct ( P , c , n , s ) as norm [P is val : [c is val : [n is val : [s is val : LET s [[ !"index" ]] BE [asterisk IN LET asterisk BE [i IN LET s [[ !"index" -> i + 1 ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-arity ( n ) BE [asterisk IN LET asterisk BE [a IN LET push ( s , !"dictionary" , i :: a ) BE [asterisk IN LET asterisk BE [s IN LET lgc-card2septet* ( 1 + [i * [1 + length ( s [[ !"bib" ]] )]] ) BE [asterisk IN LET asterisk BE [b IN LET s [[ [!"binary"] :: [i :: <<>>] => b ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ [!"name"] :: [i :: <<>>] => n ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ [!"charge"] :: [i :: <<>>] => lgc-charge2vector* ( c ) ]] BE [asterisk IN LET asterisk BE [s IN lgc-grammar-add-construct1 ( P , 0 , i , c , n , s )]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar-def-construct ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-arity ( " )

Index 310 of page lgc

lgcdef lgcname of lgc-arity ( lgcvar ) as "lgc-arity ( ""! )" enddef

define value of lgc-arity ( n ) as norm [n is val : if n atom then 0 else if n head != QQ then lgc-arity ( n tail ) else [1 + lgc-arity ( n tail )]] end define

lgcdef lgccharge of lgc-arity ( lgcvar ) as "0" enddef

lgc-grammar-add-defs* ( " , " , " )

Index 311 of page lgc

lgcdef lgcname of lgc-grammar-add-defs* ( lgcvar , lgcvar , lgcvar ) as "lgc-grammar-add-defs* ( ""! , ""! , ""! )" enddef

define value of lgc-grammar-add-defs* ( P , d , s ) as norm [P is val : [d is val : [s is val : if d atom then s else LET lgc-grammar-add-defs ( P , d head , s ) BE [asterisk IN LET asterisk BE [s IN lgc-grammar-add-defs* ( P , d tail , s )]]]]] end define

lgcdef lgccharge of lgc-grammar-add-defs* ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-grammar-add-defs ( " , " , " )

Index 312 of page lgc

lgcdef lgcname of lgc-grammar-add-defs ( lgcvar , lgcvar , lgcvar ) as "lgc-grammar-add-defs ( ""! , ""! , ""! )" enddef

define value of lgc-grammar-add-defs ( P , d , s ) as norm [P is val : [d is val : [s is val : LET d BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [d IN LET lgc-parse-charge ( p , s ) BE [asterisk IN LET asterisk BE [p IN lgc-grammar-def-construct* ( P , p , d , s )]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-grammar-add-defs ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-grammar-def-construct* ( " , " , " , " )

Index 313 of page lgc

lgcdef lgcname of lgc-grammar-def-construct* ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-grammar-def-construct* ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-grammar-def-construct* ( P , p , d , s ) as norm [P is val : [p is val : [d is val : [s is val : if d atom then s else LET lgc-grammar-def-construct ( P , p , d head , s ) BE [asterisk IN LET asterisk BE [s IN lgc-grammar-def-construct* ( P , p , d tail , s )]]]]]] end define

lgcdef lgccharge of lgc-grammar-def-construct* ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-parse-charge ( " , " )

Index 314 of page lgc

lgcdef lgcname of lgc-parse-charge ( lgcvar , lgcvar ) as "lgc-parse-charge ( ""! , ""! )" enddef

define value of lgc-parse-charge ( a , s ) as norm [a is val : [s is val : LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET lgc-trim-contract ( a ) BE [asterisk IN LET asterisk BE [a IN LET lgc-parse-charge1 ( a , true ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN if .not. e then c else LET lgc-grammar-get-tuple ( s , a ) BE [asterisk IN LET asterisk BE [t IN if [t != true] .and. [t tail = true] then t head second else if t = true then lgc-throw-message ( s , p , !"Malformed charge" ) else lgc-throw-message ( s , p , !"Charge refers to ambiguous construct" )]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-charge ( lgcvar , lgcvar ) as "0" enddef

lgc-parse-charge1 ( " , " )

Index 315 of page lgc

lgcdef lgcname of lgc-parse-charge1 ( lgcvar , lgcvar ) as "lgc-parse-charge1 ( ""! , ""! )" enddef

define value of lgc-parse-charge1 ( a , r ) as norm [a is val : [r is val : LET lgc-parse-int ( a ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [i IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN if a atom then reverse ( lgc-parse-charge2 ( i :: r ) ) else if a head != !"." then exception else lgc-parse-charge1 ( a tail , i :: r )]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-charge1 ( lgcvar , lgcvar ) as "0" enddef

lgc-parse-charge2 ( " )

Index 316 of page lgc

lgcdef lgcname of lgc-parse-charge2 ( lgcvar ) as "lgc-parse-charge2 ( ""! )" enddef

define value of lgc-parse-charge2 ( r ) as norm [r is val : if r head != 0 then r else lgc-parse-charge2 ( r tail )] end define

lgcdef lgccharge of lgc-parse-charge2 ( lgcvar ) as "0" enddef

lgc-charge2vector* ( " )

Index 317 of page lgc

lgcdef lgcname of lgc-charge2vector* ( lgcvar ) as "lgc-charge2vector* ( ""! )" enddef

define value of lgc-charge2vector* ( c ) as norm [c is val : if c atom then [!"0"] :: <<>> else append ( lgc-itoa ( c head ) , lgc-charge2vector*1 ( c tail ) )] end define

lgcdef lgccharge of lgc-charge2vector* ( lgcvar ) as "0" enddef

lgc-charge2vector*1 ( " )

Index 318 of page lgc

lgcdef lgcname of lgc-charge2vector*1 ( lgcvar ) as "lgc-charge2vector*1 ( ""! )" enddef

define value of lgc-charge2vector*1 ( c ) as norm [c is val : if c atom then true else [[!"."] :: append ( lgc-itoa ( c head ) , lgc-charge2vector*1 ( c tail ) )]] end define

lgcdef lgccharge of lgc-charge2vector*1 ( lgcvar ) as "0" enddef

lgc-grammar-get-tuple ( " , " )

Index 319 of page lgc

lgcdef lgcname of lgc-grammar-get-tuple ( lgcvar , lgcvar ) as "lgc-grammar-get-tuple ( ""! , ""! )" enddef

define value of lgc-grammar-get-tuple ( s , n ) as norm [s is val : [n is val : [get* ( s [[ !"grammar" ]] , n ) [[ 0 ]]]]] end define

lgcdef lgccharge of lgc-grammar-get-tuple ( lgcvar , lgcvar ) as "0" enddef

lgc-charge ( " , " )

Index 320 of page lgc

lgcdef lgcname of lgc-charge ( lgcvar , lgcvar ) as "lgc-charge ( ""! , ""! )" enddef

define value of lgc-charge ( L , s ) as norm [L is val : [s is val : lgc-charge1 ( L , s , true )]] end define

lgcdef lgccharge of lgc-charge ( lgcvar , lgcvar ) as "0" enddef

lgc-charge1 ( " , " , " )

Index 321 of page lgc

lgcdef lgcname of lgc-charge1 ( lgcvar , lgcvar , lgcvar ) as "lgc-charge1 ( ""! , ""! , ""! )" enddef

define value of lgc-charge1 ( L , s , r ) as norm [L is val : [s is val : [r is val : if L then r else LET L BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [t IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [L IN LET lgc-charge2 ( t , L , s , r ) BE [asterisk IN LET asterisk BE [r IN lgc-charge1 ( L , s , r )]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge2 ( " , " , " , " )

Index 322 of page lgc

lgcdef lgcname of lgc-charge2 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-charge2 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-charge2 ( t , L , s , r ) as norm [t is val : [L is val : [s is val : [r is val : LET t BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [p IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [v IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN if c >= NULL then r else if c = lgc-esc-right then lgc-charge-right ( p , v , L , s , r ) else if c = lgc-esc-brace then lgc-charge-brace ( p , v , L , s , r ) else if c = lgc-esc-left then lgc-charge-left ( r ) else if c = lgc-esc-- then lgc-charge-string ( v , r ) else if c = lgc-esc-# then lgc-charge-binary ( v , s , r ) else if c = lgc-esc-$ then lgc-charge-text ( v , s , r ) else if c = lgc-esc-S then lgc-charge-source ( s , r ) else if c = lgc-esc-N then lgc-charge-name ( p , s , r ) else if c = lgc-esc-C then lgc-charge-charge ( p , s , r ) else lgc-panic ( !"Internal error in lgc-charge2" )]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge2 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-right ( " , " , " , " , " )

Index 323 of page lgc

lgcdef lgcname of lgc-charge-right ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-charge-right ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-charge-right ( p , N , L , s , r ) as norm [p is val : [N is val : [L is val : [s is val : [r is val : if N tail then [true :: [N head :: <<>>]] :: r else LET lgc-charge-right1 ( L , 0 ) :: N BE [asterisk IN LET asterisk BE [a IN lgc-parse-ambiguous-construct ( a , s )]]]]]]] end define

lgcdef lgccharge of lgc-charge-right ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-right1 ( " , " )

Index 324 of page lgc

lgcdef lgcname of lgc-charge-right1 ( lgcvar , lgcvar ) as "lgc-charge-right1 ( ""! , ""! )" enddef

define value of lgc-charge-right1 ( L , l ) as norm [L is val : [l is val : if L atom then 0 else LET L BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [v IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [L IN if c = lgc-esc-right then lgc-charge-right1 ( L , l + 1 ) else if c = lgc-esc-brace then lgc-charge-right1 ( L , l ) else if c = lgc-esc-left then lgc-charge-right1 ( L , l - 1 ) else if l > 0 then lgc-charge-right1 ( L , l ) else p]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-right1 ( lgcvar , lgcvar ) as "0" enddef

lgc-charge-brace ( " , " , " , " , " )

Index 325 of page lgc

lgcdef lgcname of lgc-charge-brace ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-charge-brace ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-charge-brace ( p , N , L , s , r ) as norm [p is val : [N is val : [L is val : [s is val : [r is val : LET lgc-charge-brace0 ( r ) BE [asterisk IN LET asterisk BE [r IN lgc-charge-right ( p , N , L , s , r )]]]]]]] end define

lgcdef lgccharge of lgc-charge-brace ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-brace0 ( " )

Index 326 of page lgc

lgcdef lgcname of lgc-charge-brace0 ( lgcvar ) as "lgc-charge-brace0 ( ""! )" enddef

define value of lgc-charge-brace0 ( r ) as norm [r is val : LET r BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [P IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET P head BE [asterisk IN LET asterisk BE [n IN LET lgc-node2charge ( n ) BE [asterisk IN LET asterisk BE [C IN LET lgc-node2closed ( n ) BE [asterisk IN LET asterisk BE [p IN LET [false :: P] :: <<>> BE [asterisk IN LET asterisk BE [r prime IN lgc-charge-brace1 ( C , p , r prime , r )]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-brace0 ( lgcvar ) as "0" enddef

lgc-charge-brace1 ( " , " , " , " )

Index 327 of page lgc

lgcdef lgcname of lgc-charge-brace1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-charge-brace1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-charge-brace1 ( C , p , r prime , r ) as norm [C is val : [p is val : [r prime is val : [r is val : if r then revappend ( r prime , r ) else LET r head BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [m IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [n IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [A IN if p .and. .not. m then lgc-charge-brace1 ( C , p , r head :: [r prime] , r tail ) else if [A != true] .or. lgc-node2closed ( n ) then revappend ( r prime , r ) else if lgc-less-charge ( C , lgc-node2charge ( n ) ) then revappend ( r prime , r ) else [r head :: lgc-charge-brace1 ( C , p , r prime , r tail )]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-brace1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-less-charge ( " , " )

Index 328 of page lgc

lgcdef lgcname of lgc-less-charge ( lgcvar , lgcvar ) as "lgc-less-charge ( ""! , ""! )" enddef

define value of lgc-less-charge ( x , y ) as norm [x is val : [y is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [x IN LET y BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [y IN LET if a then 0 else a BE [asterisk IN LET asterisk BE [a IN LET if b then 0 else b BE [asterisk IN LET asterisk BE [b IN if a < b then true else if a > b then false else if x .and. y then oddp ( a ) else lgc-less-charge ( x , y )]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-less-charge ( lgcvar , lgcvar ) as "0" enddef

lgc-charge-left ( " )

Index 329 of page lgc

lgcdef lgcname of lgc-charge-left ( lgcvar ) as "lgc-charge-left ( ""! )" enddef

define value of lgc-charge-left ( r ) as norm [r is val : LET r BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [n IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [A IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN lgc-charge-left1 ( n , A , r )]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-left ( lgcvar ) as "0" enddef

lgc-charge-left1 ( " , " , " )

Index 330 of page lgc

lgcdef lgcname of lgc-charge-left1 ( lgcvar , lgcvar , lgcvar ) as "lgc-charge-left1 ( ""! , ""! , ""! )" enddef

define value of lgc-charge-left1 ( n , A , r ) as norm [n is val : [A is val : [r is val : LET lgc-node2binary ( n ) :: A BE [asterisk IN LET asterisk BE [a IN if r atom then a else LET r BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [m IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [n IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [A IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN if m then [true :: [n :: [a :: A]]] :: r else lgc-charge-left1 ( n , a :: A , r )]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-left1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-string ( " , " )

Index 331 of page lgc

lgcdef lgcname of lgc-charge-string ( lgcvar , lgcvar ) as "lgc-charge-string ( ""! , ""! )" enddef

define value of lgc-charge-string ( v , r ) as norm [v is val : [r is val : lgc-charge-string1 ( vector-length ( v ) , v , r )]] end define

lgcdef lgccharge of lgc-charge-string ( lgcvar , lgcvar ) as "0" enddef

lgc-charge-string1 ( " , " , " )

Index 332 of page lgc

lgcdef lgcname of lgc-charge-string1 ( lgcvar , lgcvar , lgcvar ) as "lgc-charge-string1 ( ""! , ""! , ""! )" enddef

define value of lgc-charge-string1 ( l , v , r ) as norm [l is val : [v is val : [r is val : lgc-charge-bytes ( lgc-string2bytes ( l , v ) , r )]]] end define

lgcdef lgccharge of lgc-charge-string1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-string2bytes ( " , " )

Index 333 of page lgc

lgcdef lgcname of lgc-string2bytes ( lgcvar , lgcvar ) as "lgc-string2bytes ( ""! , ""! )" enddef

define value of lgc-string2bytes ( l , v ) as norm [l is val : [v is val : [NULL :: [lgc-card2septet* ( l ) :: v]]]] end define

lgcdef lgccharge of lgc-string2bytes ( lgcvar , lgcvar ) as "0" enddef

lgc-charge-bytes ( " , " )

Index 334 of page lgc

lgcdef lgcname of lgc-charge-bytes ( lgcvar , lgcvar ) as "lgc-charge-bytes ( ""! , ""! )" enddef

define value of lgc-charge-bytes ( b , r ) as norm [b is val : [r is val : LET true :: [true :: [true :: [true :: [true :: [b :: <<>>]]]]] BE [asterisk IN LET asterisk BE [n IN [[true :: [n :: <<>>]] :: [r tail]]]]]] end define

lgcdef lgccharge of lgc-charge-bytes ( lgcvar , lgcvar ) as "0" enddef

lgc-charge-binary ( " , " , " )

Index 335 of page lgc

lgcdef lgcname of lgc-charge-binary ( lgcvar , lgcvar , lgcvar ) as "lgc-charge-binary ( ""! , ""! , ""! )" enddef

define value of lgc-charge-binary ( v , s , r ) as norm [v is val : [s is val : [r is val : LET s [[ !"includes" ]] [[ v ]] BE [asterisk IN LET asterisk BE [v IN lgc-charge-string1 ( length ( v ) , v , r )]]]]] end define

lgcdef lgccharge of lgc-charge-binary ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-text ( " , " , " )

Index 336 of page lgc

lgcdef lgcname of lgc-charge-text ( lgcvar , lgcvar , lgcvar ) as "lgc-charge-text ( ""! , ""! , ""! )" enddef

define value of lgc-charge-text ( v , s , r ) as norm [v is val : [s is val : [r is val : LET s [[ !"includes" ]] [[ v ]] BE [asterisk IN LET asterisk BE [v IN LET lgc-charge-text1 ( v , true , true ) BE [asterisk IN LET asterisk BE [v IN lgc-charge-string1 ( length ( v ) , v , r )]]]]]]] end define

lgcdef lgccharge of lgc-charge-text ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-text1 ( " , " , " )

Index 337 of page lgc

lgcdef lgcname of lgc-charge-text1 ( lgcvar , lgcvar , lgcvar ) as "lgc-charge-text1 ( ""! , ""! , ""! )" enddef

define value of lgc-charge-text1 ( a , i , r ) as norm [a is val : [i is val : [r is val : if a atom then reverse ( r ) else LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN if c = i then lgc-charge-text1 ( a , true , r ) else if c = CR then lgc-charge-text1 ( a , LF , LF :: r ) else if c = LF then lgc-charge-text1 ( a , CR , LF :: r ) else lgc-charge-text1 ( a , true , c :: r )]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-text1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-host-newline ( " )

Index 338 of page lgc

lgcdef lgcname of lgc-host-newline ( lgcvar ) as "lgc-host-newline ( ""! )" enddef

define value of lgc-host-newline ( s ) as norm [s is val : LET s [[ !"parameters" ]] [[ !"newline" ]] head BE [asterisk IN LET asterisk BE [n IN LET lgc-argv-downcase ( n ) BE [asterisk IN LET asterisk BE [n IN if n = "crlf" then CRLF else if n = "cr" then CR else if n = "lfcf" then LFCR else LF]]]]] end define

lgcdef lgccharge of lgc-host-newline ( lgcvar ) as "0" enddef

lgc-get-newline ( " , " )

Index 339 of page lgc

lgcdef lgcname of lgc-get-newline ( lgcvar , lgcvar ) as "lgc-get-newline ( ""! , ""! )" enddef

define value of lgc-get-newline ( s , v ) as norm [s is val : [v is val : if v atom then lgc-host-newline ( s ) else LET v BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if c = LF then if v head = CR then LFCR else LF else if c = CR then if v head = LF then CRLF else CR else lgc-get-newline ( s , v )]]]]]]]]]] end define

lgcdef lgccharge of lgc-get-newline ( lgcvar , lgcvar ) as "0" enddef

lgc-add-newline ( " , " )

Index 340 of page lgc

lgcdef lgcname of lgc-add-newline ( lgcvar , lgcvar ) as "lgc-add-newline ( ""! , ""! )" enddef

define value of lgc-add-newline ( s , v ) as norm [s is val : [v is val : [lgc-get-newline ( s , v ) :: v]]] end define

lgcdef lgccharge of lgc-add-newline ( lgcvar , lgcvar ) as "0" enddef

lgc-add-headline ( " , " , " )

Index 341 of page lgc

lgcdef lgcname of lgc-add-headline ( lgcvar , lgcvar , lgcvar ) as "lgc-add-headline ( ""! , ""! , ""! )" enddef

define value of lgc-add-headline ( s , R , v ) as norm [s is val : [R is val : [v is val : LET lgc-parse-headline ( v ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [h IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [v IN if h != true then append ( h , append ( R , v ) ) else append ( lgc-headline , append ( R , lgc-add-newline ( s , v ) ) )]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-add-headline ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-source ( " , " )

Index 342 of page lgc

lgcdef lgcname of lgc-charge-source ( lgcvar , lgcvar ) as "lgc-charge-source ( ""! , ""! )" enddef

define value of lgc-charge-source ( s , r ) as norm [s is val : [r is val : LET s [[ !"source" ]] BE [asterisk IN LET asterisk BE [v IN LET lgc-add-headline ( s , true , v ) BE [asterisk IN LET asterisk BE [v IN lgc-charge-string1 ( length ( v ) , v , r )]]]]]] end define

lgcdef lgccharge of lgc-charge-source ( lgcvar , lgcvar ) as "0" enddef

lgc-headline

Index 343 of page lgc

lgcdef lgcname of lgc-headline as "lgc-headline" enddef

define value of lgc-headline as norm [QQ :: [QQ :: [[!";"] :: [[!";"] :: <<>>]]]] end define

lgcdef lgccharge of lgc-headline as "0" enddef

lgc-parse-headline ( " )

Index 344 of page lgc

lgcdef lgcname of lgc-parse-headline ( lgcvar ) as "lgc-parse-headline ( ""! )" enddef

define value of lgc-parse-headline ( v ) as norm [v is val : LET lgc-parse-prefix ( lgc-headline , v ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [V IN if e then true :: [true :: v] else [lgc-headline :: lgc-parse-headline1 ( V , true )]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-headline ( lgcvar ) as "0" enddef

lgc-parse-headline1 ( " , " )

Index 345 of page lgc

lgcdef lgcname of lgc-parse-headline1 ( lgcvar , lgcvar ) as "lgc-parse-headline1 ( ""! , ""! )" enddef

define value of lgc-parse-headline1 ( v , r ) as norm [v is val : [r is val : if v atom then r :: v else LET v BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [V IN if [[!"0"] <= c] .and. [c <= !"9"] then lgc-parse-headline1 ( V , c :: r ) else if [[!"A"] <= c] .and. [c <= !"F"] then lgc-parse-headline1 ( V , c :: r ) else [r :: v]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-headline1 ( lgcvar , lgcvar ) as "0" enddef

lgc-charge-name ( " , " , " )

Index 346 of page lgc

lgcdef lgcname of lgc-charge-name ( lgcvar , lgcvar , lgcvar ) as "lgc-charge-name ( ""! , ""! , ""! )" enddef

define value of lgc-charge-name ( p , s , r ) as norm [p is val : [s is val : [r is val : lgc-charge-auto ( p , "name" , s , r )]]] end define

lgcdef lgccharge of lgc-charge-name ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-charge ( " , " , " )

Index 347 of page lgc

lgcdef lgcname of lgc-charge-charge ( lgcvar , lgcvar , lgcvar ) as "lgc-charge-charge ( ""! , ""! , ""! )" enddef

define value of lgc-charge-charge ( p , s , r ) as norm [p is val : [s is val : [r is val : lgc-charge-auto ( p , "charge" , s , r )]]] end define

lgcdef lgccharge of lgc-charge-charge ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-auto ( " , " , " , " )

Index 348 of page lgc

lgcdef lgcname of lgc-charge-auto ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-charge-auto ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-charge-auto ( p , n , s , r ) as norm [p is val : [n is val : [s is val : [r is val : LET lgc-charge-name-find ( p , !""-""! then ""!" , true , s ) BE [asterisk IN LET asterisk BE [b IN LET b :: lgc-charge-name-find ( p , !"def ""! of ""! as ""! enddef" , true , s ) BE [asterisk IN LET asterisk BE [b IN LET b :: lgc-charge-name-find ( p , n , n , s ) BE [asterisk IN LET asterisk BE [b IN LET lgc-charge-name-find ( p , !"var" , true , s ) BE [asterisk IN LET asterisk BE [v IN LET lgc-charge-name-find ( p , !"end" , true , s ) BE [asterisk IN LET asterisk BE [e IN LET s [[ !"dictionary" ]] BE [asterisk IN LET asterisk BE [d IN LET lgc-charge-auto1 ( d , b , v , s [[ n ]] , s [[ !"binary" ]] , e ) BE [asterisk IN LET asterisk BE [b IN lgc-charge-bytes ( b , r )]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-auto ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-name-find ( " , " , " , " )

Index 349 of page lgc

lgcdef lgcname of lgc-charge-name-find ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-charge-name-find ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-charge-name-find ( p , n , d , s ) as norm [p is val : [n is val : [d is val : [s is val : LET vt2vector* ( !"lgc" ) BE [asterisk IN LET asterisk BE [q IN LET lgc-splice ( q , vt2vector* ( n ) ) BE [asterisk IN LET asterisk BE [n IN LET lgc-charge-name2binary ( lgc-splice ( q , n ) , s ) BE [asterisk IN LET asterisk BE [b IN if b != true then b else LET lgc-charge-name2binary ( n , s ) BE [asterisk IN LET asterisk BE [b IN if b != true then b else if d != true then lgc-string2bytes ( vector-length ( d ) , d ) else LET !"Cannot generate name and charge definitions (""!""!N and ""!""!C)" BE [asterisk IN LET asterisk BE [m IN LET m :: [LF :: [[!"Can find neither "] :: [n :: [[!" nor "] :: lgc-splice ( q , n )]]]] BE [asterisk IN LET asterisk BE [m IN lgc-throw-message ( s , p , m )]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-name-find ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-charge-name2binary ( " , " )

Index 350 of page lgc

lgcdef lgcname of lgc-charge-name2binary ( lgcvar , lgcvar ) as "lgc-charge-name2binary ( ""! , ""! )" enddef

define value of lgc-charge-name2binary ( n , s ) as norm [n is val : [s is val : LET lgc-grammar-get-tuple ( s , n ) BE [asterisk IN LET asterisk BE [N IN LET lgc-charge-best-node ( N ) BE [asterisk IN LET asterisk BE [n IN lgc-node2binary ( n )]]]]]] end define

lgcdef lgccharge of lgc-charge-name2binary ( lgcvar , lgcvar ) as "0" enddef

lgc-charge-best-node ( " )

Index 351 of page lgc

lgcdef lgcname of lgc-charge-best-node ( lgcvar ) as "lgc-charge-best-node ( ""! )" enddef

define value of lgc-charge-best-node ( N ) as norm [N is val : if N atom then true else LET N BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [N IN LET lgc-charge-best-node ( N ) BE [asterisk IN LET asterisk BE [n prime IN if n prime then n else LET lgc-node2relref ( n ) BE [asterisk IN LET asterisk BE [R IN LET lgc-node2relref ( n prime ) BE [asterisk IN LET asterisk BE [R prime IN if R < [R prime] then n else if R prime < R then n prime else LET lgc-node2idx ( n ) BE [asterisk IN LET asterisk BE [i IN LET lgc-node2idx ( n prime ) BE [asterisk IN LET asterisk BE [i prime IN if i < [i prime] then n else [n prime]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-best-node ( lgcvar ) as "0" enddef

lgc-charge-auto1 ( " , " , " , " , " , " )

Index 352 of page lgc

lgcdef lgcname of lgc-charge-auto1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-charge-auto1 ( ""! , ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-charge-auto1 ( d , b , v , A , B , r ) as norm [d is val : [b is val : [v is val : [A is val : [B is val : [r is val : if d atom then r else LET d BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [i IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [a IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [d IN LET A [[ i ]] BE [asterisk IN LET asterisk BE [S IN LET lgc-string2bytes ( length ( S ) , S ) BE [asterisk IN LET asterisk BE [S IN LET b :: [B [[ i ]] :: [repeat ( a , v ) :: [S :: r]]] BE [asterisk IN LET asterisk BE [r IN lgc-charge-auto1 ( d , b , v , A , B , r )]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-charge-auto1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-vectorize ( " , " )

Index 353 of page lgc

lgcdef lgcname of lgc-vectorize ( lgcvar , lgcvar ) as "lgc-vectorize ( ""! , ""! )" enddef

define value of lgc-vectorize ( L , s ) as norm [L is val : [s is val : LET lgc-charge ( L , s ) BE [asterisk IN LET asterisk BE [v IN LET lgc-add-dict ( s [[ !"dictionary" ]] , v ) BE [asterisk IN LET asterisk BE [v IN LET lgc-add-bib ( s [[ !"refbib" ]] , v ) BE [asterisk IN LET asterisk BE [v IN LET lgc-add-ref ( s , v ) BE [asterisk IN LET asterisk BE [v IN v]]]]]]]]]] end define

lgcdef lgccharge of lgc-vectorize ( lgcvar , lgcvar ) as "0" enddef

lgc-add-dict ( " , " )

Index 354 of page lgc

lgcdef lgcname of lgc-add-dict ( lgcvar , lgcvar ) as "lgc-add-dict ( ""! , ""! )" enddef

define value of lgc-add-dict ( d , v ) as norm [d is val : [v is val : if d atom then NULL :: v else LET d BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [i IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [a IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [d IN LET lgc-add-dict ( d , v ) BE [asterisk IN LET asterisk BE [v IN if i = 0 then v else LET lgc-card2septet* ( i ) BE [asterisk IN LET asterisk BE [i IN LET lgc-card2septet* ( a ) BE [asterisk IN LET asterisk BE [a IN [i :: [a :: v]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-add-dict ( lgcvar , lgcvar ) as "0" enddef

lgc-add-bib ( " , " )

Index 355 of page lgc

lgcdef lgcname of lgc-add-bib ( lgcvar , lgcvar ) as "lgc-add-bib ( ""! , ""! )" enddef

define value of lgc-add-bib ( b , v ) as norm [b is val : [v is val : if b atom then NULL :: v else LET b BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET lgc-ref2vector* ( r ) BE [asterisk IN LET asterisk BE [r IN LET lgc-add-bib ( b , v ) BE [asterisk IN LET asterisk BE [v IN [r :: v]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-add-bib ( lgcvar , lgcvar ) as "0" enddef

lgc-ref2vector* ( " )

Index 356 of page lgc

lgcdef lgcname of lgc-ref2vector* ( lgcvar ) as "lgc-ref2vector* ( ""! )" enddef

define value of lgc-ref2vector* ( r ) as norm [r is val : LET vector-length ( r ) BE [asterisk IN LET asterisk BE [l IN LET lgc-card2septet* ( l ) BE [asterisk IN LET asterisk BE [l IN LET vt2vector* ( r ) BE [asterisk IN LET asterisk BE [r IN [l :: r]]]]]]]] end define

lgcdef lgccharge of lgc-ref2vector* ( lgcvar ) as "0" enddef

lgc-ref-version

Index 357 of page lgc

lgcdef lgcname of lgc-ref-version as "lgc-ref-version" enddef

define value of lgc-ref-version as norm bt2vector ( 1 ) end define

lgcdef lgccharge of lgc-ref-version as "0" enddef

lgc-hex2card ( " )

Index 358 of page lgc

lgcdef lgcname of lgc-hex2card ( lgcvar ) as "lgc-hex2card ( ""! )" enddef

define value of lgc-hex2card ( c ) as norm [c is val : if [[!"0"] <= c] .and. [c <= !"9"] then c - "0" else if [[!"A"] <= c] .and. [c <= !"F"] then [c - "A"] + Base else true] end define

lgcdef lgccharge of lgc-hex2card ( lgcvar ) as "0" enddef

lgc-mixed2vector* ( " )

Index 359 of page lgc

lgcdef lgcname of lgc-mixed2vector* ( lgcvar ) as "lgc-mixed2vector* ( ""! )" enddef

define value of lgc-mixed2vector* ( R ) as norm [R is val : if R tail atom then true else LET R BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [d IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [R IN LET bt2vector ( [lgc-hex2card ( c ) * [%% %1 %6]] + lgc-hex2card ( d ) ) BE [asterisk IN LET asterisk BE [D IN [D :: lgc-mixed2vector* ( R )]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-mixed2vector* ( lgcvar ) as "0" enddef

lgc-add-ref ( " , " )

Index 360 of page lgc

lgcdef lgcname of lgc-add-ref ( lgcvar , lgcvar ) as "lgc-add-ref ( ""! , ""! )" enddef

define value of lgc-add-ref ( s , v ) as norm [s is val : [v is val : LET lgc-parse-headline ( s [[ !"source" ]] ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [h IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [H IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN if h then lgc-add-ref1 ( s , v ) else LET lgc-mixed2vector* ( reverse ( H ) ) BE [asterisk IN LET asterisk BE [H IN LET list-suffix ( H , %% %2 %1 ) BE [asterisk IN LET asterisk BE [t IN LET ripemd ( t :: v ) BE [asterisk IN LET asterisk BE [R IN LET vt2vector* ( lgc-ref-version :: [R :: t] ) BE [asterisk IN LET asterisk BE [r IN if H != r then lgc-add-ref1 ( s , v ) else LET append ( lgc-card2septet* ( length ( r ) ) , r ) BE [asterisk IN LET asterisk BE [r IN [r :: v]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-add-ref ( lgcvar , lgcvar ) as "0" enddef

lgc-add-ref1 ( " , " )

Index 361 of page lgc

lgcdef lgcname of lgc-add-ref1 ( lgcvar , lgcvar ) as "lgc-add-ref1 ( ""! , ""! )" enddef

define value of lgc-add-ref1 ( s , v ) as norm [s is val : [v is val : LET s [[ !"time" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [m IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [e IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET lgc-card2septet* ( m ) BE [asterisk IN LET asterisk BE [m IN LET lgc-card2septet* ( e ) BE [asterisk IN LET asterisk BE [e IN LET ripemd ( m :: [e :: v] ) BE [asterisk IN LET asterisk BE [R IN LET vt2vector* ( lgc-ref-version :: [R :: [m :: e]] ) BE [asterisk IN LET asterisk BE [r IN LET append ( lgc-card2septet* ( length ( r ) ) , r ) BE [asterisk IN LET asterisk BE [r IN [r :: v]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-add-ref1 ( lgcvar , lgcvar ) as "0" enddef

lgc-parse1 ( " , " )

Index 362 of page lgc

lgcdef lgcname of lgc-parse1 ( lgcvar , lgcvar ) as "lgc-parse1 ( ""! , ""! )" enddef

define value of lgc-parse1 ( x , s ) as norm [x is val : [s is val : LET s [[ !"grammar" ]] BE [asterisk IN LET asterisk BE [g IN LET s [[ !"body" ]] BE [asterisk IN LET asterisk BE [a IN LET lgc-parse ( g , a ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if e then lgc-parse-ambiguous ( v , s ) else if v head != true then lgc-parse-no-interpretations ( v , s ) else LET vt2vector* ( lgc-vectorize ( v tail , s ) ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN if e then lgc-report-messages ( b ) else LET s [[ !"vector" -> b ]] BE [asterisk IN LET asterisk BE [s IN lgc-parse2 ( s )]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse1 ( lgcvar , lgcvar ) as "0" enddef

lgc-parse2 ( " )

Index 363 of page lgc

lgcdef lgcname of lgc-parse2 ( lgcvar ) as "lgc-parse2 ( ""! )" enddef

define value of lgc-parse2 ( s ) as norm [s is val : LET lgw-parse-string ( s [[ !"vector" ]] ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET s [[ !"reference" -> r ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-parse-headline ( s [[ !"source" ]] ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [h IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [R IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [S IN if h then lgc-parse3 ( s ) else LET lgc-string2mixed ( r ) BE [asterisk IN LET asterisk BE [r prime IN if r prime = reverse ( R ) then lgc-parse4 ( r prime , s ) else LET h :: [r prime :: S] BE [asterisk IN LET asterisk BE [S IN LET lgc-progress ( !"Writing header back to source" , 3 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileWrite ( s [[ !"sourcename" ]] , S ) ) BE [asterisk IN LET asterisk BE [s IN lgc-parse3 ( s )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse2 ( lgcvar ) as "0" enddef

lgc-parse3 ( " )

Index 364 of page lgc

lgcdef lgcname of lgc-parse3 ( lgcvar ) as "lgc-parse3 ( ""! )" enddef

define value of lgc-parse3 ( s ) as norm [s is val : LET lgc-progress ( !"Codifying" , 3 , s ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-parse-codify-lgw ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]] end define

lgcdef lgccharge of lgc-parse3 ( lgcvar ) as "0" enddef

lgc-parse4 ( " , " )

Index 365 of page lgc

lgcdef lgcname of lgc-parse4 ( lgcvar , lgcvar ) as "lgc-parse4 ( ""! , ""! )" enddef

define value of lgc-parse4 ( r , s ) as norm [r is val : [s is val : LET s [[ !"path" -> s [[ !"parameters" ]] [[ !"path" ]] ]] BE [asterisk IN LET asterisk BE [s IN lgc-parse5 ( s [[ !"mixed" -> r ]] )]]]] end define

lgcdef lgccharge of lgc-parse4 ( lgcvar , lgcvar ) as "0" enddef

lgc-parse5 ( " )

Index 366 of page lgc

lgcdef lgcname of lgc-parse5 ( lgcvar ) as "lgc-parse5 ( ""! )" enddef

define value of lgc-parse5 ( s ) as norm [s is val : LET s [[ !"path" ]] BE [asterisk IN LET asterisk BE [P IN if P atom then lgc-parse3 ( s ) else LET P BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [P IN LET s [[ !"path" -> P ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-replace-colon ( vt2vector* ( p ) , s [[ !"mixed" ]] ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN if e then lgc-load-no-colon ( s ) else if lgc-file-suffix ( p ) != lgr-suffix then lgc-parse5 ( s ) else if lgc-prefix ( lgc-http-prefix , p ) then lgc-parse5 ( s ) else if lgc-prefix ( lgc-lgw-prefix , p ) then lgc-parse5 ( s ) else if lgc-prefix ( lgc-name-prefix , p ) then lgc-parse5 ( s ) else LET if lgc-prefix ( lgc-file-prefix , p ) then list-suffix ( p , 5 ) else p BE [asterisk IN LET asterisk BE [p IN LET lgc-tilde-expand1 ( p , s ) BE [asterisk IN LET asterisk BE [p IN LET lgc-progress ( [!"Reading file:"] :: p , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileTypeRead ( p ) ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-parse6 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse5 ( lgcvar ) as "0" enddef

lgc-parse6 ( " , " )

Index 367 of page lgc

lgcdef lgcname of lgc-parse6 ( lgcvar , lgcvar ) as "lgc-parse6 ( ""! , ""! )" enddef

define value of lgc-parse6 ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [x IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN if x then lgc-parse5 ( s ) else LET sl2rack ( x ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN if e then lgc-load-malformed-page ( s ) else LET c [[ !"bibliography" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET true [[ 0 -> r ]] [[ r -> c ]] BE [asterisk IN LET asterisk BE [c IN LET s [[ [!"cluster"] :: [r :: <<>>] => c ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-load-codify-closure ( r , s ) BE [asterisk IN LET asterisk BE [s IN LET s [[ !"cluster" ]] [[ r ]] BE [asterisk IN LET asterisk BE [c IN LET lgr-cache-restore ( c ) BE [asterisk IN LET asterisk BE [c IN LET s [[ [!"cluster"] :: [r :: <<>>] => c ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( !"Rendering" , 3 , s ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse6 ( lgcvar , lgcvar ) as "0" enddef

lgc-parse ( " , " )

Index 368 of page lgc

lgcdef lgcname of lgc-parse ( lgcvar , lgcvar ) as "lgc-parse ( ""! , ""! )" enddef

define value of lgc-parse ( g , a ) as norm [g is val : [a is val : LET [lgc-esc-left :: [0 :: [true :: <<>>]]] :: <<>> BE [asterisk IN LET asterisk BE [t IN LET g :: <<>> BE [asterisk IN LET asterisk BE [s IN LET 0 :: [s :: <<>>] BE [asterisk IN LET asterisk BE [r IN lgc-parse-token ( a , t , s , r , g )]]]]]]]] end define

lgcdef lgccharge of lgc-parse ( lgcvar , lgcvar ) as "0" enddef

lgc-parse-any ( " , " , " , " , " , " )

Index 369 of page lgc

lgcdef lgcname of lgc-parse-any ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-parse-any ( ""! , ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-parse-any ( p , a , t , s , r , g ) as norm [p is val : [a is val : [t is val : [s is val : [r is val : [g is val : LET lgc-parse-left ( p , a , t , s , r , g ) BE [asterisk IN LET asterisk BE [r IN LET lgc-parse-right ( p , a , t , s , r , g ) BE [asterisk IN LET asterisk BE [r IN LET lgc-parse-brace ( p , a , t , s , r , g ) BE [asterisk IN LET asterisk BE [r IN lgc-parse-token ( a , t , s , r , g )]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-any ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-parse-left ( " , " , " , " , " , " )

Index 370 of page lgc

lgcdef lgcname of lgc-parse-left ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-parse-left ( ""! , ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-parse-left ( p , a , t , s , r , g ) as norm [p is val : [a is val : [t is val : [s is val : [r is val : [g is val : if t head head = lgc-esc-left then r else LET s head [[ QQ ]] BE [asterisk IN LET asterisk BE [G IN if G then r else LET [lgc-esc-left :: [p :: [true :: <<>>]]] :: t BE [asterisk IN LET asterisk BE [t IN lgc-parse-token ( a , t , g :: [G :: [s tail]] , r , g )]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-left ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-parse-right ( " , " , " , " , " , " )

Index 371 of page lgc

lgcdef lgcname of lgc-parse-right ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-parse-right ( ""! , ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-parse-right ( p , a , t , s , r , g ) as norm [p is val : [a is val : [t is val : [s is val : [r is val : [g is val : LET s head [[ 0 ]] BE [asterisk IN LET asterisk BE [G IN if G then r else LET [lgc-esc-right :: [p :: [G :: <<>>]]] :: t BE [asterisk IN LET asterisk BE [t IN LET s tail BE [asterisk IN LET asterisk BE [s IN if .not. s then lgc-parse-any ( p , a , t , s , r , g ) else if .not. a then r else if r head then [r tail :: [t :: <<>>]] raise else [true :: t]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-right ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-parse-brace ( " , " , " , " , " , " )

Index 372 of page lgc

lgcdef lgcname of lgc-parse-brace ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-parse-brace ( ""! , ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-parse-brace ( p , a , t , s , r , g ) as norm [p is val : [a is val : [t is val : [s is val : [r is val : [g is val : LET s head [[ 0 ]] BE [asterisk IN LET asterisk BE [G IN if G then r else if t head head = lgc-esc-right then r else LET [lgc-esc-brace :: [p :: [G :: <<>>]]] :: t BE [asterisk IN LET asterisk BE [t IN LET g [[ QQ ]] BE [asterisk IN LET asterisk BE [G IN if G then r else LET s tail BE [asterisk IN LET asterisk BE [s IN lgc-parse-token ( a , t , G :: s , r , g )]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-brace ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-parse-token ( " , " , " , " , " )

Index 373 of page lgc

lgcdef lgcname of lgc-parse-token ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-parse-token ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-parse-token ( a , t , s , r , g ) as norm [a is val : [t is val : [s is val : [r is val : [g is val : if a then r else LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [T IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET s head [[ T head ]] BE [asterisk IN LET asterisk BE [G IN if G then r else LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET default ( - 1 , p ) BE [asterisk IN LET asterisk BE [p IN LET T :: t BE [asterisk IN LET asterisk BE [t IN LET G :: [s tail] BE [asterisk IN LET asterisk BE [s IN LET lgc-parse-best ( r , p , s ) BE [asterisk IN LET asterisk BE [r IN lgc-parse-any ( p , a , t , s , r , g )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-token ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-parse-best ( " , " , " )

Index 374 of page lgc

lgcdef lgcname of lgc-parse-best ( lgcvar , lgcvar , lgcvar ) as "lgc-parse-best ( ""! , ""! , ""! )" enddef

define value of lgc-parse-best ( r , p , s ) as norm [r is val : [p is val : [s is val : if r head then r else if r head = - 1 then r else if p = -1 then p :: s else if r head > p then r else [p :: s]]]] end define

lgcdef lgccharge of lgc-parse-best ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-parse-no-interpretations ( " , " )

Index 375 of page lgc

lgcdef lgcname of lgc-parse-no-interpretations ( lgcvar , lgcvar ) as "lgc-parse-no-interpretations ( ""! , ""! )" enddef

define value of lgc-parse-no-interpretations ( v , s ) as norm [v is val : [s is val : LET v BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [S IN LET !"Syntax error" BE [asterisk IN LET asterisk BE [m IN LET m :: [LF :: !"Cannot parse beyond this point"] BE [asterisk IN LET asterisk BE [m IN LET lgc-parse-no-inter1 ( S ) BE [asterisk IN LET asterisk BE [a IN LET vt2vector* ( a ) BE [asterisk IN LET asterisk BE [a IN if a then lgc-error ( s , p , m :: [LF :: [[!"Expected e.g. end of file"] :: [LF :: !"---"]]] ) else LET m :: [LF :: !"Expected e.g. |"] BE [asterisk IN LET asterisk BE [m IN LET m :: list-prefix ( a , %% %5 %0 ) BE [asterisk IN LET asterisk BE [m IN LET m :: [LF :: !"---"] BE [asterisk IN LET asterisk BE [m IN lgc-error ( s , p , m )]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-no-interpretations ( lgcvar , lgcvar ) as "0" enddef

lgc-parse-no-inter1 ( " )

Index 376 of page lgc

lgcdef lgcname of lgc-parse-no-inter1 ( lgcvar ) as "lgc-parse-no-inter1 ( ""! )" enddef

define value of lgc-parse-no-inter1 ( S ) as norm [S is val : if S atom then true else [lgc-shortest ( S head ) tail :: lgc-parse-no-inter1 ( S tail )]] end define

lgcdef lgccharge of lgc-parse-no-inter1 ( lgcvar ) as "0" enddef

lgc-shortest ( " )

Index 377 of page lgc

lgcdef lgcname of lgc-shortest ( lgcvar ) as "lgc-shortest ( ""! )" enddef

define value of lgc-shortest ( g ) as norm [g is val : if g then 1 :: true else if g head intp then lgc-shortest1 ( g ) else lgc-shortest2 ( g )] end define

lgcdef lgccharge of lgc-shortest ( lgcvar ) as "0" enddef

lgc-shortest1 ( " )

Index 378 of page lgc

lgcdef lgcname of lgc-shortest1 ( lgcvar ) as "lgc-shortest1 ( ""! )" enddef

define value of lgc-shortest1 ( g ) as norm [g is val : LET g BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [g IN if c = 0 then 0 :: true else LET lgc-shortest ( g ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [l IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN [[l + 1] :: [c :: r]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-shortest1 ( lgcvar ) as "0" enddef

lgc-shortest2 ( " )

Index 379 of page lgc

lgcdef lgcname of lgc-shortest2 ( lgcvar ) as "lgc-shortest2 ( ""! )" enddef

define value of lgc-shortest2 ( g ) as norm [g is val : LET lgc-shortest ( g head ) BE [asterisk IN LET asterisk BE [r IN LET lgc-shortest ( g tail ) BE [asterisk IN LET asterisk BE [R IN if r then R else if R then r else if r head < [R head] then r else R]]]]] end define

lgcdef lgccharge of lgc-shortest2 ( lgcvar ) as "0" enddef

lgc-parse-ambiguous ( " , " )

Index 380 of page lgc

lgcdef lgcname of lgc-parse-ambiguous ( lgcvar , lgcvar ) as "lgc-parse-ambiguous ( ""! , ""! )" enddef

define value of lgc-parse-ambiguous ( v , s ) as norm [v is val : [s is val : lgc-parse-ambiguous1 ( reverse ( v zeroth ) , reverse ( v first ) , s )]] end define

lgcdef lgccharge of lgc-parse-ambiguous ( lgcvar , lgcvar ) as "0" enddef

lgc-parse-ambiguous1 ( " , " , " )

Index 381 of page lgc

lgcdef lgcname of lgc-parse-ambiguous1 ( lgcvar , lgcvar , lgcvar ) as "lgc-parse-ambiguous1 ( ""! , ""! , ""! )" enddef

define value of lgc-parse-ambiguous1 ( a , b , s ) as norm [a is val : [b is val : [s is val : if a head = [b head] then lgc-parse-ambiguous1 ( a tail , b tail , s ) else LET default ( a head tail head , b head tail head ) BE [asterisk IN LET asterisk BE [p IN LET !"Ambiguous source text" BE [asterisk IN LET asterisk BE [m IN LET m :: [LF :: lgc-parse-ambiguous2 ( a )] BE [asterisk IN LET asterisk BE [m IN LET m :: [LF :: lgc-parse-ambiguous2 ( b )] BE [asterisk IN LET asterisk BE [m IN lgc-error ( s , p , m )]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-ambiguous1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-parse-ambiguous2 ( " )

Index 382 of page lgc

lgcdef lgcname of lgc-parse-ambiguous2 ( lgcvar ) as "lgc-parse-ambiguous2 ( ""! )" enddef

define value of lgc-parse-ambiguous2 ( a ) as norm [a is val : if a then !"Could be at the end of the text" else LET a head head BE [asterisk IN LET asterisk BE [c IN LET lgc-parse-ambiguous3 ( a ) BE [asterisk IN LET asterisk BE [p IN LET lgc-parse-ambiguous4 ( a , 0 ) BE [asterisk IN LET asterisk BE [c IN [[!"Could be "] :: [p :: [[!" of "] :: [c :: <<>>]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-ambiguous2 ( lgcvar ) as "0" enddef

lgc-parse-ambiguous3 ( " )

Index 383 of page lgc

lgcdef lgcname of lgc-parse-ambiguous3 ( lgcvar ) as "lgc-parse-ambiguous3 ( ""! )" enddef

define value of lgc-parse-ambiguous3 ( a ) as norm [a is val : LET a head head BE [asterisk IN LET asterisk BE [c IN if [c = lgc-esc-right] .or. [c = lgc-esc-brace] then !"at the end" else if c = lgc-esc-left then !"at the start" else !"in the middle"]]] end define

lgcdef lgccharge of lgc-parse-ambiguous3 ( lgcvar ) as "0" enddef

lgc-parse-ambiguous4 ( " , " )

Index 384 of page lgc

lgcdef lgcname of lgc-parse-ambiguous4 ( lgcvar , lgcvar ) as "lgc-parse-ambiguous4 ( ""! , ""! )" enddef

define value of lgc-parse-ambiguous4 ( a , l ) as norm [a is val : [l is val : if a atom then !"no construct" else LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [c IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [v IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN if c = lgc-esc-left then lgc-parse-ambiguous4 ( a , l + 1 ) else if [c != lgc-esc-right] .and. [c != lgc-esc-brace] then lgc-parse-ambiguous4 ( a , l ) else if l > 0 then lgc-parse-ambiguous4 ( a , if c = lgc-esc-brace then l else [l - 1] ) else LET v BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [r IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [i IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [C IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [p IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET asterisk BE [n IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime IN LET asterisk BE [b IN LET asterisk prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN if r then !"special construct" else [[!"construct "] :: [n :: <<>>]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-ambiguous4 ( lgcvar , lgcvar ) as "0" enddef

lgc-parse-ambiguous-construct ( " , " )

Index 385 of page lgc

lgcdef lgcname of lgc-parse-ambiguous-construct ( lgcvar , lgcvar ) as "lgc-parse-ambiguous-construct ( ""! , ""! )" enddef

define value of lgc-parse-ambiguous-construct ( a , s ) as norm [a is val : [s is val : LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [R IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [i IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [R prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [i prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime prime IN LET asterisk BE [n prime IN LET asterisk prime prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [!"Use of ambiguous construct "] :: [n prime] BE [asterisk IN LET asterisk BE [m IN LET m :: [LF :: [[!"Could be construct "] :: [lgc-itoa ( i ) :: [[!" of reference "] :: lgc-itoa ( R )]]]] BE [asterisk IN LET asterisk BE [m IN LET m :: [LF :: [[!"Could be construct "] :: [lgc-itoa ( i prime ) :: [[!" of reference "] :: lgc-itoa ( R prime )]]]] BE [asterisk IN LET asterisk BE [m IN lgc-throw-message ( s , p , m )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-ambiguous-construct ( lgcvar , lgcvar ) as "0" enddef

lgc-parse-cannot-trisect ( " )

Index 386 of page lgc

lgcdef lgcname of lgc-parse-cannot-trisect ( lgcvar ) as "lgc-parse-cannot-trisect ( ""! )" enddef

define value of lgc-parse-cannot-trisect ( s ) as norm [s is val : lgc-simple-error ( !"Could not trisect generated page" , s )] end define

lgcdef lgccharge of lgc-parse-cannot-trisect ( lgcvar ) as "0" enddef

lgc-proclaim-error ( " , " )

Index 387 of page lgc

lgcdef lgcname of lgc-proclaim-error ( lgcvar , lgcvar ) as "lgc-proclaim-error ( ""! , ""! )" enddef

define value of lgc-proclaim-error ( t , s ) as norm [t is val : [s is val : LET lgc-push-event ( s , writeln request ( !"Invalid proclamation:" ) ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , writeln request ( lgc-tree2vt ( t , s ) ) ) BE [asterisk IN LET asterisk BE [s IN lgc-do-events ( s )]]]]]] end define

lgcdef lgccharge of lgc-proclaim-error ( lgcvar , lgcvar ) as "0" enddef

lgc-parse-codify-lgw ( " , " )

Index 388 of page lgc

lgcdef lgcname of lgc-parse-codify-lgw ( lgcvar , lgcvar ) as "lgc-parse-codify-lgw ( ""! , ""! )" enddef

define value of lgc-parse-codify-lgw ( x , s ) as norm [x is val : [s is val : LET s [[ !"vector" ]] BE [asterisk IN LET asterisk BE [v IN LET lgw-trisect ( v ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN if e then lgc-parse-cannot-trisect ( s ) else LET c [[ 0 ]] BE [asterisk IN LET asterisk BE [r IN LET s [[ [!"cluster"] :: [r :: <<>>] => c ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-load-codify-closure ( r , s ) BE [asterisk IN LET asterisk BE [s IN LET s [[ !"cluster" ]] [[ r ]] BE [asterisk IN LET asterisk BE [c IN LET lgw-codify ( r , c , s [[ !"verbose" ]] ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN if e then lgc-proclaim-error ( c , s ) else LET s [[ [!"cluster"] :: [r :: <<>>] => c ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( !"Rendering" , 3 , s ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-parse-codify-lgw ( lgcvar , lgcvar ) as "0" enddef

lgc-rendering-no-colon ( " )

Index 389 of page lgc

lgcdef lgcname of lgc-rendering-no-colon ( lgcvar ) as "lgc-rendering-no-colon ( ""! )" enddef

define value of lgc-rendering-no-colon ( s ) as norm [s is val : lgc-simple-error ( !"Missing colon in rendering option" , s )] end define

lgcdef lgccharge of lgc-rendering-no-colon ( lgcvar ) as "0" enddef

lgc-tree2vector* ( " , " )

Index 390 of page lgc

lgcdef lgcname of lgc-tree2vector* ( lgcvar , lgcvar ) as "lgc-tree2vector* ( ""! , ""! )" enddef

define value of lgc-tree2vector* ( t , s ) as norm [t is val : [s is val : if t then true else vt2vector* ( lgc-tree2vt ( t , s ) )]] end define

lgcdef lgccharge of lgc-tree2vector* ( lgcvar , lgcvar ) as "0" enddef

lgc-string2vt ( " )

Index 391 of page lgc

lgcdef lgcname of lgc-string2vt ( lgcvar ) as "lgc-string2vt ( ""! )" enddef

define value of lgc-string2vt ( t ) as norm [t is val : if t = '' then QQ :: [QQ :: !"."] else LET vector2vector* ( t ) BE [asterisk IN LET asterisk BE [t IN [[if t head = QQ then QQ :: [QQ :: !"-"] else QQ] :: [lgc-string2vt1 ( t ) :: QQ]]]]] end define

lgcdef lgccharge of lgc-string2vt ( lgcvar ) as "0" enddef

lgc-string2vt1 ( " )

Index 392 of page lgc

lgcdef lgcname of lgc-string2vt1 ( lgcvar ) as "lgc-string2vt1 ( ""! )" enddef

define value of lgc-string2vt1 ( t ) as norm [t is val : if t atom then true else LET t BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [t IN [[if c = QQ then QQ :: [QQ :: !"!"] else c] :: lgc-string2vt1 ( t )]]]]]]]]]] end define

lgcdef lgccharge of lgc-string2vt1 ( lgcvar ) as "0" enddef

lgc-symbol2vt ( " , " , " )

Index 393 of page lgc

lgcdef lgcname of lgc-symbol2vt ( lgcvar , lgcvar , lgcvar ) as "lgc-symbol2vt ( ""! , ""! , ""! )" enddef

define value of lgc-symbol2vt ( r , i , s ) as norm [r is val : [i is val : [s is val : lgc-symbol2vt1 ( r , i , s [[ !"cluster" ]] [[ r ]] )]]] end define

lgcdef lgccharge of lgc-symbol2vt ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-symbol2vt1 ( " , " , " )

Index 394 of page lgc

lgcdef lgcname of lgc-symbol2vt1 ( lgcvar , lgcvar , lgcvar ) as "lgc-symbol2vt1 ( ""! , ""! , ""! )" enddef

define value of lgc-symbol2vt1 ( r , i , c ) as norm [r is val : [i is val : [c is val : LET c [[ r ]] [[ !"dictionary" ]] [[ i ]] BE [asterisk IN LET asterisk BE [a IN lgc-aritysymbol2vt1 ( r , i , a , c )]]]]] end define

lgcdef lgccharge of lgc-symbol2vt1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-tree2vt ( " , " )

Index 395 of page lgc

lgcdef lgcname of lgc-tree2vt ( lgcvar , lgcvar ) as "lgc-tree2vt ( ""! , ""! )" enddef

define value of lgc-tree2vt ( t , s ) as norm [t is val : [s is val : lgc-tree2vt0 ( false , false , t , s )]] end define

lgcdef lgccharge of lgc-tree2vt ( lgcvar , lgcvar ) as "0" enddef

lgc-tree2vt0 ( " , " , " , " )

Index 396 of page lgc

lgcdef lgcname of lgc-tree2vt0 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-tree2vt0 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-tree2vt0 ( p , q , t , s ) as norm [p is val : [q is val : [t is val : [s is val : LET t BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [r IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [i IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [t IN if r = 0 then lgc-string2vt ( i ) else LET lgc-symbol2vt ( r , i , s ) BE [asterisk IN LET asterisk BE [n IN LET n head = QQ BE [asterisk IN LET asterisk BE [P IN LET n last = QQ BE [asterisk IN LET asterisk BE [Q IN LET lgc-tree*2vt ( P , Q , t , s ) BE [asterisk IN LET asterisk BE [t IN LET lgc-tree2vt1 ( n , t ) BE [asterisk IN LET asterisk BE [t IN if [q .and. P] .or. [p .and. Q] then QQ :: [QQ :: [[!"["] :: [t :: [QQ :: [QQ :: [[!"]"] :: <<>>]]]]]] else t]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-tree2vt0 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-open

Index 397 of page lgc

lgcdef lgcname of lgc-open as "lgc-open" enddef

define value of lgc-open as norm [QQ :: [QQ :: [[!"["] :: <<>>]]] end define

lgcdef lgccharge of lgc-open as "0" enddef

lgc-close

Index 398 of page lgc

lgcdef lgcname of lgc-close as "lgc-close" enddef

define value of lgc-close as norm [QQ :: [QQ :: [[!"]"] :: <<>>]]] end define

lgcdef lgccharge of lgc-close as "0" enddef

lgc-tree*2vt ( " , " , " , " )

Index 399 of page lgc

lgcdef lgcname of lgc-tree*2vt ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-tree*2vt ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-tree*2vt ( P , Q , t , s ) as norm [P is val : [Q is val : [t is val : [s is val : if t atom then true else [lgc-tree2vt0 ( P , Q .and. [t tail] , t head , s ) :: lgc-tree*2vt ( false , Q , t tail , s )]]]]] end define

lgcdef lgccharge of lgc-tree*2vt ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-tree2vt1 ( " , " )

Index 400 of page lgc

lgcdef lgcname of lgc-tree2vt1 ( lgcvar , lgcvar ) as "lgc-tree2vt1 ( ""! , ""! )" enddef

define value of lgc-tree2vt1 ( n , t ) as norm [n is val : [t is val : if n atom then true else LET n BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN if c != QQ then c :: lgc-tree2vt1 ( n , t ) else [t head :: lgc-tree2vt1 ( n , t tail )]]]]]]]]]]] end define

lgcdef lgccharge of lgc-tree2vt1 ( lgcvar , lgcvar ) as "0" enddef

lgc-ref2vt ( " , " )

Index 401 of page lgc

lgcdef lgcname of lgc-ref2vt ( lgcvar , lgcvar ) as "lgc-ref2vt ( ""! , ""! )" enddef

define value of lgc-ref2vt ( r , s ) as norm [r is val : [s is val : lgc-tree2vt ( [r :: [0 :: <<>>]] :: <<>> , s )]] end define

lgcdef lgccharge of lgc-ref2vt ( lgcvar , lgcvar ) as "0" enddef

tree2vt ( " , " )

Index 402 of page lgc

lgcdef lgcname of tree2vt ( lgcvar , lgcvar ) as "tree2vt ( ""! , ""! )" enddef

define value of tree2vt ( t , c ) as norm [t is val : [c is val : LET t BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [r IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [i IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [t IN if r = 0 then lgc-string2vt ( i ) else LET lgc-symbol2vt1 ( r , i , c ) BE [asterisk IN LET asterisk BE [n IN LET tree*2vt ( t , c ) BE [asterisk IN LET asterisk BE [t IN lgc-tree2vt1 ( n , t )]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of tree2vt ( lgcvar , lgcvar ) as "0" enddef

tree*2vt ( " , " )

Index 403 of page lgc

lgcdef lgcname of tree*2vt ( lgcvar , lgcvar ) as "tree*2vt ( ""! , ""! )" enddef

define value of tree*2vt ( t , c ) as norm [t is val : [c is val : if t atom then true else [tree2vt ( t head , c ) :: tree*2vt ( t tail , c )]]] end define

lgcdef lgccharge of tree*2vt ( lgcvar , lgcvar ) as "0" enddef

lgc-vector*2html ( " )

Index 404 of page lgc

lgcdef lgcname of lgc-vector*2html ( lgcvar ) as "lgc-vector*2html ( ""! )" enddef

define value of lgc-vector*2html ( w ) as norm [w is val : if w atom then true else LET w BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN if c = LF then CRLF :: lgc-vector*2html ( v ) else if c < SP then lgc-vector*2html ( v ) else if c = !"<" then [!"&lt;"] :: lgc-vector*2html ( v ) else if c = !">" then [!"&gt;"] :: lgc-vector*2html ( v ) else if c = !"&" then [!"&amp;"] :: lgc-vector*2html ( v ) else if c != QQ then c :: lgc-vector*2html ( v ) else if lgc-prefix ( lgc-open , w ) then lgc-html-open ( w ) else if lgc-prefix ( lgc-close , w ) then lgc-html-close ( w ) else [c :: lgc-vector*2html ( v )]]]]]]]]]] end define

lgcdef lgccharge of lgc-vector*2html ( lgcvar ) as "0" enddef

lgc-html-open ( " )

Index 405 of page lgc

lgcdef lgcname of lgc-html-open ( lgcvar ) as "lgc-html-open ( ""! )" enddef

define value of lgc-html-open ( w ) as norm [w is val : LET lgc-vector*2html ( list-suffix ( w , 3 ) ) BE [asterisk IN LET asterisk BE [w IN [[!"<font color=""!blue""!>[</font>"] :: w]]]] end define

lgcdef lgccharge of lgc-html-open ( lgcvar ) as "0" enddef

lgc-html-close ( " )

Index 406 of page lgc

lgcdef lgcname of lgc-html-close ( lgcvar ) as "lgc-html-close ( ""! )" enddef

define value of lgc-html-close ( w ) as norm [w is val : LET lgc-vector*2html ( list-suffix ( w , 3 ) ) BE [asterisk IN LET asterisk BE [w IN [[!"<font color=""!blue""!>]<wbr/></font>"] :: w]]]] end define

lgcdef lgccharge of lgc-html-close ( lgcvar ) as "0" enddef

lgc-tree2html ( " , " )

Index 407 of page lgc

lgcdef lgcname of lgc-tree2html ( lgcvar , lgcvar ) as "lgc-tree2html ( ""! , ""! )" enddef

define value of lgc-tree2html ( t , s ) as norm [t is val : [s is val : lgc-vector*2html ( vt2vector* ( lgc-tree2vt ( t , s ) ) )]] end define

lgcdef lgccharge of lgc-tree2html ( lgcvar , lgcvar ) as "0" enddef

lgc-html-begin ( " )

Index 408 of page lgc

lgcdef lgcname of lgc-html-begin ( lgcvar ) as "lgc-html-begin ( ""! )" enddef

define value of lgc-html-begin ( t ) as norm [t is val : [[!"<"] :: [t :: !">"]]] end define

lgcdef lgccharge of lgc-html-begin ( lgcvar ) as "0" enddef

lgc-html-end ( " )

Index 409 of page lgc

lgcdef lgcname of lgc-html-end ( lgcvar ) as "lgc-html-end ( ""! )" enddef

define value of lgc-html-end ( t ) as norm [t is val : lgc-html-begin ( [!"/"] :: t )] end define

lgcdef lgccharge of lgc-html-end ( lgcvar ) as "0" enddef

lgc-html-tag ( " )

Index 410 of page lgc

lgcdef lgcname of lgc-html-tag ( lgcvar ) as "lgc-html-tag ( ""! )" enddef

define value of lgc-html-tag ( t ) as norm [t is val : lgc-html-begin ( t :: !"/" )] end define

lgcdef lgccharge of lgc-html-tag ( lgcvar ) as "0" enddef

lgc-html-br

Index 411 of page lgc

lgcdef lgcname of lgc-html-br as "lgc-html-br" enddef

define value of lgc-html-br as norm [lgc-html-tag ( !"br" ) :: CRLF] end define

lgcdef lgccharge of lgc-html-br as "0" enddef

lgc-html-wrap ( " , " )

Index 412 of page lgc

lgcdef lgcname of lgc-html-wrap ( lgcvar , lgcvar ) as "lgc-html-wrap ( ""! , ""! )" enddef

define value of lgc-html-wrap ( t , b ) as norm [t is val : [b is val : [lgc-html-begin ( t ) :: [b :: lgc-html-end ( t )]]]] end define

lgcdef lgccharge of lgc-html-wrap ( lgcvar , lgcvar ) as "0" enddef

lgc-html-title ( " )

Index 413 of page lgc

lgcdef lgcname of lgc-html-title ( lgcvar ) as "lgc-html-title ( ""! )" enddef

define value of lgc-html-title ( t ) as norm [t is val : lgc-html-wrap ( !"title" , t )] end define

lgcdef lgccharge of lgc-html-title ( lgcvar ) as "0" enddef

lgc-html-h2 ( " )

Index 414 of page lgc

lgcdef lgcname of lgc-html-h2 ( lgcvar ) as "lgc-html-h2 ( ""! )" enddef

define value of lgc-html-h2 ( t ) as norm [t is val : [CRLF :: lgc-html-wrap ( !"h2" , t )]] end define

lgcdef lgccharge of lgc-html-h2 ( lgcvar ) as "0" enddef

lgc-html-h3 ( " )

Index 415 of page lgc

lgcdef lgcname of lgc-html-h3 ( lgcvar ) as "lgc-html-h3 ( ""! )" enddef

define value of lgc-html-h3 ( t ) as norm [t is val : [CRLF :: lgc-html-wrap ( !"h3" , t )]] end define

lgcdef lgccharge of lgc-html-h3 ( lgcvar ) as "0" enddef

lgc-html-h4 ( " )

Index 416 of page lgc

lgcdef lgcname of lgc-html-h4 ( lgcvar ) as "lgc-html-h4 ( ""! )" enddef

define value of lgc-html-h4 ( t ) as norm [t is val : [CRLF :: lgc-html-wrap ( !"h4" , t )]] end define

lgcdef lgccharge of lgc-html-h4 ( lgcvar ) as "0" enddef

lgc-html-p ( " )

Index 417 of page lgc

lgcdef lgcname of lgc-html-p ( lgcvar ) as "lgc-html-p ( ""! )" enddef

define value of lgc-html-p ( t ) as norm [t is val : lgc-html-wrap ( !"p" , t )] end define

lgcdef lgccharge of lgc-html-p ( lgcvar ) as "0" enddef

lgc-html-it ( " )

Index 418 of page lgc

lgcdef lgcname of lgc-html-it ( lgcvar ) as "lgc-html-it ( ""! )" enddef

define value of lgc-html-it ( t ) as norm [t is val : lgc-html-wrap ( !"i" , t )] end define

lgcdef lgccharge of lgc-html-it ( lgcvar ) as "0" enddef

lgc-html-tt ( " )

Index 419 of page lgc

lgcdef lgcname of lgc-html-tt ( lgcvar ) as "lgc-html-tt ( ""! )" enddef

define value of lgc-html-tt ( t ) as norm [t is val : lgc-html-wrap ( !"tt" , t )] end define

lgcdef lgccharge of lgc-html-tt ( lgcvar ) as "0" enddef

lgc-html-ptt ( " )

Index 420 of page lgc

lgcdef lgcname of lgc-html-ptt ( lgcvar ) as "lgc-html-ptt ( ""! )" enddef

define value of lgc-html-ptt ( t ) as norm [t is val : lgc-html-p ( lgc-html-tt ( t ) )] end define

lgcdef lgccharge of lgc-html-ptt ( lgcvar ) as "0" enddef

lgc-html-string ( " )

Index 421 of page lgc

lgcdef lgcname of lgc-html-string ( lgcvar ) as "lgc-html-string ( ""! )" enddef

define value of lgc-html-string ( t ) as norm [t is val : [QQ :: [t :: QQ]]] end define

lgcdef lgccharge of lgc-html-string ( lgcvar ) as "0" enddef

lgc-html-arg ( " , " )

Index 422 of page lgc

lgcdef lgcname of lgc-html-arg ( lgcvar , lgcvar ) as "lgc-html-arg ( ""! , ""! )" enddef

define value of lgc-html-arg ( k , v ) as norm [k is val : [v is val : [[!" "] :: [k :: [[!"="] :: lgc-html-string ( v )]]]]] end define

lgcdef lgccharge of lgc-html-arg ( lgcvar , lgcvar ) as "0" enddef

lgc-html-favicon ( " )

Index 423 of page lgc

lgcdef lgcname of lgc-html-favicon ( lgcvar ) as "lgc-html-favicon ( ""! )" enddef

define value of lgc-html-favicon ( r ) as norm [r is val : LET lgc-html-arg ( !"rel" , r ) BE [asterisk IN LET asterisk BE [a IN LET a :: lgc-html-arg ( !"href" , !"logiweb.ico" ) BE [asterisk IN LET asterisk BE [a IN LET a :: lgc-html-arg ( !"type" , !"image/x-icon" ) BE [asterisk IN LET asterisk BE [a IN lgc-html-tag ( [!"link"] :: a )]]]]]]] end define

lgcdef lgccharge of lgc-html-favicon ( lgcvar ) as "0" enddef

lgc-html-utf8

Index 424 of page lgc

lgcdef lgcname of lgc-html-utf8 as "lgc-html-utf8" enddef

define value of lgc-html-utf8 as norm LET lgc-html-arg ( !"http-equiv" , !"Content-Type" ) BE [asterisk IN LET asterisk BE [a IN LET a :: lgc-html-arg ( !"content" , !"text/html; charset=UTF-8" ) BE [asterisk IN LET asterisk BE [a IN lgc-html-tag ( [!"meta"] :: a )]]]] end define

lgcdef lgccharge of lgc-html-utf8 as "0" enddef

lgc-html-head ( " )

Index 425 of page lgc

lgcdef lgcname of lgc-html-head ( lgcvar ) as "lgc-html-head ( ""! )" enddef

define value of lgc-html-head ( t ) as norm [t is val : LET lgc-html-utf8 BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-title ( t )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-favicon ( !"icon" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-favicon ( !"shortcut icon" )] BE [asterisk IN LET asterisk BE [a IN lgc-html-wrap ( !"head" , a )]]]]]]]]] end define

lgcdef lgccharge of lgc-html-head ( lgcvar ) as "0" enddef

lgc-html-icon

Index 426 of page lgc

lgcdef lgcname of lgc-html-icon as "lgc-html-icon" enddef

define value of lgc-html-icon as norm LET lgc-html-arg ( !"alt" , !"Logiweb(TM)" ) BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-arg ( !"align" , !"right" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-arg ( !"src" , !"logiweb.png" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-arg ( !"height" , !"62" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-arg ( !"width" , !"46" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-arg ( !"hspace" , !"30" )] BE [asterisk IN LET asterisk BE [a IN lgc-html-tag ( [!"img"] :: a )]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-html-icon as "0" enddef

lgc-html-href ( " , " )

Index 427 of page lgc

lgcdef lgcname of lgc-html-href ( lgcvar , lgcvar ) as "lgc-html-href ( ""! , ""! )" enddef

define value of lgc-html-href ( r , t ) as norm [r is val : [t is val : LET lgc-html-begin ( [!"a"] :: lgc-html-arg ( !"href" , r ) ) BE [asterisk IN LET asterisk BE [a IN [a :: [t :: lgc-html-end ( !"a" )]]]]]] end define

lgcdef lgccharge of lgc-html-href ( lgcvar , lgcvar ) as "0" enddef

lgc-html-name ( " , " )

Index 428 of page lgc

lgcdef lgcname of lgc-html-name ( lgcvar , lgcvar ) as "lgc-html-name ( ""! , ""! )" enddef

define value of lgc-html-name ( r , t ) as norm [r is val : [t is val : LET lgc-html-begin ( [!"a"] :: lgc-html-arg ( !"name" , r ) ) BE [asterisk IN LET asterisk BE [a IN [a :: [t :: lgc-html-end ( !"a" )]]]]]] end define

lgcdef lgccharge of lgc-html-name ( lgcvar , lgcvar ) as "0" enddef

lgc-html-named-h3 ( " , " )

Index 429 of page lgc

lgcdef lgcname of lgc-html-named-h3 ( lgcvar , lgcvar ) as "lgc-html-named-h3 ( ""! , ""! )" enddef

define value of lgc-html-named-h3 ( r , t ) as norm [r is val : [t is val : lgc-html-h3 ( lgc-html-name ( r , t ) )]] end define

lgcdef lgccharge of lgc-html-named-h3 ( lgcvar , lgcvar ) as "0" enddef

lgc-html-address ( " )

Index 430 of page lgc

lgcdef lgcname of lgc-html-address ( lgcvar ) as "lgc-html-address ( ""! )" enddef

define value of lgc-html-address ( s ) as norm [s is val : LET s [[ !"reference" ]] BE [asterisk IN LET asterisk BE [r IN LET lgc-lgt2grdutc2vt ( lgc-ref2lgt ( r ) , s ) BE [asterisk IN LET asterisk BE [T IN LET !"http://logiweb.eu/logiweb/doc/compiler/index.html" BE [asterisk IN LET asterisk BE [h IN LET lgc-html-href ( h , !"The Logiweb compiler (lgc)" ) BE [asterisk IN LET asterisk BE [a IN LET !"http://logiweb.eu/logiweb/doc/misc/time.html" BE [asterisk IN LET asterisk BE [h IN LET a :: [CRLF :: lgc-html-href ( h , T )] BE [asterisk IN LET asterisk BE [a IN LET lgc-html-wrap ( !"address" , a ) BE [asterisk IN LET asterisk BE [a IN lgc-html-p ( a )]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-html-address ( lgcvar ) as "0" enddef

lgc-html-body ( " , " , " )

Index 431 of page lgc

lgcdef lgcname of lgc-html-body ( lgcvar , lgcvar , lgcvar ) as "lgc-html-body ( ""! , ""! , ""! )" enddef

define value of lgc-html-body ( t , b , s ) as norm [t is val : [b is val : [s is val : LET lgc-html-icon BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-h2 ( t )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: [b :: [CRLF :: [CRLF :: lgc-html-address ( s )]]]] BE [asterisk IN LET asterisk BE [a IN lgc-html-wrap ( !"body" , a )]]]]]]]]] end define

lgcdef lgccharge of lgc-html-body ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-html-page ( " , " , " )

Index 432 of page lgc

lgcdef lgcname of lgc-html-page ( lgcvar , lgcvar , lgcvar ) as "lgc-html-page ( ""! , ""! , ""! )" enddef

define value of lgc-html-page ( t , b , s ) as norm [t is val : [b is val : [s is val : [lgc-html-head ( t ) :: [CRLF :: lgc-html-body ( t , b , s )]]]]] end define

lgcdef lgccharge of lgc-html-page ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-html-help

Index 433 of page lgc

lgcdef lgcname of lgc-html-help as "lgc-html-help" enddef

define value of lgc-html-help as norm LET !"http://logiweb.eu/logiweb/doc/index.html" BE [asterisk IN LET asterisk BE [h IN lgc-html-href ( h , !"Help" )]] end define

lgcdef lgccharge of lgc-html-help as "0" enddef

lgc-render ( " , " )

Index 434 of page lgc

lgcdef lgcname of lgc-render ( lgcvar , lgcvar ) as "lgc-render ( ""! , ""! )" enddef

define value of lgc-render ( x , s ) as norm [x is val : [s is val : LET s [[ !"reference" ]] BE [asterisk IN LET asterisk BE [r IN LET lgc-ref2lgt ( r ) BE [asterisk IN LET asterisk BE [t IN LET lgc-lgt2grdutc2vt ( t , s ) BE [asterisk IN LET asterisk BE [u IN LET lgc-render-dirname ( r , s ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN if e then lgc-rendering-no-colon ( s ) else LET lgc-tree2html ( [r :: [0 :: <<>>]] :: <<>> , s ) BE [asterisk IN LET asterisk BE [n IN LET lgc-render-dir ( p , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-render-link ( p , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-render-icons ( p , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-render-index ( p , n , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-render-extract ( r , p , n , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-render-vector ( p , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-render-ref ( p , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-render-source ( p , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( !"Verifying" , 3 , s ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render-verify ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render ( lgcvar , lgcvar ) as "0" enddef

lgc-render-verify ( " , " )

Index 435 of page lgc

lgcdef lgcname of lgc-render-verify ( lgcvar , lgcvar ) as "lgc-render-verify ( ""! , ""! )" enddef

define value of lgc-render-verify ( x , s ) as norm [x is val : [s is val : LET s [[ !"reference" ]] BE [asterisk IN LET asterisk BE [r IN LET lgc-render-dirname ( r , s ) BE [asterisk IN LET asterisk BE [p IN LET lgc-tree2html ( [r :: [0 :: <<>>]] :: <<>> , s ) BE [asterisk IN LET asterisk BE [n IN LET s [[ !"cluster" ]] [[ r ]] [[ r ]] [[ !"diagnose" ]] untag BE [asterisk IN LET asterisk BE [d IN LET lgc-tree2vector* ( d , s ) BE [asterisk IN LET asterisk BE [D IN LET lgc-render-tdiagnose ( p , D , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-render-hdiagnose ( p , n , d , D , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-render-pdiagnose ( D , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( !"Dumping to cache" , 3 , s ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render-dump ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-verify ( lgcvar , lgcvar ) as "0" enddef

lgc-render-add-slash ( " )

Index 436 of page lgc

lgcdef lgcname of lgc-render-add-slash ( lgcvar ) as "lgc-render-add-slash ( ""! )" enddef

define value of lgc-render-add-slash ( p ) as norm [p is val : if p then true else LET p BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN if p != true then c :: lgc-render-add-slash ( p ) else if c = !"/" then c :: <<>> else [c :: [[!"/"] :: <<>>]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-add-slash ( lgcvar ) as "0" enddef

lgc-render-dirname ( " , " )

Index 437 of page lgc

lgcdef lgcname of lgc-render-dirname ( lgcvar , lgcvar ) as "lgc-render-dirname ( ""! , ""! )" enddef

define value of lgc-render-dirname ( r , s ) as norm [r is val : [s is val : LET lgc-string2mixed ( r ) BE [asterisk IN LET asterisk BE [r IN LET s [[ !"parameters" ]] [[ !"rendering" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [R IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET lgc-render-add-slash ( vt2vector* ( R ) ) BE [asterisk IN LET asterisk BE [R IN LET lgc-replace-colon ( R , r ) BE [asterisk IN LET asterisk BE [p IN lgc-tilde-expand1 ( p , s )]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-dirname ( lgcvar , lgcvar ) as "0" enddef

lgc-render-dir ( " , " )

Index 438 of page lgc

lgcdef lgcname of lgc-render-dir ( lgcvar , lgcvar ) as "lgc-render-dir ( ""! , ""! )" enddef

define value of lgc-render-dir ( p , s ) as norm [p is val : [s is val : lgc-push-event ( s , fileMkdir ( p :: !"page/" ) )]] end define

lgcdef lgccharge of lgc-render-dir ( lgcvar , lgcvar ) as "0" enddef

lgc-lgs-suffix

Index 439 of page lgc

lgcdef lgcname of lgc-lgs-suffix as "lgc-lgs-suffix" enddef

define value of lgc-lgs-suffix as norm reverse ( vt2vector* ( ".lgs" ) ) end define

lgcdef lgccharge of lgc-lgs-suffix as "0" enddef

lgc-page-name ( " )

Index 440 of page lgc

lgcdef lgcname of lgc-page-name ( lgcvar ) as "lgc-page-name ( ""! )" enddef

define value of lgc-page-name ( s ) as norm [s is val : LET s [[ !"parameters" ]] [[ !"source" ]] head BE [asterisk IN LET asterisk BE [n IN LET vt2vector* ( n ) BE [asterisk IN LET asterisk BE [n IN LET reverse ( n ) BE [asterisk IN LET asterisk BE [n IN LET lgc-parse-prefix ( lgc-lgs-suffix , n ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n prime IN LET if e then n else [n prime] BE [asterisk IN LET asterisk BE [n IN lgc-page-name1 ( n , true )]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-page-name ( lgcvar ) as "0" enddef

lgc-page-name1 ( " , " )

Index 441 of page lgc

lgcdef lgcname of lgc-page-name1 ( lgcvar , lgcvar ) as "lgc-page-name1 ( ""! , ""! )" enddef

define value of lgc-page-name1 ( n , r ) as norm [n is val : [r is val : if n atom then r else LET n BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN if c = !"/" then r else lgc-page-name1 ( n , c :: r )]]]]]]]]]] end define

lgcdef lgccharge of lgc-page-name1 ( lgcvar , lgcvar ) as "0" enddef

lgc-render-link ( " , " )

Index 442 of page lgc

lgcdef lgcname of lgc-render-link ( lgcvar , lgcvar ) as "lgc-render-link ( ""! , ""! )" enddef

define value of lgc-render-link ( p , s ) as norm [p is val : [s is val : if s [[ !"stack" ]] != true then s else LET lgc-cwd-expand ( p , s ) BE [asterisk IN LET asterisk BE [p IN LET s [[ !"parameters" ]] [[ !"link" ]] BE [asterisk IN LET asterisk BE [L IN LET lgc-page-name ( s ) BE [asterisk IN LET asterisk BE [N IN lgc-render-link1 ( p , N , L , s )]]]]]]]] end define

lgcdef lgccharge of lgc-render-link ( lgcvar , lgcvar ) as "0" enddef

lgc-render-link1 ( " , " , " , " )

Index 443 of page lgc

lgcdef lgcname of lgc-render-link1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-link1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-link1 ( p , N , L , s ) as norm [p is val : [N is val : [L is val : [s is val : if L atom then s else LET L BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [l IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [L IN LET lgc-replace-colon ( vt2vector* ( l ) , N ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN LET if e then l else n BE [asterisk IN LET asterisk BE [n IN LET lgc-tilde-expand1 ( n , s ) BE [asterisk IN LET asterisk BE [n IN LET lgc-push-event ( s , fileMkdir ( n ) ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileRm ( n ) ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileSymlink ( p , n ) ) BE [asterisk IN LET asterisk BE [s IN lgc-render-link1 ( p , N , L , s )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-link1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-vector ( " , " )

Index 444 of page lgc

lgcdef lgcname of lgc-render-vector ( lgcvar , lgcvar ) as "lgc-render-vector ( ""! , ""! )" enddef

define value of lgc-render-vector ( p , s ) as norm [p is val : [s is val : LET fileWrite ( p :: !"vector.lgw" , s [[ !"vector" ]] ) BE [asterisk IN LET asterisk BE [E IN lgc-push-event ( s , E )]]]] end define

lgcdef lgccharge of lgc-render-vector ( lgcvar , lgcvar ) as "0" enddef

lgc-render-ref ( " , " )

Index 445 of page lgc

lgcdef lgcname of lgc-render-ref ( lgcvar , lgcvar ) as "lgc-render-ref ( ""! , ""! )" enddef

define value of lgc-render-ref ( p , s ) as norm [p is val : [s is val : LET s [[ !"reference" ]] BE [asterisk IN LET asterisk BE [r IN LET lgc-string2mixed ( r ) BE [asterisk IN LET asterisk BE [r IN LET fileWrite ( p :: !"ref.lgp" , r ) BE [asterisk IN LET asterisk BE [E IN lgc-push-event ( s , E )]]]]]]]] end define

lgcdef lgccharge of lgc-render-ref ( lgcvar , lgcvar ) as "0" enddef

lgc-render-source ( " , " )

Index 446 of page lgc

lgcdef lgcname of lgc-render-source ( lgcvar , lgcvar ) as "lgc-render-source ( ""! , ""! )" enddef

define value of lgc-render-source ( p , s ) as norm [p is val : [s is val : LET lgc-render-source1 ( s ) BE [asterisk IN LET asterisk BE [S IN LET fileWrite ( p :: !"source.lgs" , S ) BE [asterisk IN LET asterisk BE [E IN lgc-push-event ( s , E )]]]]]] end define

lgcdef lgccharge of lgc-render-source ( lgcvar , lgcvar ) as "0" enddef

lgc-render-source1 ( " )

Index 447 of page lgc

lgcdef lgcname of lgc-render-source1 ( lgcvar ) as "lgc-render-source1 ( ""! )" enddef

define value of lgc-render-source1 ( s ) as norm [s is val : LET s [[ !"source" ]] BE [asterisk IN LET asterisk BE [v IN if v then !"Source not known, sorry." else LET lgc-string2mixed ( s [[ !"reference" ]] ) BE [asterisk IN LET asterisk BE [R IN lgc-add-headline ( s , R , v )]]]]] end define

lgcdef lgccharge of lgc-render-source1 ( lgcvar ) as "0" enddef

lgc-render-tdiagnose ( " , " , " )

Index 448 of page lgc

lgcdef lgcname of lgc-render-tdiagnose ( lgcvar , lgcvar , lgcvar ) as "lgc-render-tdiagnose ( ""! , ""! , ""! )" enddef

define value of lgc-render-tdiagnose ( p , D , s ) as norm [p is val : [D is val : [s is val : LET fileWrite ( p :: !"diagnose.txt" , D ) BE [asterisk IN LET asterisk BE [E IN lgc-push-event ( s , E )]]]]] end define

lgcdef lgccharge of lgc-render-tdiagnose ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-pdiagnose ( " , " )

Index 449 of page lgc

lgcdef lgcname of lgc-render-pdiagnose ( lgcvar , lgcvar ) as "lgc-render-pdiagnose ( ""! , ""! )" enddef

define value of lgc-render-pdiagnose ( D , s ) as norm [D is val : [s is val : if D then lgc-progress ( LF :: [[!"The page is correct"] :: LF] , 2 , s ) else LET lgc-progress ( LF :: [[!"Claim failed"] :: LF] , 2 , s ) BE [asterisk IN LET asterisk BE [s IN lgc-progress ( D , 3 , s )]]]] end define

lgcdef lgccharge of lgc-render-pdiagnose ( lgcvar , lgcvar ) as "0" enddef

lgc-render-icons ( " , " )

Index 450 of page lgc

lgcdef lgcname of lgc-render-icons ( lgcvar , lgcvar ) as "lgc-render-icons ( ""! , ""! )" enddef

define value of lgc-render-icons ( p , s ) as norm [p is val : [s is val : LET lgc-push-event ( s , fileWrite ( p :: !"logiweb.png" , lgc-logiweb.png ) ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileWrite ( p :: !"logiweb.ico" , lgc-logiweb.ico ) ) BE [asterisk IN LET asterisk BE [s IN lgc-push-event ( s , fileWrite ( p :: !"page/logiweb.eps" , lgc-logiweb.eps ) )]]]]]] end define

lgcdef lgccharge of lgc-render-icons ( lgcvar , lgcvar ) as "0" enddef

lgc-logiweb.png

Index 451 of page lgc

lgcdef lgcname of lgc-logiweb.png as "lgc-logiweb.png" enddef

define value of lgc-logiweb.png as norm include ( "PNG IHDR.>۾sRGBgAMAa cHRMz&u0`:pQ<pHYsĕ+IDAThCX ?^e=f3KfLw?뺦<~#+L-ʪ(饕GF\DR*I3EɁƾi:6$홮\J+W4FCV<SS_+jwlWƊ-b¶c@[nĊ;߂2ԛއA#WZ+xݵϭPF](GFv7Qk&ל2Ghh<+aotL-Drao""!=}-""!`VB@pVJ8(#ܥYEotzBM~)V fWGC| E""!""!fGHy)O57%IENDB`" ) end define

lgcdef lgccharge of lgc-logiweb.png as "0" enddef

lgc-logiweb.ico

Index 452 of page lgc

lgcdef lgcname of lgc-logiweb.ico as "lgc-logiweb.ico" enddef

define value of lgc-logiweb.ico as norm include ( "h( аааааааааааааааааа" ) end define

lgcdef lgccharge of lgc-logiweb.ico as "0" enddef

lgc-logiweb.eps

Index 453 of page lgc

lgcdef lgcname of lgc-logiweb.eps as "lgc-logiweb.eps" enddef

define value of lgc-logiweb.eps as norm include ( "%!PS-Adobe-3.0 EPSF-3.0 %%Creator: (ImageMagick) %%Title: (lgwtm.eps) %%CreationDate: (Thu Nov 11 08:50:57 2004) %%BoundingBox: 0 0 46 62 %%HiResBoundingBox: 0 0 46 62 %%DocumentData: Clean7Bit %%LanguageLevel: 1 %%Pages: 1 %%EndComments %%BeginDefaults %%EndDefaults %%BeginProlog % % Display a color image. The image is displayed in color on % Postscript viewers or printers that support color, otherwise % it is displayed as grayscale. % /DirectClassPacket { % % Get a DirectClass packet. % % Parameters: % red. % green. % blue. % length: number of pixels minus one of this color (optional). % currentfile color_packet readhexstring pop pop compression 0 eq { /number_pixels 3 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add 3 mul def } ifelse 0 3 number_pixels 1 sub { pixels exch color_packet putinterval } for pixels 0 number_pixels getinterval } bind def /DirectClassImage { % % Display a DirectClass image. % systemdict /colorimage known { columns rows 8 [ columns 0 0 rows neg 0 rows ] { DirectClassPacket } false 3 colorimage } { % % No colorimage operator; convert to grayscale. % columns rows 8 [ columns 0 0 rows neg 0 rows ] { GrayDirectClassPacket } image } ifelse } bind def /GrayDirectClassPacket { % % Get a DirectClass packet; convert to grayscale. % % Parameters: % red % green % blue % length: number of pixels minus one of this color (optional). % currentfile color_packet readhexstring pop pop color_packet 0 get 0.299 mul color_packet 1 get 0.587 mul add color_packet 2 get 0.114 mul add cvi /gray_packet exch def compression 0 eq { /number_pixels 1 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add def } ifelse 0 1 number_pixels 1 sub { pixels exch gray_packet put } for pixels 0 number_pixels getinterval } bind def /GrayPseudoClassPacket { % % Get a PseudoClass packet; convert to grayscale. % % Parameters: % index: index into the colormap. % length: number of pixels minus one of this color (optional). % currentfile byte readhexstring pop 0 get /offset exch 3 mul def /color_packet colormap offset 3 getinterval def color_packet 0 get 0.299 mul color_packet 1 get 0.587 mul add color_packet 2 get 0.114 mul add cvi /gray_packet exch def compression 0 eq { /number_pixels 1 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add def } ifelse 0 1 number_pixels 1 sub { pixels exch gray_packet put } for pixels 0 number_pixels getinterval } bind def /PseudoClassPacket { % % Get a PseudoClass packet. % % Parameters: % index: index into the colormap. % length: number of pixels minus one of this color (optional). % currentfile byte readhexstring pop 0 get /offset exch 3 mul def /color_packet colormap offset 3 getinterval def compression 0 eq { /number_pixels 3 def } { currentfile byte readhexstring pop 0 get /number_pixels exch 1 add 3 mul def } ifelse 0 3 number_pixels 1 sub { pixels exch color_packet putinterval } for pixels 0 number_pixels getinterval } bind def /PseudoClassImage { % % Display a PseudoClass image. % % Parameters: % class: 0-PseudoClass or 1-Grayscale. % currentfile buffer readline pop token pop /class exch def pop class 0 gt { currentfile buffer readline pop token pop /depth exch def pop /grays columns 8 add depth sub depth mul 8 idiv string def columns rows depth [ columns 0 0 rows neg 0 rows ] { currentfile grays readhexstring pop } image } { % % Parameters: % colors: number of colors in the colormap. % colormap: red, green, blue color packets. % currentfile buffer readline pop token pop /colors exch def pop /colors colors 3 mul def /colormap colors string def currentfile colormap readhexstring pop pop systemdict /colorimage known { columns rows 8 [ columns 0 0 rows neg 0 rows ] { PseudoClassPacket } false 3 colorimage } { % % No colorimage operator; convert to grayscale. % columns rows 8 [ columns 0 0 rows neg 0 rows ] { GrayPseudoClassPacket } image } ifelse } ifelse } bind def /DisplayImage { % % Display a DirectClass or PseudoClass image. % % Parameters: % x & y translation. % x & y scale. % label pointsize. % image label. % image columns & rows. % class: 0-DirectClass or 1-PseudoClass. % compression: 0-none or 1-RunlengthEncoded. % hex color packets. % gsave /buffer 512 string def /byte 1 string def /color_packet 3 string def /pixels 768 string def currentfile buffer readline pop token pop /x exch def token pop /y exch def pop x y translate currentfile buffer readline pop token pop /x exch def token pop /y exch def pop currentfile buffer readline pop token pop /pointsize exch def pop /Times-Roman findfont pointsize scalefont setfont x y scale currentfile buffer readline pop token pop /columns exch def token pop /rows exch def pop currentfile buffer readline pop token pop /class exch def pop currentfile buffer readline pop token pop /compression exch def pop class 0 gt { PseudoClassImage } { DirectClassImage } ifelse grestore } bind def %%EndProlog %%Page: 1 1 %%PageBoundingBox: 0 0 46 62 userdict begin DisplayImage 0 0 46 62 12.000000 46 62 0 0 000000000000FFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF000000000000 FFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FFFFFFFFFFFFFF 000000000000000000000000FFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FFFFFFFFFFFFFF000000000000 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFF0080FF0080FF0080FF0080FF0080FF0080FF0080FFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFF 000000000000FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFF0080FF 0080FF0080FF0080FF0080FF0080FF0080FFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFF000000000000 FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF 000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF000000000000 000000000000FFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF0080FFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000000000000000 FFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF0080FFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFF0080FF0080FF0080FF 0080FF0080FFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF 000000000000000000000000FFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF0080FF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF000000000000000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000FFFFFFFFFFFF000000000000000000000000000000000000 000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFF 000000000000FFFFFFFFFFFF000000000000000000000000000000000000000000000000 000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000 000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFF000000000000 FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFF0080FF0080FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FFFFFFFFFFFFFF000000000000FFFFFF0080FF0080FF0080FF0080FF0080FF FFFFFF0080FFFFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF0080FFFFFFFFFFFFFFFFFFFF0080FF 0080FFFFFFFF0080FF0080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFF0080FFFFFFFFFFFFFFFFFFFF0080FFFFFFFF0080FF FFFFFF0080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFF0080FFFFFFFFFFFFFFFFFFFF0080FFFFFFFFFFFFFFFFFFFF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFF0080FFFFFFFFFFFFFFFFFFFF0080FFFFFFFFFFFFFFFFFFFF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF0080FF FFFFFFFFFFFFFFFFFF0080FFFFFFFFFFFFFFFFFFFF0080FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000000000000000 000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000000000000000000000000000 000000000000000000000000000000000000000000000000FFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000 FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000000000FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF 000000000000FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFF FFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF 000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000FFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF000000000000 000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 FFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF 0080FF0080FF0080FF0080FF0080FF0080FF0080FF0080FF end %%PageTrailer %%Trailer %%EOF " ) end define

lgcdef lgccharge of lgc-logiweb.eps as "0" enddef

lgc-render-index ( " , " , " )

Index 454 of page lgc

lgcdef lgcname of lgc-render-index ( lgcvar , lgcvar , lgcvar ) as "lgc-render-index ( ""! , ""! , ""! )" enddef

define value of lgc-render-index ( p , n , s ) as norm [p is val : [n is val : [s is val : LET [!"Logiweb main menu of "] :: n BE [asterisk IN LET asterisk BE [t IN LET lgc-html-h3 ( !"Rendering" ) BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-href ( !"page/page.pdf" , !"Main text" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-href ( !"page/index.html" , !"Index" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-href ( !"page/diagnose.pdf" , !"Diagnose" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-h3 ( !"Debugging aids" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-href ( !"extract.html" , !"Extract" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-href ( !"source.lgs" , !"Source" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-href ( !"diagnose.html" , !"Diagnose" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-h3 ( !"Documentation" )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-help] BE [asterisk IN LET asterisk BE [a IN LET lgc-html-page ( t , a , s ) BE [asterisk IN LET asterisk BE [a IN LET fileWrite ( p :: !"index.html" , a ) BE [asterisk IN LET asterisk BE [E IN lgc-push-event ( s , E )]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-index ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-extract ( " , " , " , " )

Index 455 of page lgc

lgcdef lgcname of lgc-render-extract ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-extract ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-extract ( r , p , n , s ) as norm [r is val : [p is val : [n is val : [s is val : LET [!"Logiweb extract of "] :: n BE [asterisk IN LET asterisk BE [t IN LET lgc-html-href ( !"index.html" , !"Up" ) BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-help] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-render-extract-toc] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-render-extract-date ( r , s )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-render-bib ( r , s )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-render-def ( r , s )] BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-render-charge ( r , s )] BE [asterisk IN LET asterisk BE [a IN LET lgc-html-page ( t , a , s ) BE [asterisk IN LET asterisk BE [a IN LET fileWrite ( p :: !"extract.html" , a ) BE [asterisk IN LET asterisk BE [E IN lgc-push-event ( s , E )]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-extract ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-extract-toc

Index 456 of page lgc

lgcdef lgcname of lgc-render-extract-toc as "lgc-render-extract-toc" enddef

define value of lgc-render-extract-toc as norm LET lgc-html-href ( !"#timestamp" , !"Date of publication" ) :: lgc-html-br BE [asterisk IN LET asterisk BE [a IN LET a :: [lgc-html-href ( !"#bibliography" , !"Bibliography" ) :: lgc-html-br] BE [asterisk IN LET asterisk BE [a IN LET a :: [lgc-html-href ( !"#codex" , !"Definitions" ) :: lgc-html-br] BE [asterisk IN LET asterisk BE [a IN LET a :: lgc-html-href ( !"#charge" , !"Charges" ) BE [asterisk IN LET asterisk BE [a IN LET lgc-html-p ( a ) BE [asterisk IN LET asterisk BE [a IN [lgc-html-h3 ( !"Table of contents" ) :: [CRLF :: a]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-extract-toc as "0" enddef

lgc-render-extract-date ( " , " )

Index 457 of page lgc

lgcdef lgcname of lgc-render-extract-date ( lgcvar , lgcvar ) as "lgc-render-extract-date ( ""! , ""! )" enddef

define value of lgc-render-extract-date ( r , s ) as norm [r is val : [s is val : LET lgc-ref2lgt ( r ) BE [asterisk IN LET asterisk BE [t IN LET lgc-lgt2grdutc2vt ( t , s ) BE [asterisk IN LET asterisk BE [a IN LET a :: !" (Gregorian Date / Universal Coordinated Time)" BE [asterisk IN LET asterisk BE [a IN LET a :: lgc-html-br BE [asterisk IN LET asterisk BE [a IN LET a :: lgc-lgt2mjdtai2vt ( t ) BE [asterisk IN LET asterisk BE [a IN LET a :: !" (Modified Julian Day / International Atomic Time)" BE [asterisk IN LET asterisk BE [a IN LET a :: lgc-html-br BE [asterisk IN LET asterisk BE [a IN LET a :: lgc-lgt2vt ( t ) BE [asterisk IN LET asterisk BE [a IN LET a :: !" (Logiweb Time)" BE [asterisk IN LET asterisk BE [a IN LET lgc-html-p ( a ) BE [asterisk IN LET asterisk BE [a IN [lgc-html-named-h3 ( !"timestamp" , !"Date of publication" ) :: [CRLF :: a]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-extract-date ( lgcvar , lgcvar ) as "0" enddef

lgc-render-bib ( " , " )

Index 458 of page lgc

lgcdef lgcname of lgc-render-bib ( lgcvar , lgcvar ) as "lgc-render-bib ( ""! , ""! )" enddef

define value of lgc-render-bib ( r , s ) as norm [r is val : [s is val : LET s [[ !"cluster" ]] [[ r ]] [[ r ]] [[ !"bibliography" ]] BE [asterisk IN LET asterisk BE [b IN LET length ( lgc-itoa ( length ( b ) - 1 ) ) BE [asterisk IN LET asterisk BE [w IN LET lgc-html-named-h3 ( !"bibliography" , !"Bibliography" ) BE [asterisk IN LET asterisk BE [a IN [a :: [CRLF :: lgc-html-ptt ( lgc-render-bib1 ( 0 , w , b , s ) )]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-bib ( lgcvar , lgcvar ) as "0" enddef

lgc-render-ref-link ( " , " )

Index 459 of page lgc

lgcdef lgcname of lgc-render-ref-link ( lgcvar , lgcvar ) as "lgc-render-ref-link ( ""! , ""! )" enddef

define value of lgc-render-ref-link ( r , a ) as norm [r is val : [a is val : LET lgc-string2mixed ( r ) BE [asterisk IN LET asterisk BE [h IN lgc-html-href ( [!"../../logiweb/"] :: [h :: "/index.html"] , a )]]]] end define

lgcdef lgccharge of lgc-render-ref-link ( lgcvar , lgcvar ) as "0" enddef

lgc-render-bib1 ( " , " , " , " )

Index 460 of page lgc

lgcdef lgcname of lgc-render-bib1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-bib1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-bib1 ( i , w , b , s ) as norm [i is val : [w is val : [b is val : [s is val : LET b BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET lgc-string2mixed ( r ) BE [asterisk IN LET asterisk BE [h IN LET [!"["] :: [lgc-ctoa ( i , w ) :: !"] "] BE [asterisk IN LET asterisk BE [a IN LET a :: lgc-ref2vt ( r , s ) BE [asterisk IN LET asterisk BE [a IN LET a :: [[!" ("] :: [h :: !")"]] BE [asterisk IN LET asterisk BE [a IN LET lgc-render-ref-link ( r , a ) BE [asterisk IN LET asterisk BE [a IN if b then a else [a :: [lgc-html-br :: lgc-render-bib1 ( i + 1 , w , b , s )]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-bib1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-def ( " , " )

Index 461 of page lgc

lgcdef lgcname of lgc-render-def ( lgcvar , lgcvar ) as "lgc-render-def ( ""! , ""! )" enddef

define value of lgc-render-def ( r , s ) as norm [r is val : [s is val : LET lgc-html-named-h3 ( !"codex" , !"Definitions" ) BE [asterisk IN LET asterisk BE [a IN LET s [[ !"cluster" ]] [[ r ]] [[ r ]] BE [asterisk IN LET asterisk BE [R IN LET R [[ !"bibliography" ]] BE [asterisk IN LET asterisk BE [b IN LET R [[ !"codex" ]] BE [asterisk IN LET asterisk BE [c IN LET R [[ !"dictionary" ]] BE [asterisk IN LET asterisk BE [d IN LET array-domain ( d ) BE [asterisk IN LET asterisk BE [I IN LET a :: [CRLF :: lgc-render-def-sym* ( r , r , I , s )] BE [asterisk IN LET asterisk BE [a IN LET c [[ r -> true ]] BE [asterisk IN LET asterisk BE [c IN if c then a else [a :: [CRLF :: lgc-render-def1 ( r , b , c , s )]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-def ( lgcvar , lgcvar ) as "0" enddef

lgc-render-def1 ( " , " , " , " )

Index 462 of page lgc

lgcdef lgcname of lgc-render-def1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-def1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-def1 ( p , b , c , s ) as norm [p is val : [b is val : [c is val : [s is val : if b atom then lgc-render-def2 ( p , array-domain ( c ) , c , s ) else LET b BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET lgc-render-def-sym* ( p , r , array-domain ( c [[ r ]] ) , s ) BE [asterisk IN LET asterisk BE [a IN LET c [[ r -> true ]] BE [asterisk IN LET asterisk BE [c IN if c then a else [a :: [CRLF :: lgc-render-def1 ( p , b , c , s )]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-def1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-def2 ( " , " , " , " )

Index 463 of page lgc

lgcdef lgcname of lgc-render-def2 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-def2 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-def2 ( p , R , c , s ) as norm [p is val : [R is val : [c is val : [s is val : if R atom then true else LET R BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [R IN LET lgc-render-def-sym* ( p , r , array-domain ( c [[ r ]] ) , s ) BE [asterisk IN LET asterisk BE [a IN if R then a else [a :: [CRLF :: lgc-render-def2 ( p , R , c , s )]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-def2 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-def-sym* ( " , " , " , " )

Index 464 of page lgc

lgcdef lgcname of lgc-render-def-sym* ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-def-sym* ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-def-sym* ( p , r , I , s ) as norm [p is val : [r is val : [I is val : [s is val : if I atom then true else LET I BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [i IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [I IN LET lgc-render-def-sym ( p , r , i , s ) BE [asterisk IN LET asterisk BE [a IN if I atom then a else [a :: [CRLF :: lgc-render-def-sym* ( p , r , I , s )]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-def-sym* ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-def-sym ( " , " , " , " )

Index 465 of page lgc

lgcdef lgcname of lgc-render-def-sym ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-def-sym ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-def-sym ( p , r , i , s ) as norm [p is val : [r is val : [i is val : [s is val : if r = 0 then lgc-render-def-string ( p , i , s ) else LET lgc-symbol2vt ( r , i , s ) BE [asterisk IN LET asterisk BE [a IN LET lgc-vector*2html ( a ) BE [asterisk IN LET asterisk BE [a IN LET lgc-html-h4 ( a ) BE [asterisk IN LET asterisk BE [a IN LET lgc-render-ref-link ( r , lgc-ref2vt ( r , s ) ) BE [asterisk IN LET asterisk BE [b IN LET [!"Index "] :: [lgc-itoa ( i ) :: [" of page " :: b]] BE [asterisk IN LET asterisk BE [b IN LET a :: [CRLF :: lgc-html-p ( b )] BE [asterisk IN LET asterisk BE [a IN LET s [[ !"cluster" ]] [[ p ]] [[ p ]] [[ !"codex" ]] [[ r ]] [[ i ]] BE [asterisk IN LET asterisk BE [d IN [a :: [CRLF :: lgc-render-def-sym1 ( d , array-domain ( d ) , s )]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-def-sym ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-def-string ( " , " , " )

Index 466 of page lgc

lgcdef lgcname of lgc-render-def-string ( lgcvar , lgcvar , lgcvar ) as "lgc-render-def-string ( ""! , ""! , ""! )" enddef

define value of lgc-render-def-string ( p , i , s ) as norm [p is val : [i is val : [s is val : LET lgc-vector*2html ( vt2vector* ( i ) ) BE [asterisk IN LET asterisk BE [a IN LET lgc-html-h4 ( lgc-html-it ( a ) ) BE [asterisk IN LET asterisk BE [a IN LET [!"Index "] :: [lgc-itoa ( i ) :: " of the string page (page zero)"] BE [asterisk IN LET asterisk BE [b IN LET a :: [CRLF :: lgc-html-p ( b )] BE [asterisk IN LET asterisk BE [a IN LET s [[ !"cluster" ]] [[ p ]] [[ p ]] [[ !"codex" ]] [[ 0 ]] [[ i ]] BE [asterisk IN LET asterisk BE [d IN [a :: [CRLF :: lgc-render-def-sym1 ( d , array-domain ( d ) , s )]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-def-string ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-def-sym1 ( " , " , " )

Index 467 of page lgc

lgcdef lgcname of lgc-render-def-sym1 ( lgcvar , lgcvar , lgcvar ) as "lgc-render-def-sym1 ( ""! , ""! , ""! )" enddef

define value of lgc-render-def-sym1 ( D , R , s ) as norm [D is val : [R is val : [s is val : if R atom then true else LET R BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [R IN LET D [[ r ]] BE [asterisk IN LET asterisk BE [d IN LET lgc-render-def-sym2 ( d , array-domain ( d ) , s ) BE [asterisk IN LET asterisk BE [a IN if R atom then a else [a :: [CRLF :: lgc-render-def-sym1 ( D , R , s )]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-def-sym1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-def-sym2 ( " , " , " )

Index 468 of page lgc

lgcdef lgcname of lgc-render-def-sym2 ( lgcvar , lgcvar , lgcvar ) as "lgc-render-def-sym2 ( ""! , ""! , ""! )" enddef

define value of lgc-render-def-sym2 ( D , I , s ) as norm [D is val : [I is val : [s is val : if I atom then true else LET I BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [i IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [I IN LET lgc-html-p ( lgc-render-def-sym3 ( D [[ i ]] , s ) ) BE [asterisk IN LET asterisk BE [a IN if I atom then a else [a :: [CRLF :: lgc-render-def-sym2 ( D , I , s )]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-def-sym2 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-def-sym3 ( " , " )

Index 469 of page lgc

lgcdef lgcname of lgc-render-def-sym3 ( lgcvar , lgcvar ) as "lgc-render-def-sym3 ( ""! , ""! )" enddef

define value of lgc-render-def-sym3 ( t , s ) as norm [t is val : [s is val : if t ref != 0 then lgc-tree2html ( t , s ) else lgc-html-tt ( [!"Proclamed meaning: "] :: lgc-html-string ( t idx ) )]] end define

lgcdef lgccharge of lgc-render-def-sym3 ( lgcvar , lgcvar ) as "0" enddef

lgc-render-charge ( " , " )

Index 470 of page lgc

lgcdef lgcname of lgc-render-charge ( lgcvar , lgcvar ) as "lgc-render-charge ( ""! , ""! )" enddef

define value of lgc-render-charge ( r , s ) as norm [r is val : [s is val : LET lgc-html-named-h3 ( !"charge" , !"Charges" ) BE [asterisk IN LET asterisk BE [a IN LET s [[ !"cluster" ]] [[ r ]] [[ r ]] [[ !"bibliography" ]] BE [asterisk IN LET asterisk BE [b IN LET lgc-collect-charge ( b , s , true ) BE [asterisk IN LET asterisk BE [C IN [a :: [CRLF :: lgc-render-charge0 ( b , C , s , true )]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-charge ( lgcvar , lgcvar ) as "0" enddef

lgc-collect-charge ( " , " , " )

Index 471 of page lgc

lgcdef lgcname of lgc-collect-charge ( lgcvar , lgcvar , lgcvar ) as "lgc-collect-charge ( ""! , ""! , ""! )" enddef

define value of lgc-collect-charge ( b , s , C ) as norm [b is val : [s is val : [C is val : if b atom then C else LET b BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET s [[ !"cluster" ]] [[ r ]] [[ r ]] [[ !"codex" ]] [[ r ]] BE [asterisk IN LET asterisk BE [c IN LET lgc-collect-charge1 ( r , c , C ) BE [asterisk IN LET asterisk BE [C IN lgc-collect-charge ( b , s , C )]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-collect-charge ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-collect-charge1 ( " , " , " )

Index 472 of page lgc

lgcdef lgcname of lgc-collect-charge1 ( lgcvar , lgcvar , lgcvar ) as "lgc-collect-charge1 ( ""! , ""! , ""! )" enddef

define value of lgc-collect-charge1 ( r , c , C ) as norm [r is val : [c is val : [C is val : if c atom then C else if c head intp then lgc-collect-charge2 ( r , c head , c tail , C ) else LET lgc-collect-charge1 ( r , c head , C ) BE [asterisk IN LET asterisk BE [C IN lgc-collect-charge1 ( r , c tail , C )]]]]] end define

lgcdef lgccharge of lgc-collect-charge1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-collect-charge2 ( " , " , " , " )

Index 473 of page lgc

lgcdef lgcname of lgc-collect-charge2 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-collect-charge2 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-collect-charge2 ( r , i , c , C ) as norm [r is val : [i is val : [c is val : [C is val : LET lgc-def2charge ( c [[ 0 ]] [[ !"charge" ]] ) BE [asterisk IN LET asterisk BE [c IN lgc-collect-charge3 ( r , i , c , C )]]]]]] end define

lgcdef lgccharge of lgc-collect-charge2 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-collect-charge3 ( " , " , " , " )

Index 474 of page lgc

lgcdef lgcname of lgc-collect-charge3 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-collect-charge3 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-collect-charge3 ( r , i , c , C ) as norm [r is val : [i is val : [c is val : [C is val : if c atom then lgc-collect-charge4 ( r , i , C ) else LET if C tail != false then C else [true [[ 0 -> C ]]] BE [asterisk IN LET asterisk BE [C IN [C [[ c head -> lgc-collect-charge3 ( r , i , c tail , C [[ c head ]] ) ]]]]]]]]] end define

lgcdef lgccharge of lgc-collect-charge3 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-collect-charge4 ( " , " , " )

Index 475 of page lgc

lgcdef lgcname of lgc-collect-charge4 ( lgcvar , lgcvar , lgcvar ) as "lgc-collect-charge4 ( ""! , ""! , ""! )" enddef

define value of lgc-collect-charge4 ( r , i , C ) as norm [r is val : [i is val : [C is val : if [C = true] .or. [C tail = false] then C head [[ r :: [i :: <<>>] => false ]] :: false else [C [[ 0 -> lgc-collect-charge4 ( r , i , C [[ 0 ]] ) ]]]]]] end define

lgcdef lgccharge of lgc-collect-charge4 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-charge0 ( " , " , " , " )

Index 476 of page lgc

lgcdef lgcname of lgc-render-charge0 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-charge0 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-charge0 ( b , C , s , c ) as norm [b is val : [C is val : [s is val : [c is val : if C tail = false then lgc-render-charge2 ( b , C , s , c ) else LET array-domain ( C ) BE [asterisk IN LET asterisk BE [D IN lgc-render-charge1 ( b , C , D , s , c )]]]]]] end define

lgcdef lgccharge of lgc-render-charge0 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-charge1 ( " , " , " , " , " )

Index 477 of page lgc

lgcdef lgcname of lgc-render-charge1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-charge1 ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-charge1 ( b , C , D , s , c ) as norm [b is val : [C is val : [D is val : [s is val : [c is val : if D atom then true else LET D BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [d IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET lgc-render-charge0 ( b , C [[ d ]] , s , d :: c ) BE [asterisk IN LET asterisk BE [a IN if D atom then a else [a :: [CRLF :: lgc-render-charge1 ( b , C , D , s , c )]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-charge1 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-charge2 ( " , " , " , " )

Index 478 of page lgc

lgcdef lgcname of lgc-render-charge2 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-charge2 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-charge2 ( b , C , s , c ) as norm [b is val : [C is val : [s is val : [c is val : LET C head BE [asterisk IN LET asterisk BE [C IN LET b BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET lgc-render-charge-bib ( b , C , s ) BE [asterisk IN LET asterisk BE [a IN LET array-domain ( C [[ r ]] ) BE [asterisk IN LET asterisk BE [D IN LET a :: [CRLF :: lgc-render-charge-self ( r , D , s )] BE [asterisk IN LET asterisk BE [a IN LET lgc-charge2vector* ( reverse ( lgc-parse-charge2 ( c ) ) ) BE [asterisk IN LET asterisk BE [c IN [lgc-html-h4 ( default ( !"0" , c ) ) :: [CRLF :: lgc-html-ptt ( a )]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-charge2 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-charge-bib ( " , " , " )

Index 479 of page lgc

lgcdef lgcname of lgc-render-charge-bib ( lgcvar , lgcvar , lgcvar ) as "lgc-render-charge-bib ( ""! , ""! , ""! )" enddef

define value of lgc-render-charge-bib ( b , C , s ) as norm [b is val : [C is val : [s is val : if b atom then true else LET b BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [r IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [b IN LET lgc-render-charge-bib ( b , C , s ) BE [asterisk IN LET asterisk BE [a IN LET array-domain ( C [[ r ]] ) BE [asterisk IN LET asterisk BE [D IN if D then a else [lgc-symbol2vt ( r , D head , s ) :: [lgc-html-br :: a]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-charge-bib ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-charge-self ( " , " , " )

Index 480 of page lgc

lgcdef lgcname of lgc-render-charge-self ( lgcvar , lgcvar , lgcvar ) as "lgc-render-charge-self ( ""! , ""! , ""! )" enddef

define value of lgc-render-charge-self ( r , D , s ) as norm [r is val : [D is val : [s is val : if D atom then true else LET D BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [i IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [D IN LET lgc-render-charge-self ( r , D , s ) BE [asterisk IN LET asterisk BE [a IN [lgc-symbol2vt ( r , i , s ) :: [lgc-html-br :: a]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-charge-self ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-hdiagnose ( " , " , " , " , " )

Index 481 of page lgc

lgcdef lgcname of lgc-render-hdiagnose ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-hdiagnose ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-hdiagnose ( p , n , d , D , s ) as norm [p is val : [n is val : [d is val : [D is val : [s is val : LET [!"Logiweb diagnose of "] :: n BE [asterisk IN LET asterisk BE [t IN LET lgc-html-href ( !"index.html" , !"Up" ) BE [asterisk IN LET asterisk BE [a IN LET a :: [CRLF :: lgc-html-help] BE [asterisk IN LET asterisk BE [a IN LET if d then lgc-render-correct else lgc-render-hdiagnose1 ( D ) BE [asterisk IN LET asterisk BE [d IN LET lgc-html-page ( t , a :: [CRLF :: d] , s ) BE [asterisk IN LET asterisk BE [a IN LET fileWrite ( p :: !"diagnose.html" , a ) BE [asterisk IN LET asterisk BE [E IN lgc-push-event ( s , E )]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-hdiagnose ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-correct

Index 482 of page lgc

lgcdef lgcname of lgc-render-correct as "lgc-render-correct" enddef

define value of lgc-render-correct as norm lgc-html-h3 ( !"The page is correct" ) end define

lgcdef lgccharge of lgc-render-correct as "0" enddef

lgc-render-hdiagnose1 ( " )

Index 483 of page lgc

lgcdef lgcname of lgc-render-hdiagnose1 ( lgcvar ) as "lgc-render-hdiagnose1 ( ""! )" enddef

define value of lgc-render-hdiagnose1 ( D ) as norm [D is val : lgc-html-p ( lgc-vector*2html ( vt2vector* ( D ) ) )] end define

lgcdef lgccharge of lgc-render-hdiagnose1 ( lgcvar ) as "0" enddef

lgc-render-dump ( " , " )

Index 484 of page lgc

lgcdef lgcname of lgc-render-dump ( lgcvar , lgcvar ) as "lgc-render-dump ( ""! , ""! )" enddef

define value of lgc-render-dump ( x , s ) as norm [x is val : [s is val : LET s [[ !"reference" ]] BE [asterisk IN LET asterisk BE [r IN LET lgc-render-dirname ( r , s ) :: "rack.lgr" BE [asterisk IN LET asterisk BE [p IN LET s [[ !"cluster" ]] [[ r ]] [[ r ]] BE [asterisk IN LET asterisk BE [R IN LET lgr-rack-clean ( R ) BE [asterisk IN LET asterisk BE [R IN LET rack2sl ( R ) BE [asterisk IN LET asterisk BE [R IN LET lgc-progress ( [!"Dumping to "] :: p , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileMkdir ( p ) ) BE [asterisk IN LET asterisk BE [s IN LET lgc-push-event ( s , fileWrite ( p , R ) ) BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( !"User rendering" , 3 , s ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render-user ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-dump ( lgcvar , lgcvar ) as "0" enddef

lgc-render-user ( " , " )

Index 485 of page lgc

lgcdef lgcname of lgc-render-user ( lgcvar , lgcvar ) as "lgc-render-user ( ""! , ""! )" enddef

define value of lgc-render-user ( x , s ) as norm [x is val : [s is val : LET s [[ !"reference" ]] BE [asterisk IN LET asterisk BE [r IN LET lgc-render-expand ( r , s ) catch BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [E IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [R IN if E then lgc-simple-error ( "Exception raised during user rendering, goodbye." , s ) else lgc-render-user1 ( R , true , s )]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-user ( lgcvar , lgcvar ) as "0" enddef

lgc-render-user0 ( " )

Index 486 of page lgc

lgcdef lgcname of lgc-render-user0 ( lgcvar ) as "lgc-render-user0 ( ""! )" enddef

define value of lgc-render-user0 ( R ) as norm [R is val : if R atom then true :: true else if R head intp then R else lgc-render-user0 ( R head )] end define

lgcdef lgccharge of lgc-render-user0 ( lgcvar ) as "0" enddef

lgc-render-noevent

Index 487 of page lgc

lgcdef lgcname of lgc-render-noevent as "lgc-render-noevent" enddef

define value of lgc-render-noevent as norm [true [[ !"file" -> false ]] [[ !"exec" -> false ]] [[ !"text" -> false ]] [[ !"script" -> false ]] [[ !"lgwam" -> false ]] [[ !"latex" -> false ]] [[ !"bibtex" -> false ]] [[ !"makeindex" -> false ]] [[ !"dvipdfm" -> false ]]] end define

lgcdef lgccharge of lgc-render-noevent as "0" enddef

lgc-render-user1 ( " , " , " )

Index 488 of page lgc

lgcdef lgcname of lgc-render-user1 ( lgcvar , lgcvar , lgcvar ) as "lgc-render-user1 ( ""! , ""! , ""! )" enddef

define value of lgc-render-user1 ( R , S , s ) as norm [R is val : [S is val : [s is val : if R atom then if S then lgc-goodbye ( s ) else lgc-render-user1 ( S head , S tail , s ) else LET R BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [e IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [R IN if [.not. [e intp]] .or. [lgc-render-noevent [[ e ]]] then lgc-render-user1 ( e , R :: S , s ) else LET s [[ !"renderstack" -> S ]] BE [asterisk IN LET asterisk BE [s IN LET s [[ !"reference" ]] BE [asterisk IN LET asterisk BE [r IN LET lgc-render-dirname ( r , s ) :: !"page/" BE [asterisk IN LET asterisk BE [p IN LET lgc-render-user0 ( R ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [x IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [R IN if e = !"file" then lgc-render-file ( p , x , R , s ) else if e = !"exec" then lgc-render-file-exec ( p , x , R , s ) else if e = !"text" then lgc-render-text ( p , x , R , s ) else if e = !"script" then lgc-render-text-exec ( p , x , R , s ) else if e = !"lgwam" then lgc-render-lgwam ( p , x , R , s ) else if e = !"latex" then lgc-render-invoke ( e , p , x , s ) else if e = !"bibtex" then lgc-render-invoke ( e , p , x , s ) else if e = !"makeindex" then lgc-render-invoke ( e , p , x , s ) else if e = !"dvipdfm" then lgc-render-invoke ( e , p , x , s ) else LET lgc-progress ( [!"Unknown rendering event: "] :: e , 2 , s ) BE [asterisk IN LET asterisk BE [s IN lgc-goodbye ( s )]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-user1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-user2 ( " , " )

Index 489 of page lgc

lgcdef lgcname of lgc-render-user2 ( lgcvar , lgcvar ) as "lgc-render-user2 ( ""! , ""! )" enddef

define value of lgc-render-user2 ( x , s ) as norm [x is val : [s is val : LET lgc-render-response ( x , s ) BE [asterisk IN LET asterisk BE [s IN LET s [[ !"renderstack" ]] BE [asterisk IN LET asterisk BE [S IN if S then lgc-goodbye ( s ) else lgc-render-user1 ( S head , S tail , s )]]]]]] end define

lgcdef lgccharge of lgc-render-user2 ( lgcvar , lgcvar ) as "0" enddef

lgc-render-response ( " , " )

Index 490 of page lgc

lgcdef lgcname of lgc-render-response ( lgcvar , lgcvar ) as "lgc-render-response ( ""! , ""! )" enddef

define value of lgc-render-response ( x , s ) as norm [x is val : [s is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [r IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN if [r = <<>>] .or. [r = [NULL :: <<>>]] then s else LET s [[ !"invoked" ]] BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [p IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [e IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [n IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN lgc-progress ( [!"Error running "] :: [e :: [SP :: [n :: [[!" in "] :: p]]]] , 2 , s )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-response ( lgcvar , lgcvar ) as "0" enddef

lgc-goodbye ( " )

Index 491 of page lgc

lgcdef lgcname of lgc-goodbye ( lgcvar ) as "lgc-goodbye ( ""! )" enddef

define value of lgc-goodbye ( s ) as norm [s is val : if s [[ !"stack" ]] != true then lgc-load-fetch ( s ) else LET lgc-progress ( !"Goodbye" , 3 , s ) BE [asterisk IN LET asterisk BE [s IN lgc-do-events ( s )]]] end define

lgcdef lgccharge of lgc-goodbye ( lgcvar ) as "0" enddef

lgc-render-file ( " , " , " , " )

Index 492 of page lgc

lgcdef lgcname of lgc-render-file ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-file ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-file ( p , n , c , s ) as norm [p is val : [n is val : [c is val : [s is val : if lgc-render-path ( n ) != true then lgc-render-refuse ( n , s ) else LET p :: n BE [asterisk IN LET asterisk BE [p IN LET lgc-progress ( [!"Writing file:"] :: p , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET fileMkdir ( p ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN LET fileWrite ( p , c ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render-user2 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-file ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-file-exec ( " , " , " , " )

Index 493 of page lgc

lgcdef lgcname of lgc-render-file-exec ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-file-exec ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-file-exec ( p , n , c , s ) as norm [p is val : [n is val : [c is val : [s is val : if lgc-render-path ( n ) != true then lgc-render-refuse ( n , s ) else LET p :: n BE [asterisk IN LET asterisk BE [p IN LET lgc-progress ( [!"Writing file:"] :: p , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET fileMkdir ( p ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN LET fileWriteExec ( p , c ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render-user2 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-file-exec ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-text ( " , " , " , " )

Index 494 of page lgc

lgcdef lgcname of lgc-render-text ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-text ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-text ( p , n , c , s ) as norm [p is val : [n is val : [c is val : [s is val : if lgc-render-path ( n ) != true then lgc-render-refuse ( n , s ) else LET p :: n BE [asterisk IN LET asterisk BE [p IN LET lgc-host-newline ( s ) BE [asterisk IN LET asterisk BE [N IN LET lgc-progress ( [!"Writing file:"] :: p , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET fileMkdir ( p ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN LET textWrite ( p , N , c ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render-user2 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-text ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-text-exec ( " , " , " , " )

Index 495 of page lgc

lgcdef lgcname of lgc-render-text-exec ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-text-exec ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-text-exec ( p , n , c , s ) as norm [p is val : [n is val : [c is val : [s is val : if lgc-render-path ( n ) != true then lgc-render-refuse ( n , s ) else LET p :: n BE [asterisk IN LET asterisk BE [p IN LET lgc-host-newline ( s ) BE [asterisk IN LET asterisk BE [N IN LET lgc-progress ( [!"Writing file:"] :: p , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET fileMkdir ( p ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN LET textWriteExec ( p , N , c ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render-user2 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-text-exec ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-add-lf ( " )

Index 496 of page lgc

lgcdef lgcname of lgc-render-add-lf ( lgcvar ) as "lgc-render-add-lf ( ""! )" enddef

define value of lgc-render-add-lf ( a ) as norm [a is val : if a atom then true else [a head :: [LF :: lgc-render-add-lf ( a tail )]]] end define

lgcdef lgccharge of lgc-render-add-lf ( lgcvar ) as "0" enddef

lgc-render-lgwam ( " , " , " , " )

Index 497 of page lgc

lgcdef lgcname of lgc-render-lgwam ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-lgwam ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-lgwam ( p , n , c , s ) as norm [p is val : [n is val : [c is val : [s is val : if lgc-render-path ( n ) != true then lgc-render-refuse ( n , s ) else LET p :: n BE [asterisk IN LET asterisk BE [p IN LET lgc-host-newline ( s ) BE [asterisk IN LET asterisk BE [N IN LET lgc-render-add-lf ( s [[ !"parameters" ]] [[ !"script" ]] ) BE [asterisk IN LET asterisk BE [a IN LET lgc-progress ( [!"Writing file:"] :: p , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET fileMkdir ( p ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN LET textWriteExec ( p , N , a :: c ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render-user2 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-lgwam ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-invoke ( " , " , " , " )

Index 498 of page lgc

lgcdef lgcname of lgc-render-invoke ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-invoke ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-invoke ( e , p , n , s ) as norm [e is val : [p is val : [n is val : [s is val : if lgc-render-path ( n ) != true then lgc-render-refuse ( n , s ) else LET s [[ !"invoked" -> p :: [e :: [n :: <<>>]] ]] BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( [!"Invoking "] :: [e :: [SP :: n]] , 4 , s ) BE [asterisk IN LET asterisk BE [s IN LET execlp1 ( p , e , n ) BE [asterisk IN LET asterisk BE [E IN LET lgc-push-event ( s , E ) BE [asterisk IN LET asterisk BE [s IN reverse ( exec request ( true , map ( \ s . \ x . lgc-render-user2 ( x , s ) ) apply [lgc-clr-events ( s ) maptag] ) :: lgc-get-events ( s ) )]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-invoke ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-path ( " )

Index 499 of page lgc

lgcdef lgcname of lgc-render-path ( lgcvar ) as "lgc-render-path ( ""! )" enddef

define value of lgc-render-path ( n ) as norm [n is val : LET vt2vector* ( n ) BE [asterisk IN LET asterisk BE [n IN if n then !"Empty filename" else if n head = !"/" then !"Relative filename starts with slash" else if n = [[!"."] :: <<>>] then !"Filename must be more than a dot" else lgc-render-path-slash ( n )]]] end define

lgcdef lgccharge of lgc-render-path ( lgcvar ) as "0" enddef

lgc-render-path1 ( " )

Index 500 of page lgc

lgcdef lgcname of lgc-render-path1 ( lgcvar ) as "lgc-render-path1 ( ""! )" enddef

define value of lgc-render-path1 ( n ) as norm [n is val : if n atom then true else LET n BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [n IN if [[!"a"] <= c] .and. [c <= !"z"] then lgc-render-path1 ( n ) else if [[!"A"] <= c] .and. [c <= !"Z"] then lgc-render-path1 ( n ) else if [[!"0"] <= c] .and. [c <= !"9"] then lgc-render-path1 ( n ) else if [c = !"-"] .or. [c = !"_"] then lgc-render-path1 ( n ) else if c = !"." then lgc-render-path-dot ( n ) else if c = !"/" then lgc-render-path-slash ( n ) else [[!"Filename must be constructed from letters (a to z and A to Z)"] :: [LF :: !"digits (0 to 9), hyphen (-), underscore (_), dot (.), and slash (/)"]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-path1 ( lgcvar ) as "0" enddef

lgc-render-path-dot ( " )

Index 501 of page lgc

lgcdef lgcname of lgc-render-path-dot ( lgcvar ) as "lgc-render-path-dot ( ""! )" enddef

define value of lgc-render-path-dot ( n ) as norm [n is val : if n head = !"." then !"Filename contains two dots in a row" else lgc-render-path1 ( n )] end define

lgcdef lgccharge of lgc-render-path-dot ( lgcvar ) as "0" enddef

lgc-render-path-slash ( " )

Index 502 of page lgc

lgcdef lgcname of lgc-render-path-slash ( lgcvar ) as "lgc-render-path-slash ( ""! )" enddef

define value of lgc-render-path-slash ( n ) as norm [n is val : if n atom then "Filename ends with a slash" else if n = [[!"."] :: <<>>] then "Filename ends with slash-dot" else if n head = !"/" then "Filename contains two slashes in a row" else lgc-render-path1 ( n )] end define

lgcdef lgccharge of lgc-render-path-slash ( lgcvar ) as "0" enddef

lgc-render-refuse ( " , " )

Index 503 of page lgc

lgcdef lgcname of lgc-render-refuse ( lgcvar , lgcvar ) as "lgc-render-refuse ( ""! , ""! )" enddef

define value of lgc-render-refuse ( n , s ) as norm [n is val : [s is val : LET lgc-progress ( [!"Improper filename: "] :: n , 2 , s ) BE [asterisk IN LET asterisk BE [s IN LET lgc-progress ( lgc-render-path ( n ) , 2 , s ) BE [asterisk IN LET asterisk BE [s IN lgc-goodbye ( s )]]]]]] end define

lgcdef lgccharge of lgc-render-refuse ( lgcvar , lgcvar ) as "0" enddef

lgc-render-events ( " , " , " )

Index 504 of page lgc

lgcdef lgcname of lgc-render-events ( lgcvar , lgcvar , lgcvar ) as "lgc-render-events ( ""! , ""! , ""! )" enddef

lgcdef lgccharge of lgc-render-events ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-event0 ( " )

Index 505 of page lgc

lgcdef lgcname of lgc-render-event0 ( lgcvar ) as "lgc-render-event0 ( ""! )" enddef

lgcdef lgccharge of lgc-render-event0 ( lgcvar ) as "0" enddef

lgc-render-event ( " , " , " )

Index 506 of page lgc

lgcdef lgcname of lgc-render-event ( lgcvar , lgcvar , lgcvar ) as "lgc-render-event ( ""! , ""! , ""! )" enddef

lgcdef lgccharge of lgc-render-event ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-expand ( " , " )

Index 507 of page lgc

lgcdef lgcname of lgc-render-expand ( lgcvar , lgcvar ) as "lgc-render-expand ( ""! , ""! )" enddef

define value of lgc-render-expand ( r , s ) as norm [r is val : [s is val : LET s [[ !"cluster" ]] [[ r ]] BE [asterisk IN LET asterisk BE [c IN LET true [[ !"cache" -> c ]] BE [asterisk IN LET asterisk BE [V IN LET V [[ !"parameters" -> s [[ !"parameters" ]] ]] BE [asterisk IN LET asterisk BE [V IN LET V [[ !"leap" -> s [[ !"leap" ]] ]] BE [asterisk IN LET asterisk BE [V IN LET c [[ r ]] [[ !"codex" ]] [[ r ]] [[ 0 ]] [[ 0 ]] [[ !"render" ]] BE [asterisk IN LET asterisk BE [d IN if d pairp then lgc-render-expand1 ( d , V , c ) else LET c [[ r ]] [[ !"bibliography" ]] first BE [asterisk IN LET asterisk BE [b IN if b then lgc-render-default ( r , V , c ) else LET c [[ b ]] [[ !"codex" ]] [[ b ]] [[ 0 ]] [[ 0 ]] [[ !"render" ]] BE [asterisk IN LET asterisk BE [d IN if d pairp then lgc-render-expand1 ( d , V , c ) else lgc-render-default ( r , V , c )]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-expand ( lgcvar , lgcvar ) as "0" enddef

lgc-render-expand1 ( " , " , " )

Index 508 of page lgc

lgcdef lgcname of lgc-render-expand1 ( lgcvar , lgcvar , lgcvar ) as "lgc-render-expand1 ( ""! , ""! , ""! )" enddef

define value of lgc-render-expand1 ( d , V , c ) as norm [d is val : [V is val : [c is val : LET eval ( d third , true , c ) BE [asterisk IN LET asterisk BE [f IN [[f apply [V maptag]] untag]]]]]] end define

lgcdef lgccharge of lgc-render-expand1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-default ( " , " , " )

Index 509 of page lgc

lgcdef lgcname of lgc-render-default ( lgcvar , lgcvar , lgcvar ) as "lgc-render-default ( ""! , ""! , ""! )" enddef

define value of lgc-render-default ( r , V , c ) as norm [r is val : [V is val : [c is val : LET lgc-render-exec ( r , V , c ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-render-lgwinclude ( r , V , c ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-render-diagnose ( r , V , c ) BE [asterisk IN LET asterisk BE [R IN [R :: lgc-render-body ( r , V , c )]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-default ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-body ( " , " , " )

Index 510 of page lgc

lgcdef lgcname of lgc-render-body ( lgcvar , lgcvar , lgcvar ) as "lgc-render-body ( ""! , ""! , ""! )" enddef

define value of lgc-render-body ( r , V , c ) as norm [r is val : [V is val : [c is val : LET c [[ r ]] [[ "body" ]] BE [asterisk IN LET asterisk BE [t IN [stateexpand ( t , lgc-render-use :: [true :: V] , c ) head]]]]]] end define

lgcdef lgccharge of lgc-render-body ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-diagnose ( " , " , " )

Index 511 of page lgc

lgcdef lgcname of lgc-render-diagnose ( lgcvar , lgcvar , lgcvar ) as "lgc-render-diagnose ( ""! , ""! , ""! )" enddef

define value of lgc-render-diagnose ( r , V , c ) as norm [r is val : [V is val : [c is val : LET c [[ r ]] [[ "diagnose" ]] untag BE [asterisk IN LET asterisk BE [t IN if t then lgc-render-diagnose1 ( !"No errors found" , r , V , c ) else LET stateexpand ( t , lgc-render-use :: [true :: V] , c ) head BE [asterisk IN LET asterisk BE [R IN if t tail .or. .not. [t tail tail] then R else LET c [[ t ref ]] [[ !"codex" ]] [[ t ref ]] [[ t idx ]] [[ 0 ]] [[ !"use" ]] BE [asterisk IN LET asterisk BE [d IN if d .or. .not. [d second first t= [d third]] then R else lgc-render-diagnose1 ( R , r , V , c )]]]]]]]]] end define

lgcdef lgccharge of lgc-render-diagnose ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-diagnose1 ( " , " , " , " )

Index 512 of page lgc

lgcdef lgcname of lgc-render-diagnose1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-diagnose1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-diagnose1 ( m , r , V , c ) as norm [m is val : [r is val : [V is val : [c is val : LET lgc-render-pdftitle ( vt2vector* ( lgc-symbol2vt1 ( r , 0 , c ) ) ) BE [asterisk IN LET asterisk BE [N IN LET stateexpand ( [r :: [0 :: <<>>]] :: <<>> , lgc-render-show :: [true :: V] , c ) head BE [asterisk IN LET asterisk BE [n IN LET lgc-lgt2grdutc2vt ( lgc-ref2lgt ( r ) , V ) BE [asterisk IN LET asterisk BE [t IN LET [!"\documentclass[fleqn]{article} \setlength{\overfullrule}{1mm} \usepackage{latexsym} \setlength{\parindent}{0em} \setlength{\parskip}{1ex} \usepackage{graphicx} \usepackage[dvipdfm=true]{hyperref} \hypersetup{pdfpagemode=UseNone} \hypersetup{pdfstartpage=1} \hypersetup{pdfstartview=FitBH} \hypersetup{pdfpagescrop={120 80 490 730}} \hypersetup{pdftitle=Logiweb diagnose of "] :: [N :: [[!"} \hypersetup{colorlinks=true} \everymath{\rm} \begin{document}\raggedright \newlength{\lgwlinewidth} \setlength{\lgwlinewidth}{\linewidth} \begin{list}{}{\setlength{\leftmargin}{0mm} \setlength{\rightmargin}{20mm} \setlength{\topsep}{0mm} \setlength{\partopsep}{0mm} \setlength{\itemsep}{0mm} \setlength{\parsep}{0mm} }\item \makebox[0mm][l]{\makebox[\lgwlinewidth][r]{\includegraphics [0mm,18.5mm][16.5mm,19mm]{logiweb.eps}}}% {\bf{\Large Logiweb diagnose of $ "] :: [n :: [[!" $}} \end {list}\vspace{12.5mm} "] :: [m :: [[!" \vspace{2ex} {\em\href{http://logiweb.eu/index.html}{The Logiweb compiler (lgc)}, \href {http://logiweb.eu/logiweb/doc/misc/time.html}{"] :: [t :: !"}} \end{document} "]]]]]]] BE [asterisk IN LET asterisk BE [R IN LET [!"text"] :: [[!"diagnose.tex"] :: R] BE [asterisk IN LET asterisk BE [R IN LET R :: [[!"latex"] :: [[!"diagnose"] :: <<>>]] BE [asterisk IN LET asterisk BE [R IN [R :: [[!"dvipdfm"] :: [[!"diagnose"] :: <<>>]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-diagnose1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-pdftitle ( " )

Index 513 of page lgc

lgcdef lgcname of lgc-render-pdftitle ( lgcvar ) as "lgc-render-pdftitle ( ""! )" enddef

define value of lgc-render-pdftitle ( a ) as norm [a is val : if a atom then true else LET a BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [c IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET lgc-render-pdftitle ( a ) BE [asterisk IN LET asterisk BE [a IN if lgc-render-pdftitle1 ( c ) then c :: a else [[!"("] :: [lgc-string2mixed ( c ) :: [[!")"] :: a]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-pdftitle ( lgcvar ) as "0" enddef

lgc-render-pdftitle1 ( " )

Index 514 of page lgc

lgcdef lgcname of lgc-render-pdftitle1 ( lgcvar ) as "lgc-render-pdftitle1 ( ""! )" enddef

define value of lgc-render-pdftitle1 ( c ) as norm [c is val : [[[[!"a"] <= c] .and. [c <= !"z"]] .or. [[[[!"A"] <= c] .and. [c <= !"Z"]] .or. [[[[!"0"] <= c] .and. [c <= !"9"]] .or. [[[c = !" "] .or. [c = !":"]] .or. [c = !"-"]]]]]] end define

lgcdef lgccharge of lgc-render-pdftitle1 ( lgcvar ) as "0" enddef

lgc-render-exec ( " , " , " )

Index 515 of page lgc

lgcdef lgcname of lgc-render-exec ( lgcvar , lgcvar , lgcvar ) as "lgc-render-exec ( ""! , ""! , ""! )" enddef

define value of lgc-render-exec ( r , V , c ) as norm [r is val : [V is val : [c is val : lgc-render-exec1 ( r , V , c [[ r ]] [[ !"codex" ]] [[ 0 ]] , true )]]] end define

lgcdef lgccharge of lgc-render-exec ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-exec1 ( " , " , " , " )

Index 516 of page lgc

lgcdef lgcname of lgc-render-exec1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-exec1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-exec1 ( r , V , c , R ) as norm [r is val : [V is val : [c is val : [R is val : if c atom then R else if c head intp then lgc-render-exec2 ( r , V , c head , c tail , R ) else lgc-render-exec1 ( r , V , c head , lgc-render-exec1 ( r , V , c tail , R ) )]]]] end define

lgcdef lgccharge of lgc-render-exec1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-exec2 ( " , " , " , " , " )

Index 517 of page lgc

lgcdef lgcname of lgc-render-exec2 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-exec2 ( ""! , ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-exec2 ( r , V , i , c , R ) as norm [r is val : [V is val : [i is val : [c is val : [R is val : LET c [[ 0 ]] [[ !"execute" ]] third second BE [asterisk IN LET asterisk BE [t IN if t then R else LET eval ( t , true , V [[ !"cache" ]] ) untag BE [asterisk IN LET asterisk BE [v IN LET lgc-render-exec-arg ( v , V ) BE [asterisk IN LET asterisk BE [v IN LET [!"string"] :: [LF :: lgc-string2mixed ( r )] BE [asterisk IN LET asterisk BE [a IN LET a :: [LF :: [i :: [LF :: [[!"execute"] :: v]]]] BE [asterisk IN LET asterisk BE [a IN LET vt2vector ( "bin/" :: i ) BE [asterisk IN LET asterisk BE [p IN [[[!"lgwam"] :: [p :: [a :: <<>>]]] :: R]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-exec2 ( lgcvar , lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-exec-arg ( " , " )

Index 518 of page lgc

lgcdef lgcname of lgc-render-exec-arg ( lgcvar , lgcvar ) as "lgc-render-exec-arg ( ""! , ""! )" enddef

define value of lgc-render-exec-arg ( v , V ) as norm [v is val : [V is val : if v atom then LF else LET v BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [a IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [v IN LET lgc-render-exec-arg ( v , V ) BE [asterisk IN LET asterisk BE [w IN if a intp then LF :: [a :: w] else if .not. [a mapp] then w else LET [a apply [V maptag]] untag BE [asterisk IN LET asterisk BE [a IN if a intp then LF :: [a :: w] else w]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-exec-arg ( lgcvar , lgcvar ) as "0" enddef

lgc-gdef ( " , " )

Index 519 of page lgc

lgcdef lgcname of lgc-gdef ( lgcvar , lgcvar ) as "lgc-gdef ( ""! , ""! )" enddef

define value of lgc-gdef ( x , y ) as norm [x is val : [y is val : [[!"\gdef\"] :: [x :: [[!"{"] :: [y :: [[[!"}"] :: LF] :: <<>>]]]]]]] end define

lgcdef lgccharge of lgc-gdef ( lgcvar , lgcvar ) as "0" enddef

lgc-only-letters ( " )

Index 520 of page lgc

lgcdef lgcname of lgc-only-letters ( lgcvar ) as "lgc-only-letters ( ""! )" enddef

define value of lgc-only-letters ( x ) as norm [x is val : if x pairp then lgc-only-letters ( x head ) :: lgc-only-letters ( x tail ) else if .not. [x intp] then true else if [[[!"A"] <= x] .and. [x <= !"Z"]] .or. [[[!"a"] <= x] .and. [x <= !"z"]] then x else true] end define

lgcdef lgccharge of lgc-only-letters ( lgcvar ) as "0" enddef

lgc-gdef-ref ( " , " )

Index 521 of page lgc

lgcdef lgcname of lgc-gdef-ref ( lgcvar , lgcvar ) as "lgc-gdef-ref ( ""! , ""! )" enddef

define value of lgc-gdef-ref ( r , c ) as norm [r is val : [c is val : LET lgc-symbol2vt1 ( r , 0 , c ) BE [asterisk IN LET asterisk BE [n IN LET vt2vector* ( n ) BE [asterisk IN LET asterisk BE [n IN LET lgc-only-letters ( n ) BE [asterisk IN LET asterisk BE [n IN LET lgc-string2mixed ( r ) BE [asterisk IN LET asterisk BE [X IN LET lgc-gdef ( [!"lgwBlock"] :: n , X ) BE [asterisk IN LET asterisk BE [R IN [R :: lgc-gdef ( [!"lgwBreak"] :: n , lgc-break ( X ) )]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-gdef-ref ( lgcvar , lgcvar ) as "0" enddef

lgc-gdef-bib ( " , " )

Index 522 of page lgc

lgcdef lgcname of lgc-gdef-bib ( lgcvar , lgcvar ) as "lgc-gdef-bib ( ""! , ""! )" enddef

define value of lgc-gdef-bib ( b , c ) as norm [b is val : [c is val : if b atom then true else [lgc-gdef-ref ( b head , c ) :: lgc-gdef-bib ( b tail , c )]]] end define

lgcdef lgccharge of lgc-gdef-bib ( lgcvar , lgcvar ) as "0" enddef

lgc-break ( " )

Index 523 of page lgc

lgcdef lgcname of lgc-break ( lgcvar ) as "lgc-break ( ""! )" enddef

define value of lgc-break ( v ) as norm [v is val : lgc-break1 ( vt2vector* ( v ) )] end define

lgcdef lgccharge of lgc-break ( lgcvar ) as "0" enddef

lgc-break1 ( " )

Index 524 of page lgc

lgcdef lgcname of lgc-break1 ( lgcvar ) as "lgc-break1 ( ""! )" enddef

define value of lgc-break1 ( v ) as norm [v is val : if v tail atom then v else [v head :: [[!"\lgwbreak"] :: [LF :: lgc-break1 ( v tail )]]]] end define

lgcdef lgccharge of lgc-break1 ( lgcvar ) as "0" enddef

lgc-render-lgwinclude ( " , " , " )

Index 525 of page lgc

lgcdef lgcname of lgc-render-lgwinclude ( lgcvar , lgcvar , lgcvar ) as "lgc-render-lgwinclude ( ""! , ""! , ""! )" enddef

define value of lgc-render-lgwinclude ( r , V , c ) as norm [r is val : [V is val : [c is val : LET lgc-ref2lgt ( r ) BE [asterisk IN LET asterisk BE [t IN LET lgc-gdef ( !"today" , lgc-lgt2grdutc2vt ( t , V ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwlgt" , lgc-lgt2vt ( t ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwmjdtai" , lgc-lgt2mjdtai2vt ( t ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwgrdutc" , lgc-lgt2grdutc2vt ( t , V ) ) BE [asterisk IN LET asterisk BE [R IN LET t BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [e IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET R :: lgc-gdef ( !"lgwmantissa" , lgc-itoa ( f ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwexponent" , lgc-itoa ( e ) ) BE [asterisk IN LET asterisk BE [R IN LET lgc-lgt2grdutc ( t , V ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [Y IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [M IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [D IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET asterisk BE [h IN LET asterisk prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime tail BE [asterisk prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET asterisk BE [m IN LET asterisk prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime tail BE [asterisk prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET asterisk BE [s IN LET asterisk prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime IN LET asterisk BE [f IN LET asterisk prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime prime prime prime prime prime IN LET asterisk prime prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime prime IN LET asterisk BE [e IN LET asterisk prime prime prime prime prime prime prime prime head BE [asterisk IN LET asterisk prime prime prime prime prime prime prime prime tail BE [asterisk prime prime prime prime prime prime prime prime IN LET R :: lgc-gdef ( !"lgwfraction" , lgc-ctoa ( f , e ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwsecond" , lgc-ctoa ( s , 2 ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwminute" , lgc-ctoa ( m , 2 ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwhour" , lgc-ctoa ( h , 2 ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwday" , lgc-ctoa ( D , 2 ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwmonth" , lgc-ctoa ( M , 2 ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwyear" , lgc-itoa ( Y ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwbreak" , !"\linebreak[0]\hskip0em plus0.5em{}" ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwhyphen" , !"-" ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwunderscore" , !"\_" ) BE [asterisk IN LET asterisk BE [R IN LET default ( !"../../../logiweb/" , V [[ !"parameters" ]] [[ !"relay" ]] ) BE [asterisk IN LET asterisk BE [X IN LET R :: lgc-gdef ( !"lgwBlockRelay" , X ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwBreakRelay" , lgc-break ( X ) ) BE [asterisk IN LET asterisk BE [R IN LET lgc-string2mixed ( r ) BE [asterisk IN LET asterisk BE [X IN LET R :: lgc-gdef ( !"lgwBlockThis" , X ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef ( !"lgwBreakThis" , lgc-break ( X ) ) BE [asterisk IN LET asterisk BE [R IN LET R :: lgc-gdef-bib ( c [[ r ]] [[ !"bibliography" ]] , c ) BE [asterisk IN LET asterisk BE [R IN ["text" :: ["lgwinclude.tex" :: R]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-lgwinclude ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-index ( " , " , " )

Index 526 of page lgc

lgcdef lgcname of lgc-index ( lgcvar , lgcvar , lgcvar ) as "lgc-index ( ""! , ""! , ""! )" enddef

define value of lgc-index ( T , p , r ) as norm [T is val : [p is val : [r is val : if p atom then true else if T t= [p head] then r else lgc-index ( T , p tail , r + 1 )]]] end define

lgcdef lgccharge of lgc-index ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-const2val ( " , " )

Index 527 of page lgc

lgcdef lgcname of lgc-const2val ( lgcvar , lgcvar ) as "lgc-const2val ( ""! , ""! )" enddef

define value of lgc-const2val ( f , x ) as norm [f is val : [x is val : if x atom then f untag else lgc-const2val ( f apply [true maptag] , x tail )]] end define

lgcdef lgccharge of lgc-const2val ( lgcvar , lgcvar ) as "0" enddef

lgc-render-compile ( " , " , " )

Index 528 of page lgc

lgcdef lgcname of lgc-render-compile ( lgcvar , lgcvar , lgcvar ) as "lgc-render-compile ( ""! , ""! , ""! )" enddef

define value of lgc-render-compile ( T , p , c ) as norm [T is val : [p is val : [c is val : LET T BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [r IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [i IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN if r = 0 then T else LET c [[ r ]] [[ !"code" ]] [[ i ]] BE [asterisk IN LET asterisk BE [f IN if .not. [f mapp] then lgc-render-compile1 ( T , p , c ) else LET lgc-const2val ( f , T tail ) BE [asterisk IN LET asterisk BE [f IN if .not. [f mapp] then lgc-render-compile1 ( T , p , c ) else [f :: lgc-render-compile* ( T tail , p , c )]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-compile ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-compile1 ( " , " , " )

Index 529 of page lgc

lgcdef lgcname of lgc-render-compile1 ( lgcvar , lgcvar , lgcvar ) as "lgc-render-compile1 ( ""! , ""! , ""! )" enddef

define value of lgc-render-compile1 ( T , p , c ) as norm [T is val : [p is val : [c is val : LET lgc-index ( T , p , 0 ) BE [asterisk IN LET asterisk BE [t IN if t intp then t else [true :: lgc-render-compile* ( T tail , p , c )]]]]]] end define

lgcdef lgccharge of lgc-render-compile1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-compile* ( " , " , " )

Index 530 of page lgc

lgcdef lgcname of lgc-render-compile* ( lgcvar , lgcvar , lgcvar ) as "lgc-render-compile* ( ""! , ""! , ""! )" enddef

define value of lgc-render-compile* ( T , p , c ) as norm [T is val : [p is val : [c is val : if T atom then true else [lgc-render-compile ( T head , p , c ) :: lgc-render-compile* ( T tail , p , c )]]]] end define

lgcdef lgccharge of lgc-render-compile* ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-eval ( " , " , " , " )

Index 531 of page lgc

lgcdef lgcname of lgc-render-eval ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-eval ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-eval ( T , a , s , c ) as norm [T is val : [a is val : [s is val : [c is val : if T intp then stateexpand ( nth ( T , a ) , s , c ) else LET T BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [T IN LET s BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [C IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [V IN if f pairp then f first :: C else if f mapp then [f apply [[a :: [s :: [c :: T]]] maptag]] untag else if T then true :: C else if T tail then lgc-render-eval ( T head , a , lgc-render-show :: [C :: V] , c ) else lgc-render-eval* ( T , a , s , c )]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-eval ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-eval* ( " , " , " , " )

Index 532 of page lgc

lgcdef lgcname of lgc-render-eval* ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-eval* ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-eval* ( T , a , s , c ) as norm [T is val : [a is val : [s is val : [c is val : LET s BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [C IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [V IN if T atom then true :: C else LET lgc-render-eval ( T head , a , s , c ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [A IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [C IN LET lgc-render-eval* ( T tail , a , f :: [C :: V] , c ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [B IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [C IN [[A :: B] :: C]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-eval* ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-use

Index 533 of page lgc

lgcdef lgcname of lgc-render-use as "lgc-render-use" enddef

define value of lgc-render-use as norm map ( \ x . lgc-render-use1 ( x ) ) end define

lgcdef lgccharge of lgc-render-use as "0" enddef

lgc-render-use1 ( " )

Index 534 of page lgc

lgcdef lgcname of lgc-render-use1 ( lgcvar ) as "lgc-render-use1 ( ""! )" enddef

define value of lgc-render-use1 ( x ) as norm [x is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [t IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [s IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [c IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET s BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [C IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [V IN if t then [!"\mbox{\tt\char34}"] :: C else if t head then lgc-understood ( lgc-render-use1 ( t first :: [s :: [c :: <<>>]] ) ) :: C else LET t BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [r IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [i IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN if r = 0 then i :: C else LET C [[ !"use" ]] [[ r ]] [[ i ]] BE [asterisk IN LET asterisk BE [T IN if .not. T then lgc-render-eval ( T , t tail , s , c ) else LET lgc-render-compile-use ( r , i , C , c ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [T IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [C IN lgc-render-eval ( T , t tail , f :: [C :: V] , c )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-use1 ( lgcvar ) as "0" enddef

lgc-render-compile-use ( " , " , " , " )

Index 535 of page lgc

lgcdef lgcname of lgc-render-compile-use ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-compile-use ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-compile-use ( r , i , C , c ) as norm [r is val : [i is val : [C is val : [c is val : LET lgc-render-compile-use1 ( r , i , C , c ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [T IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [C IN LET C [[ [!"use"] :: [r :: [i :: <<>>]] => T ]] BE [asterisk IN LET asterisk BE [C IN [T :: C]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-compile-use ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-compile-use1 ( " , " , " , " )

Index 536 of page lgc

lgcdef lgcname of lgc-render-compile-use1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-compile-use1 ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-compile-use1 ( r , i , C , c ) as norm [r is val : [i is val : [C is val : [c is val : LET c [[ r ]] [[ "codex" ]] [[ r ]] [[ i ]] [[ 0 ]] [[ !"use" ]] BE [asterisk IN LET asterisk BE [d IN if d pairp then lgc-render-compile ( d third , d second tail , c ) :: C else lgc-render-compile-show ( r , i , C , c )]]]]]] end define

lgcdef lgccharge of lgc-render-compile-use1 ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-understood ( " )

Index 537 of page lgc

lgcdef lgcname of lgc-understood ( lgcvar ) as "lgc-understood ( ""! )" enddef

define value of lgc-understood ( t ) as norm [t is val : [LF :: [[!"\ \linebreak[0]\textcolor{blue}{[}\linebreak[0]\ "] :: [t :: [LF :: !"\ \linebreak[0]\textcolor{blue}{]}\linebreak[0]\ "]]]]] end define

lgcdef lgccharge of lgc-understood ( lgcvar ) as "0" enddef

lgc-render-show

Index 538 of page lgc

lgcdef lgcname of lgc-render-show as "lgc-render-show" enddef

define value of lgc-render-show as norm map ( \ x . lgc-render-show1 ( x ) ) end define

lgcdef lgccharge of lgc-render-show as "0" enddef

lgc-render-show1 ( " )

Index 539 of page lgc

lgcdef lgcname of lgc-render-show1 ( lgcvar ) as "lgc-render-show1 ( ""! )" enddef

define value of lgc-render-show1 ( x ) as norm [x is val : LET x BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [t IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [s IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [c IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET s BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [f IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [C IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [V IN if t then [!"\mbox{\tt\char34}"] :: C else if t head then lgc-understood ( lgc-render-show1 ( t first :: [s :: [c :: <<>>]] ) ) :: C else LET t BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET asterisk BE [r IN LET asterisk prime prime head BE [asterisk IN LET asterisk prime prime tail BE [asterisk prime prime IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime prime prime IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk BE [i IN LET asterisk prime prime prime head BE [asterisk IN LET asterisk prime prime prime tail BE [asterisk prime prime prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN if r = 0 then lgc-render-string ( i ) :: C else LET C [[ !"show" ]] [[ r ]] [[ i ]] BE [asterisk IN LET asterisk BE [T IN if .not. T then lgc-render-eval ( T , t tail , s , c ) else LET lgc-render-compile-show ( r , i , C , c ) BE [asterisk IN LET [if asterisk atom then asterisk else [asterisk head]] :: [[if asterisk atom then asterisk else [asterisk tail]] :: true] BE [asterisk prime IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [T IN LET asterisk prime head BE [asterisk IN LET asterisk prime tail BE [asterisk prime IN LET asterisk BE [C IN lgc-render-eval ( T , t tail , f :: [C :: V] , c )]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] end define

lgcdef lgccharge of lgc-render-show1 ( lgcvar ) as "0" enddef

lgc-render-compile-show ( " , " , " , " )

Index 540 of page lgc

lgcdef lgcname of lgc-render-compile-show ( lgcvar , lgcvar , lgcvar , lgcvar ) as "lgc-render-compile-show ( ""! , ""! , ""! , ""! )" enddef

define value of lgc-render-compile-show ( r , i , C , c ) as norm [r is val : [i is val : [C is val : [c is val : LET lgc-render-compile-show1 ( r , i , c ) BE [asterisk IN LET asterisk BE [T IN LET C [[ [!"show"] :: [r :: [i :: <<>>]] => T ]] BE [asterisk IN LET asterisk BE [C IN [T :: C]]]]]]]]] end define

lgcdef lgccharge of lgc-render-compile-show ( lgcvar , lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-compile-show1 ( " , " , " )

Index 541 of page lgc

lgcdef lgcname of lgc-render-compile-show1 ( lgcvar , lgcvar , lgcvar ) as "lgc-render-compile-show1 ( ""! , ""! , ""! )" enddef

define value of lgc-render-compile-show1 ( r , i , c ) as norm [r is val : [i is val : [c is val : LET c [[ r ]] [[ "codex" ]] [[ r ]] [[ i ]] [[ 0 ]] [[ !"show" ]] BE [asterisk IN LET asterisk BE [d IN if d pairp then lgc-render-compile ( d third , d second tail , c ) else lgc-render-name ( r , i , c )]]]]] end define

lgcdef lgccharge of lgc-render-compile-show1 ( lgcvar , lgcvar , lgcvar ) as "0" enddef

lgc-render-name ( " , " , " )

Index 542 of page lgc

lgcdef lgcname of lgc-render-name ( lgcvar , lgcvar , lgcvar ) as "lgc-render-name ( ""! , ""! , ""! )" enddef

define value of lgc-render-name ( r , i , c ) as norm [r is val : [i is val : [c is val : LET lgc-symbol2vt1 ( r , i , c ) BE