public override void EnterLibraryCopy(CodeElementsParser.LibraryCopyContext context)
 {
     var copy = new LibraryCopyCodeElement();
     if (context.UserDefinedWord() != null) { // TCRFUN_LIBRARY_COPY
     var value = CobolWordsBuilder.CreateAlphanumericValue(context.UserDefinedWord());
     copy.Name = new SymbolDefinition(value, SymbolType.FileName);//TODO#278 eww!
     }
     Context = context;
     CodeElement = copy;
 }
 public override void EnterFunctionDeclarationHeader(CodeElementsParser.FunctionDeclarationHeaderContext context)
 {
     var visibility = context.PUBLIC() != null ? AccessModifier.Public : AccessModifier.Private;
     QualifiedName name = null;
     if (context.UserDefinedWord() != null) {
     var token = ParseTreeUtils.GetTokenFromTerminalNode(context.UserDefinedWord());
     name = new URI(token.Text);
     }
     Context = context;
     CodeElement = new FunctionDeclarationHeader(name, visibility);
 }
 // [COBOL 2002]
 internal AlphanumericValue CreateAlphanumericValue(CodeElementsParser.Cobol2002TypeClauseContext context)
 {
     var result = CreateAlphanumericValue(context.DATE());
     if (result != null) return result;
     return CreateAlphanumericValue(context.UserDefinedWord());
 }