github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/docs/parser/README.md (about) 1 # Parser Reference 2 3 This section is a glossary of Murex tokens and parser behavior. 4 5 ## Other Reference Material 6 7 ### Language Guides 8 9 1. [Language Tour](/docs/tour.md), which is an introduction into 10 the Murex language. 11 12 2. [Rosetta Stone](/docs/user-guide/rosetta-stone.md), which is a reference 13 table comparing Bash syntax to Murex's. 14 15 3. [Builtins](/docs/commands/), for docs on the core builtins. 16 17 ### Murex's Source Code 18 19 The parser is located Murex's source under the `lang/` path of the project 20 files. 21 22 ## Pages 23 24 * [Array (`@`) Token](../parser/array.md): 25 Expand values as an array 26 * [Tilde (`~`) Token](../parser/tilde.md): 27 Home directory path variable 28 * [`!` (not)](../parser/not-func.md): 29 Reads the STDIN and exit number from previous process and not's it's condition 30 * [`"Double Quote"`](../parser/double-quote.md): 31 Initiates or terminates a string (variables expanded) 32 * [`$Variable`](../parser/scalar.md): 33 Expand values as a scalar 34 * [`%(Brace Quote)`](../parser/brace-quote.md): 35 Initiates or terminates a string (variables expanded) 36 * [`%[]` Create Array](../parser/create-array.md): 37 Quickly generate arrays 38 * [`%{}` Create Map](../parser/create-object.md): 39 Quickly generate objects and maps 40 * [`&&` And Logical Operator](../parser/logical-and.md): 41 Continues next operation if previous operation passes 42 * [`'Single Quote'`](../parser/single-quote.md): 43 Initiates or terminates a string (variables not expanded) 44 * [`(brace quote)`](../parser/brace-quote-func.md): 45 Write a string to the STDOUT without new line (deprecated) 46 * [`*=` Multiply By Operator](../parser/multiply-by.md): 47 Multiplies a variable by the right hand value (expression) 48 * [`*` Multiplication Operator](../parser/multiplication.md): 49 Multiplies one numeric value with another (expression) 50 * [`+=` Add With Operator](../parser/add-with.md): 51 Adds the right hand value to a variable (expression) 52 * [`+` Addition Operator](../parser/addition.md): 53 Adds two numeric values together (expression) 54 * [`-=` Subtract By Operator](../parser/subtract-by.md): 55 Subtracts a variable by the right hand value (expression) 56 * [`->` Arrow Pipe](../parser/pipe-arrow.md): 57 Pipes STDOUT from the left hand command to STDIN of the right hand command 58 * [`-` Subtraction Operator](../parser/subtraction.md): 59 Subtracts one numeric value from another (expression) 60 * [`/=` Divide By Operator](../parser/divide-by.md): 61 Divides a variable by the right hand value (expression) 62 * [`/` Division Operator](../parser/division.md): 63 Divides one numeric value from another (expression) 64 * [`<read-named-pipe>`](../parser/namedpipe.md): 65 Reads from a Murex named pipe 66 * [`=>` Generic Pipe](../parser/pipe-generic.md): 67 Pipes a reformatted STDOUT stream from the left hand command to STDIN of the right hand command 68 * [`=` (arithmetic evaluation)](../parser/equ.md): 69 Evaluate a mathematical function (deprecated) 70 * [`>>` Append File](../parser/greater-than-greater-than.md): 71 Writes STDIN to disk - appending contents if file already exists 72 * [`>>` Append Pipe](../parser/pipe-append.md): 73 Redirects STDOUT to a file and append its contents 74 * [`?:` Elvis Operator](../parser/elvis.md): 75 Returns the right operand if the left operand is falsy (expression) 76 * [`??` Null Coalescing Operator](../parser/null-coalescing.md): 77 Returns the right operand if the left operand is empty / undefined (expression) 78 * [`?` STDERR Pipe](../parser/pipe-err.md): 79 Pipes STDERR from the left hand command to STDIN of the right hand command (DEPRECATED) 80 * [`[ ..Range ]`](../parser/range.md): 81 Outputs a ranged subset of data from STDIN 82 * [`[ Index ]`](../parser/item-index.md): 83 Outputs an element from an array, map or table 84 * [`[[ Element ]]`](../parser/element.md): 85 Outputs an element from a nested structure 86 * [`[{ Lambda }]`](../parser/lambda.md): 87 Iterate through structured data 88 * [`{ Curly Brace }`](../parser/curly-brace.md): 89 Initiates or terminates a code block 90 * [`|>` Truncate File](../parser/greater-than.md): 91 Writes STDIN to disk - overwriting contents if file already exists 92 * [`|` POSIX Pipe](../parser/pipe-posix.md): 93 Pipes STDOUT from the left hand command to STDIN of the right hand command 94 * [`||` Or Logical Operator](../parser/logical-or.md): 95 Continues next operation only if previous operation fails