mirror of https://github.com/Wilfred/difftastic/
136 lines
3.1 KiB
Plaintext
136 lines
3.1 KiB
Plaintext
================================================================================
|
|
Bit-string expression
|
|
================================================================================
|
|
|
|
<<code:int-size(8)-unit(2), reason:utf8>>
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(bit_string
|
|
(bit_string_segment
|
|
(identifier)
|
|
(bit_string_segment_options
|
|
(bit_string_segment_option)
|
|
(bit_string_segment_option
|
|
(integer))
|
|
(bit_string_segment_option
|
|
(integer))))
|
|
(bit_string_segment
|
|
(identifier)
|
|
(bit_string_segment_options
|
|
(bit_string_segment_option)))))
|
|
|
|
================================================================================
|
|
Negation
|
|
================================================================================
|
|
|
|
!False
|
|
True && !False
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(negation
|
|
(record
|
|
(constructor_name)))
|
|
(binary_expression
|
|
(record
|
|
(constructor_name))
|
|
(negation
|
|
(record
|
|
(constructor_name)))))
|
|
|
|
================================================================================
|
|
Concatenation
|
|
================================================================================
|
|
|
|
let concat = "a" <> "b"
|
|
|
|
case "12345" {
|
|
"0" <> rest -> rest
|
|
"12" <> "34" <> "5" -> "match"
|
|
_ -> ""
|
|
}
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(let
|
|
(identifier)
|
|
(binary_expression
|
|
(string
|
|
(quoted_content))
|
|
(string
|
|
(quoted_content))))
|
|
(case
|
|
(case_subjects
|
|
(string
|
|
(quoted_content)))
|
|
(case_clauses
|
|
(case_clause
|
|
(case_clause_patterns
|
|
(case_clause_pattern
|
|
(binary_expression
|
|
(string
|
|
(quoted_content))
|
|
(identifier))))
|
|
(identifier))
|
|
(case_clause
|
|
(case_clause_patterns
|
|
(case_clause_pattern
|
|
(binary_expression
|
|
(binary_expression
|
|
(string
|
|
(quoted_content))
|
|
(string
|
|
(quoted_content)))
|
|
(string
|
|
(quoted_content)))))
|
|
(string
|
|
(quoted_content)))
|
|
(case_clause
|
|
(case_clause_patterns
|
|
(case_clause_pattern
|
|
(discard)))
|
|
(string)))))
|
|
|
|
================================================================================
|
|
Use
|
|
================================================================================
|
|
|
|
use <- f()
|
|
|
|
use a <- f()
|
|
|
|
use a, b, c, d, e <- f()
|
|
|
|
use #(a, b) <- blah
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
(source_file
|
|
(use
|
|
(function_call
|
|
(identifier)
|
|
(arguments)))
|
|
(use
|
|
(identifier)
|
|
(function_call
|
|
(identifier)
|
|
(arguments)))
|
|
(use
|
|
(identifier)
|
|
(identifier)
|
|
(identifier)
|
|
(identifier)
|
|
(identifier)
|
|
(function_call
|
|
(identifier)
|
|
(arguments)))
|
|
(use
|
|
(tuple_pattern
|
|
(identifier)
|
|
(identifier))
|
|
(identifier)))
|