User:PythonshellDebugwindow/Cmt

From Esolang
Jump to navigation Jump to search

HTMLScript is an esolang by User:PythonshellDebugwindow based on HTML elements.

Syntax

Programs in HTMLScript are made up of a series of tags, which can be nested arbitrarily nested. Tags generally take the form of <tag>content</tag>, where tag is the name of the tag and content is the code inside the tag; if the content inside the tag doesn't matter, you can instead use a self-closing tag: <tag />, which is the same as <tag></tag>. Tags can also contain any number of attributes, which take the form of <tag attr="value">content</tag>, where attr is the attribute name and value is the attribute value (attributes can be used in self-closing tags as well). Alternatively, attributes can be written like name=`value`, in which case value will be evaluated as HTMLScript code. Normal content, such as Hello World!, can be written normally, unless you have to write a left or right angle bracket, in which case you can use <l /> and <r /> respectively. Comments are enclosed in the <c> tag.

Built-in tags

Tag Attributes Side effects Evaluates to
output None Outputs its contents (after evaluating any tags it contains) Its contents
input None None User input
if condition Runs its contents iff condition is not empty or 0 Nothing
element name Defines a custom tag; see #Custom tags Nothing
content None None The content of a custom tag

Custom tags

Examples

Hello World!

<output>Hello World!</output>

Cat program until EOF

<element name="cat">
  <output><content /></output>
  <if condition=`<content />`>
    <cat><input /></cat>
  </if>
</element>
<cat><input /></cat>

Truth-machine

<element name="one">
  <output>1</output>
  <one />
</element>
<if condition="<input />">
  <one />
</if>
<output>0</output>