mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 07:09:23 +02:00
[PATCH 123/188] parsing memory entries
From ab8b51f0bda3e4fc9ca192ad10b635d94ce2ca28 Mon Sep 17 00:00:00 2001 From: Dmitry Boyarintsev <skalogryz.lists@gmail.com> Date: Mon, 23 Mar 2020 16:09:27 -0400 git-svn-id: branches/wasm@46119 -
This commit is contained in:
parent
7facec1371
commit
5f4ca22e1a
@ -347,6 +347,19 @@ begin
|
|||||||
ConsumeToken(sc, weCloseBrace);
|
ConsumeToken(sc, weCloseBrace);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure ParseMemory(sc: TWatScanner; dst: TWasmMemory);
|
||||||
|
begin
|
||||||
|
if sc.token=weMemory then sc.Next;
|
||||||
|
|
||||||
|
if sc.token in [weIdent, weNumber] then
|
||||||
|
ParseId(sc, dst.id);
|
||||||
|
|
||||||
|
// todo: parsing of ImportInfo
|
||||||
|
// todo: parsing of ExportInfo
|
||||||
|
|
||||||
|
ConsumeToken(sc, weCloseBrace);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure ParseExport(sc: TWatScanner; dst: TWasmExport);
|
procedure ParseExport(sc: TWatScanner; dst: TWasmExport);
|
||||||
begin
|
begin
|
||||||
if sc.token=weExport then
|
if sc.token=weExport then
|
||||||
@ -433,6 +446,7 @@ var
|
|||||||
symlist : TAsmSymList;
|
symlist : TAsmSymList;
|
||||||
f : TWasmFunc;
|
f : TWasmFunc;
|
||||||
imp : TWasmImport;
|
imp : TWasmImport;
|
||||||
|
m : TWasmMemory;
|
||||||
begin
|
begin
|
||||||
if not ConsumeOpenToken(sc, weModule) then
|
if not ConsumeOpenToken(sc, weModule) then
|
||||||
ErrorExpectButFound(sc, 'module');
|
ErrorExpectButFound(sc, 'module');
|
||||||
@ -457,8 +471,16 @@ begin
|
|||||||
weFunc: begin
|
weFunc: begin
|
||||||
f:=dst.AddFunc;
|
f:=dst.AddFunc;
|
||||||
symlist.ToLinkInfo(f.LinkInfo);
|
symlist.ToLinkInfo(f.LinkInfo);
|
||||||
ParseFunc(sc, f);
|
|
||||||
symlist.Clear;
|
symlist.Clear;
|
||||||
|
ParseFunc(sc, f);
|
||||||
|
end;
|
||||||
|
weMemory:
|
||||||
|
begin
|
||||||
|
writeln('trying to parse memory');
|
||||||
|
m:=dst.AddMemory;
|
||||||
|
symlist.ToLinkInfo(f.LinkInfo);
|
||||||
|
symlist.Clear;
|
||||||
|
ParseMemory(sc, m);
|
||||||
end;
|
end;
|
||||||
weExport:
|
weExport:
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user