[Kernfach-devel]Re: Syntax of kernfach
Status: Planning
Brought to you by:
dilmah
From: Denis L. <dl...@ma...> - 2005-01-20 13:50:05
|
ok, I'll write BNF. Also we need to settle with exec entities. Maybe some entities are redundant and should be eliminated. For example, exec entity MR (metaroll) -- it can be expressed by other entities. I thougt about adding exec entity for matching patterns in lists, but it also seems to be redundant. Some entities still need to be added. In addition to annotation by predicate (every entity may be annotated by some predicate that should hold true for that entity), maybe we should add annotation of factorization. Every entity may be annotated by some equivalence relation. For example priorities -- they are just lists of integers but their actual values does not matter, only ordinal relation between them. Some comments about ML (mangle) and DM (demangle) -- why are they needed. As written in spec all entities in kernfach are either core values, or symbols, or lists. Core values are just values (integer, float, pointers and so on). Lists are just lists of entities. Symbols are symbols, they designate something, for example variables. But we need some way to construct complex symbols -- something like names of templates in C++. For that purpose there are mangle and demangle exec entities. For example we can construct complex symbol (ML (func 3)) -- it is analoguous to func< 3 > in C++. |