Tick C is a programming language created in 1997.
#3049on PLDB | 26Years Old | 0Books |
0Papers |
A superset of ANSI C that allows high-level, efficient, and machine-independent specification of dynamically generated code.
Feature | Supported | Token | Example |
---|---|---|---|
Scientific Notation | โ | ||
Conditionals | โ | ||
Constants | โ | ||
While Loops | โ | ||
Case Sensitivity | โ | ||
Assignment | โ | ||
Switch Statements | โ | switch(expression) { case true : break; default : // break; } |
|
Print() Debugging | โ | ||
MultiLine Comments | โ | /* A comment */ |
|
Line Comments | โ | // A comment |
|
Increment and decrement operators | โ | ||
Zero-based numbering | โ | ||
Variadic Functions | โ | double average(int count, ...) { // } |
|
Manual Memory Management | โ | #include |
|
Macros | โ | // https://learn.microsoft.com/en-us/cpp/preprocessor/macros-c-cpp?redirectedfrom=MSDN&view=msvc-170 // https://gcc.gnu.org/onlinedocs/cpp/Macro-Arguments.html #define min(X, Y) ((X) < (Y) ? (X) : (Y)) x = min(a, b); โ x = ((a) < (b) ? (a) : (b)); y = min(1, 2); โ y = ((1) < (2) ? (1) : (2)); z = min(a + 28, *p); โ z = ((a + 28) < (*p) ? (a + 28) : (*p)); |
|
Integers | โ | int pldb = 80766866; |
|
File Imports | โ | // If a header file is included within <>, the preprocessor will search a predetermined directory path to locate the header file. If the header file is enclosed in "", the preprocessor will look for the header file in the same directory as the source file. #include |
|
Type Casting | โ | double da = 3.3; double db = 3.3; double dc = 3.4; int result = (int)da + (int)db + (int)dc; //result == 9 |
|
Directives | โ | #include |
|
Gotos | โ | // C/C++ program to check if a number is // even or not using goto statement #include |
|
Structs | โ | struct account { int account_number; char *first_name; char *last_name; float balance; }; |
|
Comments | โ | /* hello world */ // hi |
|
Symbol Tables | โ | // Declare an external function extern double bar(double x); // Define a public function double foo(int count) { double sum = 0.0; // Sum all the values bar(1) to bar(count) for (int i = 1; i <= count; i++) sum += bar((double) i); return sum; } // Symbol Table: // Symbol name|Type|Scope // bar|function, double|extern // x|double|function parameter // foo|function, double|global // count|int|function parameter // sum|double|block local // i|int|for-loop statement |
|
Bitwise Operators | โ | int i = 4; /* bit pattern equivalent is binary 100 */ int j = i << 2; /* makes it binary 10000, which multiplies the original number by 4 i.e. 16 */ |
|
Assert Statements | โ | #include |
|
Strings | โ | "hello world" |
|
Pointers | โ | int *ptr; |
|
Ternary operators | โ | #include |
|
Characters | โ | char character = 'P'; |
|
Booleans | โ | ||
Enums | โ | enum Gender { Male, Female, }; |
|
Fixed Point Numbers | X | ||
Case Insensitive Identifiers | X | ||
Exceptions | X | ||
Classes | X | ||
Access Modifiers | X | ||
Semantic Indentation | X | ||
Operator Overloading | X | ||
Templates | X | ||
Multiple Inheritance | X | ||
Namespaces | X | ||
Garbage Collection | X | ||
Constructors | X | ||
Regular Expression Syntax Sugar | X | ||
Variable Substitution Syntax | X |