Forth:用Ada编写的Forth口译员

时间:2024-06-08 19:07:08
【文件属性】:

文件名称:Forth:用Ada编写的Forth口译员

文件大小:271KB

文件格式:ZIP

更新时间:2024-06-08 19:07:08

Ada

在阿达的第四 这是我在Ada中编写Forth解释器的尝试。 我没有使用直接方法,而是选择给系统提供一些类型(最著名的是整数和字符串)。 解析/解释性奇数 Forth.Tokenize输入字符串解析为以空格分隔的[当前不处理选项卡]字。 然后处理该单词列表( Forth.Handle_Strings ),以使。“和s”触发例程以合并列表中的尾随字符串[并添加缺少的空格],该例程以列表中以字符串结尾的字符串终止双引号,并且不是两个连续的双引号。 将两个连续的双引号引起来的单词转换为单个双引号。 到目前为止,所有内容都没有使用返回堆栈。 去做: 继续添加核心词。 为基本类型(特别是BLOB)实现明智的运算符。 利润?


【文件预览】:
Forth-master
----ttester.fs(12KB)
----.gitattributes(483B)
----old()
--------forth-internal_types.ads(365B)
--------forth-types.adb(1KB)
--------forth-types-create_blob.ads(162B)
--------forth-dictionary.adb(1KB)
--------forth-interpreter-operations.ads(124B)
--------forth-stack.ads(2KB)
--------forth-types.ads(3KB)
--------forth-stack.adb(1KB)
--------forth-dictionary-word_list.ads(262B)
--------forth-dictionary.ads(846B)
--------forth-string_list.ads(171B)
--------forth-pools-release.adb(183B)
--------forth-operand_stack.ads(128B)
--------forth-types-create_blob.adb(1KB)
--------forth-interpreter-defaults.adb(254B)
--------forth-interpreter.ads(1KB)
--------forth-interpreter.adb(1KB)
--------forth-pools.ads(3KB)
--------forth-pools.adb(4KB)
----Readme.md(1006B)
----src()
--------forth-vm-functions.adb(7KB)
--------forth-types.adb(11KB)
--------forth-types-create_blob.ads(214B)
--------forth-dictionary.adb(1KB)
--------forth-vm-defaults.adb(106B)
--------forth-return_stack.ads(187B)
--------forth-handle_strings.adb(3KB)
--------forth-stack.ads(4KB)
--------forth.adb(36B)
--------forth-types.ads(7KB)
--------forth-stack.adb(3KB)
--------forth-dictionary-word_list.ads(408B)
--------forth-string_vector.ads(230B)
--------forth-dictionary.ads(872B)
--------forth.ads(740B)
--------forth-vm-default_words.adb(1KB)
--------forth-types-create_blob.adb(1KB)
--------forth-pools-blob_pool.ads(814B)
--------forth-vm-default_words.ads(195B)
--------forth-vm-functions.ads(4KB)
--------forth-interpreter.ads(29B)
--------forth-tokenize.ads(199B)
--------forth-tokenize.adb(623B)
--------forth-handle_strings.ads(177B)
--------forth-interpreter.adb(3KB)
--------forth-vm.ads(2KB)
--------forth-pools.ads(3KB)
--------forth-pools.adb(4KB)
--------forth-vm.adb(1KB)
--------forth-data_stack.ads(174B)
----obj()
--------gnatinspect.db-shm(32KB)
--------b~test.adb(13KB)
--------forth-loc.xml(18KB)
--------.gitignore(14B)
--------gnatinspect.db(419KB)
--------b~test.ads(25KB)
--------gnatinspect.db-wal(167KB)
----.gitignore(23B)
----forth.gpr(517B)
----test.adb(4KB)

网友评论