⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 minipascal.pl

📁 一个编译器的源程序
💻 PL
字号:
:- pce_autoload(finder, library(find_file)).
:- pce_global(@finder, new(finder)).
:- consult([scanner, parser, interpre, compiler]).

minipascal:-
  new(F, frame('Mini-Pascal')),
  send(F, append, new(D, dialog('Quelldatei'))),

  send(D, append, new(V, view)),

  send(D, append, button('Laden', message(@prolog, lade, V))),
  send(D, append, button('Ausf黨ren', message(@prolog, ausfuehren, V))),
  send(D, append, button('Beenden', message(D, destroy))),
  send(F, open).

lade(V):-
  get(@finder, file, @on, '.pas', PascalDatei),
  send(V, print, 'Quelltext: '),
  send(V, load, PascalDatei),
  retractall(datei(_)),
  assert(datei(PascalDatei)).


ausfuehren(V):-  
  datei(PascalDatei),
  send(V, append, ''),
  send(V, newline),
  parse_programm(PascalDatei, Parsebaum),
  zeichne_term(Parsebaum),
  interpret_programm(PascalDatei),
  compile_programm(PascalDatei).
  
schreib_liste(V, [Element]):-
  send(V, print, Element).
schreib_liste(V, [Kopf|Rest]):-
  send(V, print, Kopf),
  send(V, print, ', '),
  schreib_liste(V, Rest).

% send(@prolog, write, hello).


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -