Top Prev Next Up Down

Y2018.Text.Jets.PatternPack


001| with Y2018.Text.Jets.RangeVectorPack; --use Y2018.Text.Jets.RangeVectorPack;
002| with Y2018.Text.Jets.JetsTool; use Y2018.Text.Jets.JetsTool;
003| with Y2018.Text.Jets.MatchPack; --use Y2018.Text.Jets.MatchPack;
004| with Y2018.Text.Core; use Y2018.Text.Core;
005| with Y2018.Text.Core.STR;
006| with Y2018.Text.Core.CVarPack; use Y2018.Text.Core.CVarPack;
007| with Y2018.Text.Jets.Compiler; use Y2018.Text.Jets.Compiler;
008| with Ada.Finalization; use Ada.Finalization;
009| with Ada.Containers.Ordered_Maps;
010| package Y2018.Text.Jets.PatternPack is
011| __type Pattern is tagged private; --limited private;
012| __type Pattern_AC is access Pattern;
013| __function queryState(ptc: Pattern_AC) return String;
014| __function queryTopID(ptc: Pattern_AC) return String;
015| __procedure compileM(ptc:in out Pattern_AC;s : CFix;urv:RangeVectorPack.Map_TY.Map:=RangeVectorPack.Map_TY.Empty_Map);
016| __function compileM(s : CFix;urv:RangeVectorPack.Map_TY.Map:=RangeVectorPack.Map_TY.Empty_Map) return Pattern_AC;
017| __procedure compileU(ptc:in out Pattern_AC;s : CFix;urv:RangeVectorPack.Map_TY.Map:=RangeVectorPack.Map_TY.Empty_Map);
018| __function compileU(s : CFix;urv:RangeVectorPack.Map_TY.Map:=RangeVectorPack.Map_TY.Empty_Map) return Pattern_AC;
019| __function matches(pattern:Pattern_AC;startPos:Integer;nextPos:out Integer;c4match : CFix;match: out MatchPack.Match_TY;squ:Integer:=0) return Boolean;
020| __function nodeCList(pattern:Pattern_AC;cntMax:Integer:=10;extend:Boolean:=FALSE) return CList.map;
021| __procedure PatternPack_Finalize(p : in out Pattern);
022| __private type Pattern is tagged -- nonlimited
023| _____record -- nonlimited tagged type cannot have limited components
024| ________state: PST_TY;
025| ________top: RE_Elem_AC;
026| ________pool:JetsTool.Pool_TY; -- RE_Elem_AC node three. Used as storage for the node three.
027| ________uc:boolean;
028| _____end record;
029| end Y2018.Text.Jets.PatternPack;