예제 #1
0
        public override void EnterFormalParameter(LittleBigCParser.FormalParameterContext context)
        {
            var parameter = new ParameterDefinition(context);

            if (_currentScope.ParameterDefinitions.ContainsKey(parameter.Name))
            {
                var node = context.Identifier();
                _errors.Add(String.Format("[{0}:{1}] Semantic error: Parameter {2} already defined.", node.Symbol.Line, node.Symbol.StartIndex, parameter.Name));
            }
            else
            {
                _currentScope.AddParameterDefinition(parameter);
            }
        }
예제 #2
0
파일: Scope.cs 프로젝트: mdelol/Compiler
 public void AddParameterDefinition(ParameterDefinition parameterDefinition)
 {
     _parameterDefinitions.Add(parameterDefinition.Name, parameterDefinition);
 }