diff options
| author | Shinya Sato <shinnya.sato@gmail.com> | 2023-01-28 18:57:06 +0900 |
|---|---|---|
| committer | Shinya Sato <shinnya.sato@gmail.com> | 2023-01-28 18:57:06 +0900 |
| commit | 6aebdb1112dfe6543713aa0028c0a818bed1bae1 (patch) | |
| tree | c102e33319ccd27ceebba8c8d7e242c0c8dbe3af /src/ast.c | |
| parent | 2c60347f5bd9f63a9669c5183d3005410252db4f (diff) | |
| parent | a7d48eb8255c59542d70ae2dce670ad684976724 (diff) | |
| download | inpla-6aebdb1112dfe6543713aa0028c0a818bed1bae1.tar.gz inpla-6aebdb1112dfe6543713aa0028c0a818bed1bae1.zip | |
Merge branch 'develop'
Diffstat (limited to '')
| -rw-r--r-- | src/ast.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -309,7 +309,7 @@ void ast_puts(Ast *p) { } -Ast *ast_unfoldABR(Ast *left_params, char *sym, Ast *paramlist) { +Ast *ast_unfoldABR(Ast *left_params, char *sym, Ast *paramlist, Ast *annotate) { // input: // left_params << (AST_AGENT, sym, paramlist) @@ -384,8 +384,13 @@ Ast *ast_unfoldABR(Ast *left_params, char *sym, Ast *paramlist) { } // ast_puts(left);puts(""); - + Ast *agent_left = ast_makeAST(AST_AGENT, ast_makeSymbol(sym), left_params); + if (annotate != NULL) { + // replace (AST_ANNOTATE NULL NULL) with (AST_ANNOTATE agent_left NULL) + annotate->left = agent_left; + agent_left = annotate; + } Ast *agent_right = param; Ast *cnct = ast_makeAST(AST_CNCT, agent_left, agent_right); |
