Snobol4 语言 实战 HTML 视频路径转 JSON 实战

Snobol4amuwap 发布于 4 天前 2 次阅读


Snobol4【1】 语言实战【2】:HTML【3】 视频路径【4】转 JSON【6】 实战

Snobol4 是一种古老的编程语言,最初在1962年由David J. Farber、Ralph E. Griswold 和 Ivan P. Polonsky 在贝尔实验室开发。它以其独特的文本处理【7】能力而闻名,特别适合于文本搜索和替换等任务。本文将探讨如何使用 Snobol4 语言来实现一个实用的功能:将 HTML 视频路径转换为 JSON 格式。

Snobol4 简介

Snobol4 是 Snobol 系列语言的第四个版本,它继承了 Snobol3 的语法和功能,并增加了一些新的特性。Snobol4 的主要特点包括:

- 强大的文本处理能力
- 简洁的语法
- 高效的运行速度
- 支持多种数据类型【8】,包括字符串、数字和布尔值

实战目标

我们的目标是编写一个 Snobol4 程序,该程序能够读取一个包含视频路径的 HTML 文档,并提取出视频路径,然后将这些路径转换为 JSON 格式。

实战步骤

步骤 1:环境搭建【9】

我们需要一个 Snobol4 编译器【10】。由于 Snobol4 已经是一个较老的编程语言,可能需要一些额外的努力来找到合适的编译器。在 Windows 系统上,可以使用 GnuWin32【11】 提供的 Snobol4 编译器。

步骤 2:编写 Snobol4 程序

以下是一个简单的 Snobol4 程序,用于将 HTML 视频路径转换为 JSON 格式:

```snobol
:INFILE
:OUTFILE
:VIDEOPATH
:JSONSTART
:JSONEND
:JSONPATH
:PATHSTART
:PATHEND

INFILE 'input.html'
OUTFILE 'output.json'

PUT "[
"
INFILE
:VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT " ]"
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE
PUT :JSONSTART
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE
PUT :JSONSTART
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART
PUT :OUTFILE
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :JSONEND
PUT :OUTFILE

PUT :VIDEOPATH { "videoPath": " }
PUT :VIDEOPATH
PUT :OUTFILE
PUT :PATHEND
PUT :OUTFILE
PUT :PATHSTART