about summary refs log tree commit diff
path: root/docs/doctool/Info/Languages.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doctool/Info/Languages.txt')
-rw-r--r--docs/doctool/Info/Languages.txt105
1 files changed, 105 insertions, 0 deletions
diff --git a/docs/doctool/Info/Languages.txt b/docs/doctool/Info/Languages.txt
new file mode 100644
index 00000000..98885955
--- /dev/null
+++ b/docs/doctool/Info/Languages.txt
@@ -0,0 +1,105 @@
+
+    Title: Language Notes
+_______________________________________________________________________________
+
+    This is more for my personal reference than anything else.
+
+
+    ___________________________________________________________________________
+
+    Topic: Prototype Parameter Styles
+    ___________________________________________________________________________
+
+    Parameters via Commas, Typed via Spaces:
+
+        > FunctionName ( type indentifier, type identifier = value, modifier type identifier )
+        > FunctionName ( indentifier, identifier = value )
+
+        The general idea is that parameters are separated by commas.  Identifiers cannot contain spaces.  Types and modifiers,
+        if available, are separated from the identifiers with spaces.  There may be an equals sign to set the default value.
+
+        So parsing means splitting by commas, stripping everything past an equals sign for the default value, stripping everything
+        after the last space for the identifier, and the rest is the type.  If there are no internal spaces after the default value is
+        stripped, it's all identifier.
+
+        Note that internal parenthesis, brackets, braces, and angle brackets should be parsed out.  They may be present in default
+        values or types and any commas and equal signs in them should not be included.
+
+        Applies to C++, Java, C#, JavaScript, Python, PHP, Ruby.
+
+        Applies to Perl as well, even though it doesn't have any real parameter declaration structure.  Just adding it with comments
+        is fine.
+
+    Parameters via Semicolons and Commas, Typed via Colons:
+
+        > FunctionName ( identifier: type; identifier, identifier: type; identifier: type := value )
+
+        Parameters via semicolons, types via colons.  However, there can be more than one parameter per type via commas.
+        Default values via colon-equals.
+
+        Applies to Pascal, Ada.
+
+
+    SQL:
+
+        > FunctionName ( identifier type, identifier modifier type, identifier type := value )
+
+        Parameters separated by commas.  Identifiers come before the types and are separated by a space.  Default values are
+        specified with colon-equals.
+
+        > FunctionName @identifier type, @dentifier modifier type, @identifier type = value
+
+        Microsoft's SQL uses equals instead of colon-equals, doesn't need parenthesis, and starts its parameter names with an @
+        symbol.
+
+
+    Visual Basic:
+
+        > FunctionName ( modifiers identifier as type, identifier = value )
+
+        Parameters separated by commas.  Default values via equals.  However, any number of modifiers may appear before the
+        identifier.  Those modifiers are ByVal, ByRef, Optional, and ParamArray.
+
+
+    Tcl:
+
+        > FunctionName { identifier identifier { whatever } } { code }
+
+        Identifiers are specified in the first set of braces and have no commas.  However, they can be broken out into sub-braces.
+
+
+    ___________________________________________________________________________
+
+    Topic: Syntax References
+    ___________________________________________________________________________
+
+    C++ - http://www.csci.csusb.edu/dick/c++std/syntax.html
+
+    C# - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csspec/html/CSharpSpecStart.asp.  Open in IE.
+
+    Java - http://cui.unige.ch/db-research/Enseignement/analyseinfo/
+    Ada - http://cui.unige.ch/db-research/Enseignement/analyseinfo/
+
+    SQL - http://cui.unige.ch/db-research/Enseignement/analyseinfo/,
+             http://www.cs.umb.edu/cs634/ora9idocs/appdev.920/a96624/13_elems.htm, or
+             http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_tsqlcon_6lyk.asp?frame=true (open in IE).
+
+    JavaScript - http://academ.hvcc.edu/~kantopet/javascript/index.php
+
+    Python - http://www.python.org/doc/2.3.4/ref/ref.html
+
+    PHP - http://www.php.net/manual/en/langref.php
+
+    Visual Basic - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbls7/html/vbspecstart.asp.  Open in IE.
+
+    Pascal - http://pages.cpsc.ucalgary.ca/~becker/231/SyntaxDiagrams/pascal-syntax_files/frame.htm.  Open in IE.
+
+    Ruby - http://www.rubycentral.com/book/
+
+    ActionScript - <http://skaiste.elekta.lt/Books/O'Reilly/Bookshelfs/books/webdesign/action/index.htm>
+
+    R - Somewhere on http://www.r-project.org.
+
+    ColdFusion - http://livedocs.macromedia.com/coldfusion/6/Developing_ColdFusion_MX_Applications_with_CFML/contents.htm
+
+    Eiffel - http://www.gobosoft.com/eiffel/syntax/