diff options
Diffstat (limited to 'docs/tool/Info/Languages.txt')
| -rw-r--r-- | docs/tool/Info/Languages.txt | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/docs/tool/Info/Languages.txt b/docs/tool/Info/Languages.txt new file mode 100644 index 00000000..c564eb58 --- /dev/null +++ b/docs/tool/Info/Languages.txt @@ -0,0 +1,107 @@ + + 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 2 - <http://download.macromedia.com/pub/documentation/en/flash/fl8/fl8_as2lr.pdf> + ActionScript 3 - <http://download.macromedia.com/pub/documentation/en/flex/2/prog_actionscript30.pdf> + E2X - http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-357.pdf + + 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/ |