format-check

File format-check.str
Author Martin Bravenboer <martin.bravenboer@gmail.com>
Since unknown

Format check a term against an RTG

This format checker supports any normalized RTG (defined by TATA),including non-deterministic ones. The checker also supports injections.




Statistics


General
Lines of code 536
Stratego
Module number 1 (100% documented)
Constructor number 0
Overlay number 0
Strategy number 45 (64% documented)
Rule number 2 (0% documented)
DynamicRule number 12 (0% documented)



Strategy summary


all-consnil(Strategy s) all variant that traverses lists as cons/nil format-check.str
bottomup-consnil(Strategy s) bttomup variant that traverses lists as cons/nil format-check.str
map-consnil(Strategy s) n/a format-check.str
one-consnil(Strategy s) one variant that traverses lists as cons/nil format-check.str
rtg-format-check(ATerm rtg) Checks that the current term has the format of the given RTG format-check.str
rtg-format-check(ATerm rtg, ATerm starts) Checks that the current term has the format of one of the specified start non-terminals format-check.str
rtg-format-check(Strategy report-errors, Strategy fail-on-error, ATerm rtg) Checks that the current term has the format of the given RTG format-check.str
rtg-format-check(Strategy report-errors, Strategy fail-on-error, ATerm rtg, ATerm starts) Checks that the current term has the format of one of the specified start non-terminals format-check.str
rtgfc-format-check(ATerm tbl, ATerm set) Main format check traversal format-check.str
rtgfc-format-check-error(ATerm rtg, ATerm tbl, ATerm set) n/a format-check.str
rtgfc-format-check-report(ATerm rtg, ATerm tbl, ATerm set) n/a format-check.str
rtgfc-format-check-report(ATerm starts, ATerm tbl, ATerm set) n/a format-check.str
rtgfc-generate-type-rule Int application format-check.str
rtgfc-generate-type-rule String application format-check.str
rtgfc-generate-type-rule Injection format-check.str
rtgfc-generate-type-rule Cons application format-check.str
rtgfc-generate-type-rule Conc application format-check.str
rtgfc-generate-type-rule Nil application format-check.str
rtgfc-generate-type-rule Some application format-check.str
rtgfc-generate-type-rule None application format-check.str
rtgfc-generate-type-rule Tuple application format-check.str
rtgfc-generate-type-rule User-defined terminal application format-check.str
rtgfc-generate-type-rule-deprecated-int Deprecated format-check.str
rtgfc-generate-type-rule-deprecated-string Deprecated format-check.str
rtgfc-generate-type-rules Generate format checking dynamic rules for an RTG format-check.str
rtgfc-get-types(ATerm tbl, ATerm set) n/a format-check.str
rtgfc-get-types(ATerm tbl, ATerm set) n/a format-check.str
rtgfc-get-types(ATerm tbl, ATerm set) n/a format-check.str
rtgfc-has-type(ATerm nt, ATerm tbl, ATerm set) Succeeds if t has type nt format-check.str
rtgfc-has-type(ATerm nt, ATerm tbl, ATerm set) n/a format-check.str
rtgfc-has-type(ATerm nt, ATerm tbl, ATerm set) n/a format-check.str
rtgfc-is-typed(ATerm tbl, ATerm set) n/a format-check.str
rtgfc-list-has-type(ATerm as, ATerm tbl, ATerm set) n/a format-check.str
rtgfc-new-type(ATerm nt, ATerm tbl, ATerm set) Fails if t already has type nt format-check.str
rtgfc-nonterm-to-string n/a format-check.str
rtgfc-report-type-failure(Strategy finally, ATerm tbl, ATerm set) n/a format-check.str
rtgfc-report-types(ATerm tbl, ATerm set) n/a format-check.str
rtgfc-retrieve-types(ATerm tbl, ATerm set) n/a format-check.str
rtgfc-set-type(ATerm nt, ATerm tbl, ATerm set) n/a format-check.str
rtgfc-type(ATerm rtg, ATerm tbl, ATerm set) Infers the types of all terms format-check.str
rtgfc-Type(ATerm tbl, ATerm set) n/a format-check.str
rtgfc-type-int(ATerm tbl, ATerm set) n/a format-check.str
rtgfc-type-special(ATerm special, ATerm tbl, ATerm set) n/a format-check.str
rtgfc-type-string(ATerm tbl, ATerm set) n/a format-check.str
rtgfc-types-to-string n/a format-check.str

Rule summary


rtg-to-string n/a format-check.str
rtg-to-string n/a format-check.str



Strategy details


