diff options
author | Vladimir Azarov <avm@intermediate-node.net> | 2025-08-06 05:14:27 +0200 |
---|---|---|
committer | Vladimir Azarov <avm@intermediate-node.net> | 2025-08-06 05:14:27 +0200 |
commit | 3a3220a049b9fef67ca0f85542654ab0a9de0914 (patch) | |
tree | 73a82d2579f74c02fb9a227e66f4ef219d44182f /parser.sig | |
parent | a4c60603f61dd1a9f0ce420be9067965586dd694 (diff) |
Most of conversion to il
Diffstat (limited to 'parser.sig')
-rw-r--r-- | parser.sig | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -90,7 +90,7 @@ signature PARSER = sig | Nfloat of Real32.real | Ndouble of Real64.real - and id = Lid of int | Gid of int + and id = Lid of int | Gid of int * bool and expr = Eid of int * id option | @@ -113,8 +113,7 @@ signature PARSER = sig val iniLayouts: (bool * word * { offset: word, t: ctype, value: word } list) D.t - datatype cini = CiniExpr of exprAug | CiniConst of word | - CiniLayout of int + datatype cini = CiniExpr of exprAug | CiniLayout of int type objDef = int * P.tkPos * ctype * cini * linkage @@ -152,6 +151,20 @@ signature PARSER = sig val alignOfType: ctype -> word val sizeOfType: ctype -> word + val isSigned: ctype -> bool + val isPointer: ctype -> bool + val pointsTo: ctype -> ctype + + val typeRank: ctype -> int + val resolveType: ctype -> ctype + val commonType: ctype -> ctype -> ctype + + val getLayoutSize: int -> word + + val getT: exprAug -> ctype + + val getFieldInfo: ctype -> nid -> (word * ctype) option + val finalize: ctx -> ctx type progInfo = { |