diff .cms/lib/codemirror/mode/eiffel/index.html @ 0:78edf6b517a0 draft

24.10
author Coffee CMS <info@coffee-cms.ru>
date Fri, 11 Oct 2024 22:40:23 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.cms/lib/codemirror/mode/eiffel/index.html	Fri Oct 11 22:40:23 2024 +0000
@@ -0,0 +1,429 @@
+<!doctype html>
+
+<title>CodeMirror: Eiffel mode</title>
+<meta charset="utf-8"/>
+<link rel=stylesheet href="../../doc/docs.css">
+
+<link rel="stylesheet" href="../../lib/codemirror.css">
+<link rel="stylesheet" href="../../theme/neat.css">
+<script src="../../lib/codemirror.js"></script>
+<script src="eiffel.js"></script>
+<style>
+      .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
+      .cm-s-default span.cm-arrow { color: red; }
+    </style>
+<div id=nav>
+  <a href="https://codemirror.net/5"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a>
+
+  <ul>
+    <li><a href="../../index.html">Home</a>
+    <li><a href="../../doc/manual.html">Manual</a>
+    <li><a href="https://github.com/codemirror/codemirror5">Code</a>
+  </ul>
+  <ul>
+    <li><a href="../index.html">Language modes</a>
+    <li><a class=active href="#">Eiffel</a>
+  </ul>
+</div>
+
+<article>
+<h2>Eiffel mode</h2>
+<form><textarea id="code" name="code">
+note
+    description: "[
+        Project-wide universal properties.
+        This class is an ancestor to all developer-written classes.
+        ANY may be customized for individual projects or teams.
+        ]"
+
+    library: "Free implementation of ELKS library"
+    status: "See notice at end of class."
+    legal: "See notice at end of class."
+    date: "$Date: 2013-01-25 11:49:00 -0800 (Fri, 25 Jan 2013) $"
+    revision: "$Revision: 712 $"
+
+class
+    ANY
+
+feature -- Customization
+
+feature -- Access
+
+    generator: STRING
+            -- Name of current object's generating class
+            -- (base class of the type of which it is a direct instance)
+        external
+            "built_in"
+        ensure
+            generator_not_void: Result /= Void
+            generator_not_empty: not Result.is_empty
+        end
+
+    generating_type: TYPE [detachable like Current]
+            -- Type of current object
+            -- (type of which it is a direct instance)
+        do
+            Result := {detachable like Current}
+        ensure
+            generating_type_not_void: Result /= Void
+        end
+
+feature -- Status report
+
+    conforms_to (other: ANY): BOOLEAN
+            -- Does type of current object conform to type
+            -- of `other' (as per Eiffel: The Language, chapter 13)?
+        require
+            other_not_void: other /= Void
+        external
+            "built_in"
+        end
+
+    same_type (other: ANY): BOOLEAN
+            -- Is type of current object identical to type of `other'?
+        require
+            other_not_void: other /= Void
+        external
+            "built_in"
+        ensure
+            definition: Result = (conforms_to (other) and
+                                        other.conforms_to (Current))
+        end
+
+feature -- Comparison
+
+    is_equal (other: like Current): BOOLEAN
+            -- Is `other' attached to an object considered
+            -- equal to current object?
+        require
+            other_not_void: other /= Void
+        external
+            "built_in"
+        ensure
+            symmetric: Result implies other ~ Current
+            consistent: standard_is_equal (other) implies Result
+        end
+
+    frozen standard_is_equal (other: like Current): BOOLEAN
+            -- Is `other' attached to an object of the same type
+            -- as current object, and field-by-field identical to it?
+        require
+            other_not_void: other /= Void
+        external
+            "built_in"
+        ensure
+            same_type: Result implies same_type (other)
+            symmetric: Result implies other.standard_is_equal (Current)
+        end
+
+    frozen equal (a: detachable ANY; b: like a): BOOLEAN
+            -- Are `a' and `b' either both void or attached
+            -- to objects considered equal?
+        do
+            if a = Void then
+                Result := b = Void
+            else
+                Result := b /= Void and then
+                            a.is_equal (b)
+            end
+        ensure
+            definition: Result = (a = Void and b = Void) or else
+                        ((a /= Void and b /= Void) and then
+                        a.is_equal (b))
+        end
+
+    frozen standard_equal (a: detachable ANY; b: like a): BOOLEAN
+            -- Are `a' and `b' either both void or attached to
+            -- field-by-field identical objects of the same type?
+            -- Always uses default object comparison criterion.
+        do
+            if a = Void then
+                Result := b = Void
+            else
+                Result := b /= Void and then
+                            a.standard_is_equal (b)
+            end
+        ensure
+            definition: Result = (a = Void and b = Void) or else
+                        ((a /= Void and b /= Void) and then
+                        a.standard_is_equal (b))
+        end
+
+    frozen is_deep_equal (other: like Current): BOOLEAN
+            -- Are `Current' and `other' attached to isomorphic object structures?
+        require
+            other_not_void: other /= Void
+        external
+            "built_in"
+        ensure
+            shallow_implies_deep: standard_is_equal (other) implies Result
+            same_type: Result implies same_type (other)
+            symmetric: Result implies other.is_deep_equal (Current)
+        end
+
+    frozen deep_equal (a: detachable ANY; b: like a): BOOLEAN
+            -- Are `a' and `b' either both void
+            -- or attached to isomorphic object structures?
+        do
+            if a = Void then
+                Result := b = Void
+            else
+                Result := b /= Void and then a.is_deep_equal (b)
+            end
+        ensure
+            shallow_implies_deep: standard_equal (a, b) implies Result
+            both_or_none_void: (a = Void) implies (Result = (b = Void))
+            same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b))
+            symmetric: Result implies deep_equal (b, a)
+        end
+
+feature -- Duplication
+
+    frozen twin: like Current
+            -- New object equal to `Current'
+            -- `twin' calls `copy'; to change copying/twinning semantics, redefine `copy'.
+        external
+            "built_in"
+        ensure
+            twin_not_void: Result /= Void
+            is_equal: Result ~ Current
+        end
+
+    copy (other: like Current)
+            -- Update current object using fields of object attached
+            -- to `other', so as to yield equal objects.
+        require
+            other_not_void: other /= Void
+            type_identity: same_type (other)
+        external
+            "built_in"
+        ensure
+            is_equal: Current ~ other
+        end
+
+    frozen standard_copy (other: like Current)
+            -- Copy every field of `other' onto corresponding field
+            -- of current object.
+        require
+            other_not_void: other /= Void
+            type_identity: same_type (other)
+        external
+            "built_in"
+        ensure
+            is_standard_equal: standard_is_equal (other)
+        end
+
+    frozen clone (other: detachable ANY): like other
+            -- Void if `other' is void; otherwise new object
+            -- equal to `other'
+            --
+            -- For non-void `other', `clone' calls `copy';
+            -- to change copying/cloning semantics, redefine `copy'.
+        obsolete
+            "Use `twin' instead."
+        do
+            if other /= Void then
+                Result := other.twin
+            end
+        ensure
+            equal: Result ~ other
+        end
+
+    frozen standard_clone (other: detachable ANY): like other
+            -- Void if `other' is void; otherwise new object
+            -- field-by-field identical to `other'.
+            -- Always uses default copying semantics.
+        obsolete
+            "Use `standard_twin' instead."
+        do
+            if other /= Void then
+                Result := other.standard_twin
+            end
+        ensure
+            equal: standard_equal (Result, other)
+        end
+
+    frozen standard_twin: like Current
+            -- New object field-by-field identical to `other'.
+            -- Always uses default copying semantics.
+        external
+            "built_in"
+        ensure
+            standard_twin_not_void: Result /= Void
+            equal: standard_equal (Result, Current)
+        end
+
+    frozen deep_twin: like Current
+            -- New object structure recursively duplicated from Current.
+        external
+            "built_in"
+        ensure
+            deep_twin_not_void: Result /= Void
+            deep_equal: deep_equal (Current, Result)
+        end
+
+    frozen deep_clone (other: detachable ANY): like other
+            -- Void if `other' is void: otherwise, new object structure
+            -- recursively duplicated from the one attached to `other'
+        obsolete
+            "Use `deep_twin' instead."
+        do
+            if other /= Void then
+                Result := other.deep_twin
+            end
+        ensure
+            deep_equal: deep_equal (other, Result)
+        end
+
+    frozen deep_copy (other: like Current)
+            -- Effect equivalent to that of:
+            --      `copy' (`other' . `deep_twin')
+        require
+            other_not_void: other /= Void
+        do
+            copy (other.deep_twin)
+        ensure
+            deep_equal: deep_equal (Current, other)
+        end
+
+feature {NONE} -- Retrieval
+
+    frozen internal_correct_mismatch
+            -- Called from runtime to perform a proper dynamic dispatch on `correct_mismatch'
+            -- from MISMATCH_CORRECTOR.
+        local
+            l_msg: STRING
+            l_exc: EXCEPTIONS
+        do
+            if attached {MISMATCH_CORRECTOR} Current as l_corrector then
+                l_corrector.correct_mismatch
+            else
+                create l_msg.make_from_string ("Mismatch: ")
+                create l_exc
+                l_msg.append (generating_type.name)
+                l_exc.raise_retrieval_exception (l_msg)
+            end
+        end
+
+feature -- Output
+
+    io: STD_FILES
+            -- Handle to standard file setup
+        once
+            create Result
+            Result.set_output_default
+        ensure
+            io_not_void: Result /= Void
+        end
+
+    out: STRING
+            -- New string containing terse printable representation
+            -- of current object
+        do
+            Result := tagged_out
+        ensure
+            out_not_void: Result /= Void
+        end
+
+    frozen tagged_out: STRING
+            -- New string containing terse printable representation
+            -- of current object
+        external
+            "built_in"
+        ensure
+            tagged_out_not_void: Result /= Void
+        end
+
+    print (o: detachable ANY)
+            -- Write terse external representation of `o'
+            -- on standard output.
+        do
+            if o /= Void then
+                io.put_string (o.out)
+            end
+        end
+
+feature -- Platform
+
+    Operating_environment: OPERATING_ENVIRONMENT
+            -- Objects available from the operating system
+        once
+            create Result
+        ensure
+            operating_environment_not_void: Result /= Void
+        end
+
+feature {NONE} -- Initialization
+
+    default_create
+            -- Process instances of classes with no creation clause.
+            -- (Default: do nothing.)
+        do
+        end
+
+feature -- Basic operations
+
+    default_rescue
+            -- Process exception for routines with no Rescue clause.
+            -- (Default: do nothing.)
+        do
+        end
+
+    frozen do_nothing
+            -- Execute a null action.
+        do
+        end
+
+    frozen default: detachable like Current
+            -- Default value of object's type
+        do
+        end
+
+    frozen default_pointer: POINTER
+            -- Default value of type `POINTER'
+            -- (Avoid the need to write `p'.`default' for
+            -- some `p' of type `POINTER'.)
+        do
+        ensure
+            -- Result = Result.default
+        end
+
+    frozen as_attached: attached like Current
+            -- Attached version of Current
+            -- (Can be used during transitional period to convert
+            -- non-void-safe classes to void-safe ones.)
+        do
+            Result := Current
+        end
+
+invariant
+    reflexive_equality: standard_is_equal (Current)
+    reflexive_conformance: conforms_to (Current)
+
+note
+    copyright: "Copyright (c) 1984-2012, Eiffel Software and others"
+    license:   "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
+    source: "[
+            Eiffel Software
+            5949 Hollister Ave., Goleta, CA 93117 USA
+            Telephone 805-685-1006, Fax 805-685-6869
+            Website http://www.eiffel.com
+            Customer support http://support.eiffel.com
+        ]"
+
+end
+
+</textarea></form>
+    <script>
+      var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
+        mode: "text/x-eiffel",
+        indentUnit: 4,
+        lineNumbers: true,
+        theme: "neat"
+      });
+    </script>
+
+    <p><strong>MIME types defined:</strong> <code>text/x-eiffel</code>.</p>
+ 
+ <p> Created by <a href="https://github.com/ynh">YNH</a>.</p>
+  </article>