Skip to content

Commit

Permalink
Merge branch 'main' into features/powershell-control-structures
Browse files Browse the repository at this point in the history
  • Loading branch information
ulyssear authored Oct 30, 2023
2 parents 8e6465d + 7ae0daa commit 3b2d1b4
Show file tree
Hide file tree
Showing 3 changed files with 178 additions and 0 deletions.
57 changes: 57 additions & 0 deletions web/thesauruses/_meta/language_basics.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"meta": {
"structure": "language_basics",
"structure_name": "Basics of A Programming Language"
},
"categories": {
"Typing Systems": {
"statically_typed": "The programming language may be statically typed",
"dynamically_typed": "The programming language may be dynamically typed"
},
"Paradigm Category": {
"procedural_language": "Language extensively uses procedures to explicitly detail how tasks are performed",
"functional_language": "Language extensively uses functions, emphasize immutability",
"object_oriented_language": "Language extensively uses the concept of objects, which encapsulate data and behaviour"
},
"Level of Abstraction": {
"low_level_language": "Language provides minimal abstraction from the hardware architecture of the computer",
"high_level_language": "Language provides a more abstract and user-friendly interface for software development"
},
"Execution Method": {
"compiled_language": "Language is translated into machine code or an intermediate form by a compiler before execution",
"interpreted_language": "Language is executed line by line by an interpreter at runtime withot a separate compilation step"
},
"Application Domain": {
"general_purpose_language": "Language is designed to be versatile and applicable to a wide range of tasks and applications",
"domain_specific_language": "Language is designed to address specific application domains or industries"
},
"Memory Management": {
"manual_management": "Languages where memory has to be managed by the programmer manually",
"automatic_management": "Languages with an extensive support of automatic memory management"
},
"Generation": {
"first_generation": "Language consists of binary code directly understood and executed by a computer's central processing unit (CPU) and represent the lowest level of programming abstraction",
"second_generation": "Language uses mnemonic codes and symbols to represent machine-level instructions, providing a more human-readable way to program and interact with a computer's hardware.",
"third_generation": "High-level programming languages designed for general-purpose software development, offering a higher level of abstraction and greater ease of use compared to low-level languages like assembly.",
"fourth_generation": "High-level programming languages designed for specific applications or domains, often using natural language-like syntax and focusing on rapid application development."
},
"Entry Point": {
"main_function": "Entry point of the program is the main function of the file",
"custom_function": "In some programming languages, custom functions can be made to be the entry point of a program",
"script_file": "Entry point of the program is the top of the script file"
},
"Comments": {
"single_line": "Single line comments are used for brief explanations. Most common indicators of single line comments are // and #",
"multi_line": "Multi line comments span multiple lines. Used for longer explanations, or for commenting out code which you do not intend to execute. Usually multi line comments are enclosed within /* ... */, ''' ... ''' or \"\"\" ... \"\"\" ",
"documentation": "Some programming languages have specific comment syntax for generating documentation. For example, Javadoc comments can be generated using /** ",
"special": "Some programming languages have a special comment syntax for specific purposes"
},
"Library and Framework support": {
"standard_libraries": "Programming Language is supported by an extensive network of standard libraries which are not required to be imported externally",
"extensive_frameworks": "Language has a strong network of external frameworks for supporting additional functionalities. Usually the external libraries are installed into the project using a package manager, and imported into the required file using the `import` keyword"
},
"Minimal Program": {
"hello_world": "The most minimal program to understand all the basics is the Hello World program. Here you only need to print \"Hello World\" to the console/output of the programming language of your choice."
}
}
}
120 changes: 120 additions & 0 deletions web/thesauruses/lua/5/data_types.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
{
"meta": {
"language": "lua",
"language_name": "Lua",
"structure": "data_types",
"language_version": "5.1"
},
"concepts": {
"boolean": {
"name": "Boolean",
"not-implemented": true,
"comment": "The type boolean has two values, false and true and both nil and false make a condition false."
},
"signed_integer_8_bit": {
"name": "Signed 8-bit integer",
"not-implemented": true
},
"unsigned_integer_8_bit": {
"name": "Unsigned 8-bit integer",
"not-implemented": true
},
"signed_integer_16_bit": {
"name": "Signed 16-bit integer",
"not-implemented": true
},
"unsigned_integer_16_bit": {
"name": "Unsigned 16-bit integer",
"not-implemented": true
},
"signed_integer_32_bit": {
"name": "Signed 32-bit integer",
"not-implemented": true
},
"unsigned_integer_32_bit": {
"name": "Unsigned 32-bit integer",
"not-implemented": true
},
"signed_integer_64_bit": {
"name": "Signed 64-bit integer",
"not-implemented": true
},
"unsigned_integer_64_bit": {
"name": "Unsigned 64-bit integer",
"not-implemented": true
},
"signed_integer_as_object": {
"name": "Signed object-based Integer",
"not-implemented": true,
"comment":"Lua does not have a built-in concept of distinct signed, object-based integers with the full range of operations and methods that you might find in languages like C++ or Java."
},
"unsigned_integer_as_object": {
"name": "Unsigned object-based Integer",
"not-implemented": true
},
"signed_float_16_bit": {
"name": "Signed 16-bit floating point",
"not-implemented": true
},
"unsigned_float_16_bit": {
"name": "Unsigned 16-bit floating point",
"not-implemented": true
},
"signed_float_32_bit": {
"name": "Signed 32-bit floating point",
"not-implemented": true
},
"unsigned_float_32_bit": {
"name": "Unsigned 32-bit floating point",
"not-implemented": true
},
"signed_float_64_bit": {
"name": "Signed 64-bit floating point",
"not-implemented": true
},
"unsigned_float_64_bit": {
"name": "Unsigned 64-bit floating point",
"not-implemented": true
},
"signed_float_as_object": {
"name": "Signed object-based floating point",
"not-implemented": true,
"comment":"Same as integer applies here too."
},
"unsigned_float_as_object": {
"name": "Unsigned object-based floating point",
"not-implemented": true
},
"character": {
"name": "Character",
"not-implemented": true
},
"string_as_object": {
"name": "String as an object",
"not-implemented": true,
"comment":"In Lua, strings are not treated as objects in the same way that some other programming languages, like Python or JavaScript"
},
"string_as_array": {
"name": "String as an array of characters",
"code":
[
"local myString = 'Hello, World!'\nlocal firstChar = myString:sub(1, 1) -- Access the first character\nlocal fifthChar = myString:sub(5, 5) -- Access the fifth character\nprint(firstChar) -- Output: 'H'\nprint(fifthChar) -- Output: 'o'"
],
"comment":"In Lua, strings are treated as arrays of characters."
},
"complex_as_object": {
"name": "Complex Number as an object",
"not-implemented": true,
"comment":"Lua does not have built-in support for complex numbers as a distinct data type like some other languages, such as Python."

},
"real_number_part": {
"name": "Complex number real part",
"not-implemented": true
},
"imaginary_number_part": {
"name": "Complex number imaginary part",
"not-implemented": true
}
}
}
1 change: 1 addition & 0 deletions web/thesauruses/meta_info.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"exception_handling": "Exception Handling",
"functions": "Functions, Methods, and Subroutines",
"io": "Input and Output",
"language_basics": "Basics of A Programming Language",
"lists": "Lists, Arrays, and Hashed Lists",
"operators": "Logical and Mathematical/Arithmetic Operators",
"queues_stacks": "Queues and Stacks",
Expand Down

0 comments on commit 3b2d1b4

Please sign in to comment.