454 val capp = app @{const_syntax Rep_cfun} |
454 val capp = app @{const_syntax Rep_cfun} |
455 val capps = Library.foldl capp |
455 val capps = Library.foldl capp |
456 fun con1 authentic n (con,args) = |
456 fun con1 authentic n (con,args) = |
457 Library.foldl capp (c_ast authentic con, argvars n args) |
457 Library.foldl capp (c_ast authentic con, argvars n args) |
458 fun case1 authentic (n, c) = |
458 fun case1 authentic (n, c) = |
459 app "_case1" (Syntax.strip_positions_ast (con1 authentic n c), expvar n) |
459 app "_case1" (Ast.strip_positions (con1 authentic n c), expvar n) |
460 fun arg1 (n, (con,args)) = List.foldr cabs (expvar n) (argvars n args) |
460 fun arg1 (n, (con,args)) = List.foldr cabs (expvar n) (argvars n args) |
461 fun when1 n (m, c) = if n = m then arg1 (n, c) else Ast.Constant @{const_syntax bottom} |
461 fun when1 n (m, c) = if n = m then arg1 (n, c) else Ast.Constant @{const_syntax bottom} |
462 val case_constant = Ast.Constant (syntax (case_const dummyT)) |
462 val case_constant = Ast.Constant (syntax (case_const dummyT)) |
463 fun case_trans authentic = |
463 fun case_trans authentic = |
464 (if authentic then Syntax.Parse_Print_Rule else Syntax.Parse_Rule) |
464 (if authentic then Syntax.Parse_Print_Rule else Syntax.Parse_Rule) |