Skip to content
This repository has been archived by the owner on Dec 16, 2024. It is now read-only.

Add P2717, Tool Introspection. #2

Merged
merged 8 commits into from
Nov 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ some quick instructions for some common systems:
a|
[source,shell]
----
> sudo pacman -S texlive-latexextra
> sudo pacman -S texlive-latexextra texlive-binextra texlive-plaingeneric texlive-fontsrecommended
----

| *Ubuntu, Debian, etc*
Expand Down
75 changes: 75 additions & 0 deletions release/schema/std_info-1.0.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id":
"https://raw.githubusercontent.com/cplusplus/ecosystem-is/release/schema/std_info-1.0.0.json",
"title": "Tool Introspection Version 1.0.0 JSON Schema",
"$defs": {
"VersionMin": {
"type": "string",
"pattern": "^[0-9]+([.][0-9]+){0,2}$"
},
"VersionFull": {
"type": "string",
"pattern": "^[[(][0-9]+([.][0-9]+){0,2}[)\\]]$"
},
"VersionRange": {
"type": "string",
"pattern": "^[[(][0-9]+([.][0-9]+){0,2},[0-9]+([.][0-9]+){0,2}[)\\]]$"
},
"Version": {
"oneOf": [
{
"$ref": "#/$defs/VersionMin"
},
{
"$ref": "#/$defs/VersionFull"
},
{
"$ref": "#/$defs/VersionRange"
}
]
},
"Versions": {
"type": "array",
"items": {
"$ref": "#/$defs/Version"
}
},
"VersionSpec": {
"oneOf": [
{
"$ref": "#/$defs/Version"
},
{
"$ref": "#/$defs/Versions"
}
]
}
},
"anyOf": [
{
"type": "object",
"properties": {
"$schema": {
"description":
"JSON Schema URI for the version of the tool introspection format.",
"type": "string",
"format": "uri"
},
"std.info": {
"description": "The Tool Introspection format version.",
"$ref": "#/$defs/VersionSpec"
}
},
"patternProperties": {
"^[a-z_]+([.][a-z_]+)+$": {
"$ref": "#/$defs/VersionSpec"
}
},
"additionalProperties": false
}
],
"required": [
"std.info"
]
}
14 changes: 14 additions & 0 deletions src/eco_conformance.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
%!TEX root = ecosystem.tex

\rSec0[intro.cnf]{Conformance}

\pnum
A conforming implementation shall meet the following criteria for conformance
to this standard:

\begin{itemize}

\item An application shall support the minimum level functionality of
introspection \iref{intspct.min}.

\end{itemize}
62 changes: 55 additions & 7 deletions src/eco_defs.tex
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,63 @@
Terms that are used only in a small portion of this document are defined where
they are used and italicized where they are defined.

% The definitions follow this format..
\indexdefn{application}%
\definition{application}{defns.application}
a computer program that performs some desired function.

\indexdefn{__term__}%
\definition{__term__}{defns.__term__}
\defncontext{__context1__ __context2__}
the definition of the term
\begin{defnote}
From POSIX.
\end{defnote}

\indexdefn{capability}%
\definition{capability}{defns.capability}
an aspect of an overall specification that defines a subset of the entire
specification.

\indexdefn{directory}%
\definition{directory}{defns.directory}
a file that contains directory entries.

\begin{defnote}
From POSIX.
\end{defnote}

\indexdefn{directory entry}%
\definition{directory entry}{defns.direntry}
an object that associates a filename with a file.

\begin{defnote}
From POSIX.
\end{defnote}

\indexdefn{file}%
\definition{file}{defns.file}
an object that can be written to, or read from, or both.

\begin{defnote}
An interesting note.
From POSIX.
\end{defnote}

% The definitions follow.
\indexdefn{filename}%
\definition{filename}{defns.filename}
a sequence of bytes used to name a file.

\begin{defnote}
From POSIX.
\end{defnote}

\indexdefn{parent directory}%
\definition{parent directory}{defns.parentdir}
a directory containing a directory entry for the file under discussion.

\begin{defnote}
From POSIX.
\end{defnote}

\indexdefn{pathname}%
\definition{pathname}{defns.pathname}
a string that is used to identify a file.

\begin{defnote}
From POSIX.
\end{defnote}
Loading