Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Procedure: new features part 1/2 #287

Closed
4 tasks
smedilol opened this issue Sep 21, 2016 · 5 comments
Closed
4 tasks

Procedure: new features part 1/2 #287

smedilol opened this issue Sep 21, 2016 · 5 comments

Comments

@smedilol
Copy link
Contributor

smedilol commented Sep 21, 2016

New features for functions and procedures:

  • Implement procedure as defined here and here
  • TCRFUN_INPUT_ALL_BY input parameters can be passed 'BY VALUE', 'BY CONTENT' or 'BY REFERENCE' here
  • TCRFUN_INOUT_OUT_ONLY_BY_REFERENCE inout and output parameters can only be passed by reference. here
  • TCRFUN_PARAMETER_MATCHING The caller must provide the exact number of parameters and each parameter must match the type of function/procedure prototype. here

Following rules have been removed from specifications:

  • TCRFUN_DECLARATION_NO_REDEFINES REDEFINES are not allowed
  • TCRFUN_DECLARATION_NO_RENAMES RENAMES are not allowed
  • TCRFUN_DECLARATION_NO_FILLER FILLER are not allowed
  • TCRFUN_DECLARATION_NO_ANONYMOUS_VARIABLES Unnamed variables are not allowed

Make sure, it's not implemented anymore

@smedilol smedilol modified the milestones: Version 1.0, Version 1.0 - Custom functions Sep 21, 2016
@smedilol smedilol self-assigned this Sep 21, 2016
@smedilol smedilol modified the milestones: Version 1.0 - Custom functions, Version 0.9 - GP12 Sep 21, 2016
@smedilol smedilol assigned wiztigers and unassigned smedilol Sep 23, 2016
@smedilol
Copy link
Contributor Author

First set of new features for functions of procedure.
@wiztigers can you take check if everything it's clear for you and then implement this?

Thanks.

@smedilol smedilol changed the title Functions : new features Procedure/Functions : new features part 1/2 Oct 13, 2016
@smedilol smedilol changed the title Procedure/Functions : new features part 1/2 Procedure: new features part 1/2 Nov 3, 2016
wiztigers pushed a commit that referenced this issue Nov 8, 2016
…he test files, so the test fails for the proper reason.
wiztigers pushed a commit that referenced this issue Nov 8, 2016
@smedilol smedilol modified the milestones: Version 0.9 - GP13, Version 1.0 - Alpha 1 - Types and procedures Nov 8, 2016
@wiztigers
Copy link
Contributor

wiztigers commented Nov 9, 2016

  • TCRFUN_INPUT_ALL_BY was renamed in TCRFUN_INPUT_BY because a short concise name has less risks of error when typing or trying to recall a specific rule name. --> TCRFUN_CALL_INPUT_BY #342
  • TCRFUN_INOUT_OUT_ONLY_BY_REFERENCE was renamed to TCRFUN_CALL_INOUT_AND_OUTPUT_BY_REFERENCE because the original name didn't inform about wheter this rule is about function invocation or declaration, because "OUT" doesn't exist as a keyword whereas OUTPUT does, and ONLY was redundant.
  • TCRFUN_PARAMETER_MATCHING was rather a meta-rule, that was too vague for precise formulation and implementation progress tracking. So I replaced it by the following 5 rules:

The 4 crossed rules at the end of the end of the issue description (TCRFUN_DECLARATION_NO_REDEFINES REDEFINES, TCRFUN_DECLARATION_NO_RENAMES RENAMES, TCRFUN_DECLARATION_NO_FILLER FILLER and TCRFUN_DECLARATION_NO_ANONYMOUS_VARIABLES) are nowhere to be seen either in source code, in test code or in the project wiki, and no other issue than this one references them, so there were never implemented, as far as I can trace.

The 7 new procedure invocation rules are now referenced on this page.
When any rules referenced on this page has to be modified, or if rules must be added, we MUST open a corresponding issue to each rule, because I cannot warrant the proper rule implementation if anyone modifies the wiki behind my back with no traceability.

@wiztigers
Copy link
Contributor

I've implemented every rule that I could grasp.
That is, every rule excepted TCRFUN_MATCH_PARAMETERS_COMPRESSION which I thus consider unproperly specified.
I've created a dedicated issue #335.

@smedilol
Copy link
Contributor Author

smedilol commented Nov 9, 2016

I'll check these new rules

@smedilol smedilol reopened this Nov 9, 2016
@smedilol smedilol added the rfc Specifications are not complete. Comment are welcomed. label Nov 9, 2016
@smedilol smedilol assigned smedilol and unassigned wiztigers Nov 9, 2016
@smedilol smedilol removed the rfc Specifications are not complete. Comment are welcomed. label Nov 14, 2016
@smedilol
Copy link
Contributor Author

Of for this issue, all remaining tasks are now described in issues: #342, #350 and #335.
I think you can merge the page
into
https://github.com/TypeCobolTeam/TypeCobol/wiki/TypeCobolFunctionsSyntax

@smedilol smedilol assigned wiztigers and unassigned smedilol Nov 14, 2016
@smedilol smedilol assigned smedilol and unassigned wiztigers Dec 13, 2016
osmedile added a commit to osmedile/TypeCobol that referenced this issue Feb 28, 2019
…ts from Compiler.Nodes.ProcedureStyleCall

Codegen.Nodes.ProcedureStyleCall inherited from Compiler.Nodes.Call
which was the base class for standard Cobol 85 call.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants