Method | Description | |
---|---|---|
LensParser ( IEnumerable |
Method | Description | |
---|---|---|
parseAccessor ( ) : Lens.SyntaxTree.NodeBase |
accessor = accessor_idx | accessor_mbr
|
|
parseAccessorIdx ( ) : Lens.SyntaxTree.Expressions.GetIndexNode |
accessor_idx = "[" line_expr "]"
|
|
parseAccessorMbr ( ) : Lens.SyntaxTree.Expressions.GetMemberNode |
accessor_mbr = "." identifier [ type_args ]
|
|
parseAtom ( ) : Lens.SyntaxTree.NodeBase |
atom = literal | get_id_expr | get_stmbr_expr | new_collection_expr | paren_expr
|
|
parseBlock ( ) : CodeBlockNode |
block = local_stmt_list | local_stmt
|
|
parseBlockExpr ( ) : Lens.SyntaxTree.NodeBase |
block_expr = if_block | while_block | for_block | using_block | try_stmt | match_block | new_block_expr | invoke_block_expr | invoke_block_pass_expr | lambda_block_expr
|
|
parseBool ( ) : BooleanNode | ||
parseCatchStmt ( ) : Lens.SyntaxTree.ControlFlow.CatchNode |
catch_stmt = "catch" [ identifier ":" type ] block
|
|
parseCatchStmtList ( ) : IEnumerable |
catch_stmt_list = catch_stmt { catch_stmt }
|
|
parseChar ( ) : CharNode | ||
parseDecimal ( ) : DecimalNode | ||
parseDefaultExpr ( ) : DefaultOperatorNode |
default_expr = "default" type
|
|
parseDouble ( ) : DoubleNode | ||
parseExpr ( ) : NodeBase |
expr = block_expr | line_expr
|
|
parseFinallyStmt ( ) : CodeBlockNode |
finally_stmt = "finally" block
|
|
parseFloat ( ) : FloatNode | ||
parseForBlock ( ) : ForeachNode |
for_block = for_header block
|
|
parseForHeader ( ) : ForeachNode |
for_block = "for" identifier "in" line_expr [ ".." line_expr ] "do"
|
|
parseForLine ( ) : ForeachNode |
for_line = for_header line_stmt
|
|
parseFunArgs ( bool required = false ) : List |
fun_args = fun_single_arg | fun_many_args
|
|
parseFunDef ( ) : FunctionNode |
fun_def = [ "pure" ] "fun" identifier [ ":" type ] fun_args "->" block
|
|
parseFunManyArgs ( bool required = false ) : List |
fun_arg_list = "(" { fun_single_arg } ")"
|
|
parseFunSingleArg ( bool required = false ) : FunctionArgument |
fun_arg = identifier [ ":" [ "ref" ] type [ "... " ] ]
|
|
parseGetExpr ( ) : NodeBase |
get_expr = atom { accessor }
|
|
parseGetIdExpr ( ) : GetIdentifierNode |
get_id_expr = identifier [ type_args ]
|
|
parseGetStmbrExpr ( ) : GetMemberNode |
get_stmbr_expr = type "::" identifier [ type_args ]
|
|
parseIfBlock ( ) : IfNode |
if_block = if_header block [ NL "else" block ]
|
|
parseIfHeader ( ) : IfNode |
if_header = "if" line_expr "then"
|
|
parseIfLine ( ) : IfNode |
if_line = if_header line_stmt [ "else" line_stmt ]
|
|
parseInitDictExpr ( ) : NodeBase>.KeyValuePair |
init_dict_expr = line_expr "=>" line_expr
|
|
parseInitExprBlock ( ) : IEnumerable |
init_expr_block = INDENT line_expr { NL line_expr } DEDENT
|
|
parseInitExprDictBlock ( ) : NodeBase>>.IEnumerable |
init_expr_dict_block = INDENT init_dict_expr { NL init_dict_expr } DEDENT
|
|
parseInitExprDictLine ( ) : NodeBase>>.IEnumerable |
init_expr_dict_line = init_dict_expr { ";" init_dict_expr }
|
|
parseInitExprLine ( ) : IEnumerable |
init_expr_line = line_expr { ";" line_expr }
|
|
parseInt ( ) : IntNode | ||
parseInvokeBlockArg ( ) : NodeBase |
invoke_block_arg = "<|" ( ref_arg | expr )
|
|
parseInvokeBlockArgs ( ) : IEnumerable |
invoke_block_args = INDENT invoke_block_arg { NL invoke_block_arg } DEDENT
|
|
parseInvokeBlockExpr ( ) : NodeBase |
invoke_block_expr = line_expr [ INDENT invoke_pass { NL invoke_pass } DEDENT ]
|
|
parseInvokeBlockPassExpr ( ) : InvocationNode |
|
|
parseInvokeLineArg ( ) : NodeBase |
invoke_line_arg = ref_arg | get_expr
|
|
parseInvokeLineArgs ( ) : IEnumerable |
invoke_line_args = { invoke_line_arg }
|
|
parseInvokePass ( ) : InvocationNode |
invoke_pass = "|>" identifier [ type_args ] ( invoke_block_args | invoke_line_args )
|
|
parseLambdaBlockExpr ( ) : LambdaNode |
lambda_block_expr = [ fun_args ] "->" block
|
|
parseLambdaLineExpr ( ) : LambdaNode |
lambda_line_expr = [ fun_args ] "->" line_expr
|
|
parseLetStmt ( ) : LetNode |
let_stmt = "let" identifier "=" expr
|
|
parseLineBaseExpr ( ) : NodeBase |
line_base_expr = line_invoke_base_expr | get_expr
|
|
parseLineExpr ( ) : NodeBase |
line_expr = if_line | while_line | for_line | using_line | throw_stmt | new_object_line | typeop_expr | line_typecheck_expr
|
|
parseLineInvokeBaseExpr ( ) : NodeBase |
line_invoke_base_expr = get_expr [ invoke_line_args ]
|
|
parseLineOpExpr ( ) : NodeBase |
line_op_expr = [ unary_op ] line_base_expr { binary_op line_base_expr }
|
|
parseLineStmt ( ) : NodeBase |
line_stmt = set_stmt | line_expr
|
|
parseLineTypecheckExpr ( ) : NodeBase |
line_typecheck_expr = line_op_expr [ typecheck_op_expr ]
|
|
parseLiteral ( ) : NodeBase |
literal = unit | null | bool | int | long | float | double | decimal | char | string
|
|
parseLocalStmt ( ) : NodeBase |
local_stmt = name_def_stmt | set_stmt | expr
|
|
parseLocalStmtList ( ) : IEnumerable |
local_stmt_list = INDENT local_stmt { NL local_stmt } DEDENT
|
|
parseLong ( ) : LongNode | ||
parseLvalueExpr ( ) : NodeBase |
lvalue_expr = lvalue_name_expr | lvalue_paren_expr
|
|
parseLvalueIdExpr ( ) : GetIdentifierNode |
lvalue_id_expr = identifier
|
|
parseLvalueName ( ) : NodeBase |
lvalue_name = lvalue_stmbr_expr | lvalue_id_expr
|
|
parseLvalueNameExpr ( ) : NodeBase |
lvalue_name_expr = lvalue_name { accessor }
|
|
parseLvalueParenExpr ( ) : NodeBase |
lvalue_paren_expr = paren_expr accessor { accessor }
|
|
parseLvalueStmbrExpr ( ) : GetMemberNode |
lvalue_stmbr_expr = type "::" identifier
|
|
parseMain ( ) : IEnumerable |
main = stmt { NL stmt } EOF
|
|
parseMatchBlock ( ) : MatchNode |
match_block = "match" line_expr "with" INDENT { match_stmt } DEDENT
|
|
parseMatchRule ( ) : MatchRuleBase |
match_rule = rule_generic [ rule_keyvalue ]
|
|
parseMatchRules ( ) : IEnumerable |
match_rules = match_rule { [ NL ] "|" match_rule }
|
|
parseMatchStmt ( ) : MatchStatementNode |
match_stmt = "case" match_rules [ "when" line_expr ] "then" block
|
|
parseNameDefStmt ( ) : NameDeclarationNodeBase |
name_def_stmt = var_stmt | let_stmt
|
|
parseNamespace ( ) : TypeSignature |
namespace = identifier { "." identifier }
|
|
parseNewArrayBlock ( ) : NewArrayNode |
new_array_block = "[" init_expr_block "]"
|
|
parseNewArrayLine ( ) : NewArrayNode |
new_array_line = "[" init_expr_block "]"
|
|
parseNewBlockExpr ( ) : NodeBase |
new_block_expr = "new" new_tuple_block | new_array_block | new_list_block | new_dict_block | new_object_block
|
|
parseNewCollectionExpr ( ) : NodeBase |
new_collection_expr = "new" ( new_tuple_line | new_list_line | new_array_line | new_dict_line )
|
|
parseNewDictBlock ( ) : NewDictionaryNode |
new_dict_block = "{" init_dict_expr_block "}"
|
|
parseNewDictLine ( ) : NewDictionaryNode |
new_dict_line = "{" init_dict_expr_block "}"
|
|
parseNewListBlock ( ) : NewListNode |
new_list_block = "[" "[" init_expr_block "]" "]"
|
|
parseNewListLine ( ) : NewListNode |
new_list_line = "[" "[" init_expr_block "]" "]"
|
|
parseNewObjArrayLine ( ) : NewObjectArrayNode |
new_objarray_line = type "[" line_expr "]"
|
|
parseNewObjectBlock ( ) : NewObjectNode |
new_object_block = type invoke_block_args
|
|
parseNewObjectExpr ( ) : NodeBase |
new_line_expr = "new" ( new_objarray_line | new_object_block )
|
|
parseNewObjectLine ( ) : NewObjectNode |
new_object_line = type invoke_line_args
|
|
parseNewTupleBlock ( ) : NewTupleNode |
new_tuple_block = "(" init_expr_block ")"
|
|
parseNewTupleLine ( ) : NewTupleNode |
new_tuple_line = "(" init_expr_line ")"
|
|
parseNull ( ) : NullNode | ||
parseParenExpr ( ) : NodeBase |
paren_expr = "(" ( lambda_line_expr | line_expr ) ")"
|
|
parseRecordDef ( ) : RecordDefinitionNode |
record_def = "record" identifier INDENT record_stmt { NL record_stmt } DEDENT
|
|
parseRecordStmt ( ) : RecordField |
record_stmt = identifier ":" type
|
|
parseRefArg ( ) : NodeBase |
ref_arg = "ref" lvalue_expr | "(" "ref" lvalue_expr ")"
|
|
parseRegex ( ) : MatchRegexNode |
rule_regex = regex
|
|
parseRuleArray ( ) : MatchRuleBase |
rule_array = "[" [ rule_array_item { ";" rule_array_item } ] "]"
|
|
parseRuleArrayItem ( ) : MatchRuleBase |
rule_array_item = rule_subsequence | match_rule
|
|
parseRuleGeneric ( ) : MatchRuleBase |
rule_generic = rule_tuple | rule_array | rule_regex | rule_record | rule_type | rule_range | rule_literal | rule_name
|
|
parseRuleKeyValue ( ) : MatchKeyValueRule |
rule_keyvalue = "=>" rule_generic
|
|
parseRuleLiteral ( ) : MatchLiteralRule |
rule_literal = literal
|
|
parseRuleName ( ) : MatchNameRule |
rule_name = identifier [ ":" type ]
|
|
parseRuleRange ( ) : MatchRangeRule |
rule_range = rule_literal ".." rule_literal
|
|
parseRuleRecord ( ) : MatchRecordRule |
rule_record = identifier "(" rule_record_var { ";" rule_record_var } ")"
|
|
parseRuleRecordVar ( ) : MatchRecordField |
rule_record_var = identifier "=" match_rule
|
|
parseRuleSubsequence ( ) : MatchNameRule |
rule_subsequence = "..." identifier
|
|
parseRuleTuple ( ) : MatchTupleRule |
rule_tuple = "(" match_rule { ";" match_rule } ")"
|
|
parseRuleType ( ) : MatchTypeRule |
rule_type = identifier "of" match_rule
|
|
parseSetAnyStmt ( ) : NodeBase |
set_any_stmt = lvalue_expr assignment_op expr
|
|
parseSetIdStmt ( ) : NodeBase |
set_id_stmt = identifier assignment_op expr
|
|
parseSetStmbrStmt ( ) : NodeBase |
set_stmbr_stmt = type "::" identifier assignment_op expr
|
|
parseSetStmt ( ) : NodeBase |
set_stmt = set_id_stmt | set_stmbr_stmt | set_any_stmt
|
|
parseStmt ( ) : NodeBase |
stmt = using | record_def | type_def | fun_def | local_stmt
|
|
parseString ( ) : StringNode | ||
parseThrowStmt ( ) : ThrowNode |
throw_stmt = "throw" [ line_expr ]
|
|
parseTryStmt ( ) : TryNode |
try_stmt = "try" block catch_stmt_list [ finally_stmt ]
|
|
parseType ( ) : TypeSignature |
type = namespace [ type_args ] { "[]" | "?" | "~" }
|
|
parseTypeArgs ( ) : List |
type_args = "<" type { "," type } ">"
|
|
parseTypeDef ( ) : TypeDefinitionNode |
type_def = "type" identifier INDENT type_stmt { type_stmt } DEDENT
|
|
parseTypeStmt ( ) : TypeLabel |
type_stmt = identifier [ "of" type ]
|
|
parseTypecheckOpExpr ( ) : NodeBase |
typecheck_op_expr = "as" type | "is" type
|
|
parseTypeofExpr ( ) : TypeofOperatorNode |
typeof_expr = "typeof" type
|
|
parseTypeopExpr ( ) : NodeBase |
typeop_expr = default_expr | typeof_expr
|
|
parseUnit ( ) : UnitNode | ||
parseUsing ( ) : UseNode |
using = "using" namespace NL
|
|
parseUsingBlock ( ) : UsingNode |
using_block = using_header block
|
|
parseUsingHeader ( ) : UsingNode |
using_header = "using" [ identifier "=" ] line_expr "do"
|
|
parseUsingLine ( ) : UsingNode |
using_line = using_header line_stmt
|
|
parseVarStmt ( ) : VarNode |
var_stmt = "var" identifier ( "=" expr | ":" type )
|
|
parseWhileBlock ( ) : WhileNode |
while_block = while_header block
|
|
parseWhileHeader ( ) : WhileNode |
while_header = "while" line_expr "do"
|
|
parseWhileLine ( ) : WhileNode |
while_line = while_header line_stmt
|
public LensParser ( IEnumerable |
||
lexems | IEnumerable |
|
return | System.Collections.Generic |