ATerm all-consnil(Strategy s)
File format-check.str
Author unknown
Since unknown
 

all variant that traverses lists as cons/nil.



 
ATerm bottomup-consnil(Strategy s)
File format-check.str
Author unknown
Since unknown
 

bttomup variant that traverses lists as cons/nil.



 
ATerm map-consnil(Strategy s)
File format-check.str
Author unknown
Since unknown
 

No information available.


type List(a) -> List(b)
type s List(a) -> b

 
ATerm one-consnil(Strategy s)
File format-check.str
Author unknown
Since unknown
 

one variant that traverses lists as cons/nil.



 
ATerm rtg-format-check(ATerm rtg)
File format-check.str
Author unknown
Since unknown
 
Parameters
ATerm rtg RTG

Checks that the current term has the format of the given RTG.

Fails if the current term has an incorrect format.Does not report errors.


type a -> a

 
ATerm rtg-format-check(ATerm rtg, ATerm starts)
File format-check.str
Author unknown
Since unknown
 
Parameters
ATerm rtg RTG

Checks that the current term has the format of one of the specified start non-terminals.

Fails if the current term has an incorrect format.Does not report errors.


type a -> a

 
ATerm rtg-format-check(Strategy report-errors, Strategy fail-on-error, ATerm rtg)
File format-check.str
Author unknown
Since unknown
 
Parameters
Strategy report-errors Report errors (true/false)
Strategy fail-on-error Fail if incorrect format (true/false)
ATerm rtg RTG

Checks that the current term has the format of the given RTG.


type a -> a

 
ATerm rtg-format-check(Strategy report-errors, Strategy fail-on-error, ATerm rtg, ATerm starts)
File format-check.str
Author unknown
Since unknown
 
Parameters
Strategy report-errors Report errors (true/false)
Strategy fail-on-error Fail if incorrect format (true/false)
ATerm rtg RTG
ATerm starts List(NonTerm)

Checks that the current term has the format of one of the specified start non-terminals.


type a -> a

 
ATerm rtgfc-format-check(ATerm tbl, ATerm set)
File format-check.str
Author unknown
Since unknown
 

Main format check traversal.

The first alternatives reuses the result of previoustype checking. The size of the traversal is therefore thesize of the maximal shared tree.

The second alternative tries to infer as many typesas possible, but at least one.

If this fails, then the term is not in the right format.


type starts List(NonTerm)

 
ATerm rtgfc-format-check-error(ATerm rtg, ATerm tbl, ATerm set)
File format-check.str
Author unknown
Since unknown
 
Parameters
ATerm rtg RTG or List(NonTerm)

No information available.



 
ATerm rtgfc-format-check-report(ATerm rtg, ATerm tbl, ATerm set)
File format-check.str
Author unknown
Since unknown
 
Parameters
ATerm rtg RTG

No information available.



 
ATerm rtgfc-format-check-report(ATerm starts, ATerm tbl, ATerm set)
File format-check.str
Author unknown
Since unknown
 
Parameters
ATerm starts List(NonTerm)

No information available.



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

Int application



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

String application



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

Injection



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

Cons application



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

Conc application



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

Nil application



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

Some application



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

None application



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

Tuple application



 
ATerm rtgfc-generate-type-rule
File format-check.str
Author unknown
Since unknown
 

User-defined terminal application



 
ATerm rtgfc-generate-type-rule-deprecated-int
File format-check.str
Author unknown
Since unknown
 

Deprecated



 
ATerm rtgfc-generate-type-rule-deprecated-string
File format-check.str
Author unknown
Since unknown
 

Deprecated



 
ATerm rtgfc-generate-type-rules
File format-check.str
Author unknown
Since unknown
 

Generate format checking dynamic rules for an RTG


type RTG -> _

 
ATerm rtgfc-has-type(ATerm nt, ATerm tbl, ATerm set)
File format-check.str
Author unknown
Since unknown
 

Succeeds if t has type nt


type t -> t

 
ATerm rtgfc-list-has-type(ATerm as, ATerm tbl, ATerm set)
File format-check.str
Author unknown
Since unknown
 

No information available.


type List(_) -> _
type as List(NonTerm)

 
ATerm rtgfc-new-type(ATerm nt, ATerm tbl, ATerm set)
File format-check.str
Author unknown
Since unknown
 

Fails if t already has type nt


type t -> t

 
ATerm rtgfc-type(ATerm rtg, ATerm tbl, ATerm set)
File format-check.str
Author unknown
Since unknown
 
Parameters
ATerm rtg RTG

Infers the types of all terms.This strategy does not fail if some of the terms has no type.