|
@@ -79,26 +79,32 @@ unit raatt;
|
|
|
|
|
|
type
|
|
type
|
|
tattreader = class(tasmreader)
|
|
tattreader = class(tasmreader)
|
|
|
|
+ protected
|
|
actasmtoken : tasmtoken;
|
|
actasmtoken : tasmtoken;
|
|
prevasmtoken : tasmtoken;
|
|
prevasmtoken : tasmtoken;
|
|
- procedure SetupTables;
|
|
|
|
- procedure BuildConstant(constsize: byte);
|
|
|
|
|
|
+ procedure BuildRecordOffsetSize(const expr: string;var offset:aint;var size:aint; var mangledname: string; needvmtofs: boolean);
|
|
|
|
+ function BuildConstExpression(allowref,betweenbracket:boolean): aint;
|
|
|
|
+ procedure BuildConstSymbolExpression(allowref,betweenbracket,needofs:boolean;var value:aint;var asmsym:string;var asmsymtyp:TAsmsymtype);
|
|
procedure BuildConstantOperand(oper : toperand);
|
|
procedure BuildConstantOperand(oper : toperand);
|
|
|
|
+ procedure BuildConstant(constsize: byte);
|
|
procedure BuildRealConstant(typ : tfloattype);
|
|
procedure BuildRealConstant(typ : tfloattype);
|
|
procedure BuildStringConstant(asciiz: boolean);
|
|
procedure BuildStringConstant(asciiz: boolean);
|
|
- procedure BuildRecordOffsetSize(const expr: string;var offset:aint;var size:aint; var mangledname: string; needvmtofs: boolean);
|
|
|
|
- procedure BuildConstSymbolExpression(allowref,betweenbracket,needofs:boolean;var value:aint;var asmsym:string;var asmsymtyp:TAsmsymtype);
|
|
|
|
- function BuildConstExpression(allowref,betweenbracket:boolean): aint;
|
|
|
|
|
|
+ private
|
|
|
|
+ procedure SetupTables;
|
|
|
|
+ public
|
|
function Assemble: tlinkedlist;override;
|
|
function Assemble: tlinkedlist;override;
|
|
|
|
+ protected
|
|
procedure handleopcode;virtual;abstract;
|
|
procedure handleopcode;virtual;abstract;
|
|
function is_asmopcode(const s: string) : boolean;virtual;abstract;
|
|
function is_asmopcode(const s: string) : boolean;virtual;abstract;
|
|
- Function is_asmdirective(const s: string):boolean;
|
|
|
|
function is_register(const s:string):boolean;virtual;
|
|
function is_register(const s:string):boolean;virtual;
|
|
- function is_locallabel(const s: string):boolean;
|
|
|
|
|
|
+ procedure handlepercent;virtual;
|
|
|
|
+ private
|
|
|
|
+ Function is_asmdirective(const s: string):boolean;
|
|
procedure GetToken;
|
|
procedure GetToken;
|
|
- function consume(t : tasmtoken):boolean;
|
|
|
|
|
|
+ protected
|
|
|
|
+ function is_locallabel(const s: string):boolean;
|
|
procedure RecoverConsume(allowcomma:boolean);
|
|
procedure RecoverConsume(allowcomma:boolean);
|
|
- procedure handlepercent;virtual;
|
|
|
|
|
|
+ function consume(t : tasmtoken):boolean;
|
|
end;
|
|
end;
|
|
tcattreader = class of tattreader;
|
|
tcattreader = class of tattreader;
|
|
|
|
|