ভিসি ++ কোড ডিওএম কি ভিএস অ্যাডনগুলি থেকে অ্যাক্সেসযোগ্য?


100

ভিসি ++ এর জন্য ভিজ্যুয়াল স্টুডিও ইন্টেলিসেন্সে "সম্পূর্ণ" ইডিজি সি ++ পার্সার (ইন্টেল এবং অন্যরাও ব্যবহৃত হয়) অন্তর্ভুক্ত করে। যেহেতু সি # কোড ডিওএম অ্যাডোনসগুলিতে অ্যাক্সেসযোগ্য (আমি ভুল হলে আমাকে সংশোধন করি), তাই কি সি ++ কোড ডোমও অ্যাক্সেসযোগ্য? এটি কি ভিএস পরিবেশের মধ্যে একটি উন্মুক্ত ভিসি ++ প্রকল্প বিশ্লেষণ করতে ব্যবহার করা যেতে পারে?


25
সবেমাত্র আপনার অন্য থ্রেড থেকে এসেছেন ; এটা একটা ভালো প্রশ্ন.
কিউস - মনিকা

81
আবার, "আপনি যা জিজ্ঞাসা করছেন তা অস্পষ্ট?" - সত্যিই লোকেরা? "আমি এই প্রশ্নের ভিত্তি সম্পর্কে কিছুই জানি না" এর অর্থ "আপনি কী জিজ্ঞাসা করছেন তা অস্পষ্ট" নয়।
টিম পোস্ট

9
@ ডেভ - নন এমএস-কর্মচারীরাও এই সমস্যাটি সমাধান করতে পারে তা প্রমাণ করার জন্য আমি একটি উত্তর যুক্ত করেছি। এমন কিছু লোক আছেন যারা আমার ইচ্ছার কাছে জিনিসগুলি সম্পন্ন করেছেন।
রবিন রড্রিক্স

55
@ ডেভহিলিয়ার যদি এটি অন টপিক হয় তবে এটি এখানে পুরোপুরি স্বাগত। এর বাইরে কোনও আলোচনা হয় না। যদি আমরা "এখানকার কেউ কি এর উত্তর দিতে পারে?" তারপরে আমরা দ্রুত এই ধরণের স্টিকি আংস্টের কাছে দ্রুত পৌঁছে যাই যেখানে শক্ত কিছু সম্ভাব্য অযোগ্য হয় না। আমরা যদি উত্তরটির জন্য প্রশ্নটি না খালি না করি তবে কে উত্তর দিতে পারে সে সম্পর্কে আমাদের কাছে খোলামেলা ধারণা নেই । এটি প্রথম স্থানে জিজ্ঞাসা পুরো পয়েন্ট।
টিম পোস্ট

49
@bmargulies এই প্রশ্নটি কেবল বিদ্যমান দ্বারা কী ক্ষতি করছে? অন-বিষয়, এটি আকর্ষণীয়, এবং কেউ পারে বোধগম্যভাবে এটি উত্তর দিন। হেক, এমএস থেকে আসা কেউ এটি দেখতে পেয়ে উত্তর দিতে পারে এবং তারপরে এটি সাইটে দুর্দান্ত সংযোজন। ইতিবাচক কিছু দেখার চেষ্টা করার আগে দয়া করে কোনও প্রশ্ন সম্পর্কে সম্ভাব্য নেতিবাচক কিছু সন্ধান বন্ধ করুন।
টিম পোস্ট

উত্তর:


22

ভিসুয়াল সি ++ refactoring এক্সটেনশন প্রকল্পের ব্যাপী সদস্য নামান্তর করতে সক্ষম হয়। এটি এমএস দ্বারা নির্মিত তবে স্পষ্টতই তারা এটি অর্জনের জন্য অভ্যন্তরীণ কোড ডিওএম ব্যবহার করেছিল। সুতরাং এটি সম্ভব, আমি ঠিক জানি না, এখনও কীভাবে।

CppLister এক্সটেনশনটি একটি বর্গ মধ্যে বিভিন্ন সদস্যদের তালিকা থেকে বনাম দ্বারা নির্মিত intellisense ডাটাবেস পড়তে সক্ষম হয়।

আপনি সর্বদা ওপেন সোর্স কলং সি ++ পার্সার (আসলে সংকলক) ব্যবহার করতে পারেন এবং A # অবজেক্ট মডেলটিতে এটিএসটি পড়তে পারেন। C # বাঁধার জন্য বাঁধা জন্য CppSharp এবং ClangSharp দেখুন ।


8

আমি নিশ্চিত না যে "সি ++ কোড ডোম" কী, এমনকি যদি এটি বিদ্যমান থাকে। যে বিষয়টি গুরুত্বপূর্ণ তা হ'ল এমএসভিএস এমডিভিএস আইডিই ক্রিয়াকলাপ সমর্থন করার জন্য, ইডিজি ফ্রন্ট এন্ডটি এমএসভিএস আইডিই ক্রিয়াকলাপকে সমর্থন করার জন্য, চিহ্নগুলি পার্স করার জন্য এবং চিহ্নগুলির অর্থ নির্ধারণের জন্য ব্যবহার করছে। ইডিজি আইআইআরসি প্রোগ্রামটি উপস্থাপন করে নিজস্ব অভ্যন্তরীণ ডেটা স্ট্রাকচার তৈরি করে; এই ডেটা স্ট্রাকচারগুলি হ'ল "সি ++ কোড ডিওএম", বা এগুলি আপনার কাছে দৃশ্যমান বা আপনি এমএসডিএন এ সেগুলি সম্পর্কে জানতে সক্ষম হবেন এমন বিশ্বাস করার কোনও কারণ নেই।

আপনার আসল সমস্যাটি হ'ল আপনি সি ++ উত্স কোডটি বিশ্লেষণ করতে চান। আমি সম্মত, ইডিজির সামনের শেষের তথ্যটি করা এটি একটি গুরুত্বপূর্ণ সহায়তা হবে; আপনি সত্যিই সত্যিই আপনার নিজের সি ++ পার্সার লেখার প্রয়াস চাই না (এবং আপনি পার্স গত উপাদান প্রচুর প্রয়োজন, "পার্স পরের জীবন" এ আমার প্রবন্ধ google)।

সুতরাং আপনার ধরণের নিম্নলিখিত পছন্দগুলি রয়েছে:

  • এমএসভিএসে ইডিজি যন্ত্রপাতিটিতে একটি দরজা সন্ধান করুন। যেহেতু আপনার ভাগ্য বেশি ছিল না এবং এমএস থেকে প্রাপ্ত এমন কোনও ডকুমেন্ট নেই যা এটি উপলব্ধ বলে মনে হচ্ছে, সম্ভবত আপনার ভাগ্য এইভাবে পাবে না। আমি যদি এমএসের জুতোতে থাকতাম তবে আমি এটি সর্বজনীন করতাম না; এটি কেবলমাত্র অন্য একটি সমর্থন মাথা ব্যথা এবং এমন এক সফটওয়্যার হবে যা এমনকি তাদের নয়।
  • থেকে সরাসরি, বাণিজ্যিক EDG সামনে শেষ ব্যবহার করুন EDG । আমার বোধগম্যতা হল তারা বিনা ব্যয়ে পৃথক ব্যবহারের লাইসেন্স দেয়। (আমার বুঝতে ভুল হতে পারে)। এমএসের অ্যাক্সেসে থাকা যে কোনও বিধিনিষেধ আপনি এড়িয়ে চলেছেন ... ইডিজি ফ্রন্টটি নিজেই কনফিগার করার দামে। একটি নেতিবাচক দিক: ইডিজি কোনও বিশ্লেষকের সম্মুখ প্রান্ত নয়, একটি সংকলকের সামনের প্রান্ত হতে চায়। এই পার্থক্যটি সূক্ষ্ম মনে হতে পারে তবে এটি সম্ভবত আপনাকে কামড় দেবে। উদাহরণস্বরূপ, আমি সন্দেহ করি যে ইডিজি মন্তব্যগুলি ছুঁড়ে ফেলেছে; সংকলক সম্মুখ প্রান্ত তাদের প্রয়োজন হয় না। আপনি যদি নিজের বিশ্লেষকের মন্তব্যগুলি পর্যবেক্ষণ করতে চান তবে এটি একটি আসল সমস্যা হতে পারে।
  • কলঙ্ক ব্যবহার করুন । এটি একটি ওপেন সোর্স সি ++ পার্সার, যা বিভিন্ন ধরণের প্রোগ্রাম বিশ্লেষণ উদ্দেশ্যে এবং সামনে সি ++ কম্পাইলার সমাপ্তির জন্য ব্যবহার করার জন্য ডিজাইন করা হয়েছে। এটির সাথে আমার কোনও অভিজ্ঞতা নেই তবে এটি বেশ ভালভাবে চিন্তা করা বলে মনে হচ্ছে এবং এটি প্রচুর সুবিধাদি সরবরাহ করে বলে মনে হচ্ছে। আমি জানি না এটিতে সি ++ এর এমএস উপভাষার জন্য নির্দিষ্ট সমর্থন আছে কিনা।
  • আর একটি বাণিজ্যিক ফ্রন্ট এন্ড, আমাদের (ডিএমএস) সি ++ ফ্রন্ট এন্ড ব্যবহার করুন। এর স্থপতি হওয়ার কারণে আমি নিশ্চিত যে এটি ভালভাবে বিবেচিত হয়েছে (এমএস ভিজ্যুয়াল সি ++ এর জন্য সমর্থন সহ); জটিল সি ++ বিশ্লেষণ এবং রূপান্তর কার্য সম্পাদন করতে এটির ব্যবহারের নির্দিষ্ট অভিজ্ঞতা রয়েছে। ইডিজির বিপরীতে, এটি বিশ্লেষণ, রূপান্তর এবং প্রজন্মকে সমর্থন করার জন্য ডিজাইন করা হয়েছে (উদাহরণস্বরূপ, এটি মন্তব্যগুলি এমনকি আক্ষরিকের মূলগুলিও ক্যাপচার করে যাতে তারা সঠিকভাবে পুনরায় জেনারেট হতে পারে)। ফাউন্ডেশন, ডিএমএসে কাস্টম বিশ্লেষণকে সমর্থন করার জন্য প্রচুর পরিমাণে যন্ত্রপাতি নির্মিত হয়েছে: এএসটি এবং প্রতীক টেবিল নির্মাণ, বৈশিষ্ট্য ব্যাকরণ, ডেটা ফ্লো ফ্রেমওয়ার্ক, এএসটি স্তরে ইনট্রোপ্রসিডেরাল নিয়ন্ত্রণ এবং ডেটা ফ্লো বিশ্লেষণ, বিডিডি ম্যানেজমেন্ট, সোর্স প্যাটার্ন ম্যাচ, উত্স থেকে -সোর্স রূপান্তর। ঝনঝন এবং ইডিজি এএসটি এবং প্রতীক টেবিল নির্মাণের প্রস্তাব দেয়; ঝনঝন (তবে আমি মনে করি না যে EDG) এর প্রবাহ বিশ্লেষণ (এলএলভিএম স্তরে) রয়েছে, তবে এএসটি স্তরে (এএফআইকে) প্রবাহ বিশ্লেষণ নয়। ক্ল্যাং বা ইডিজি উভয়ই উত্সের প্যাটার্ন / ট্রান্সফর্মেশন সক্ষমতা সরবরাহ করে না, তাই এটি আপনার দীর্ঘমেয়াদী কাজের উপর নির্ভর করে। অন্যান্য বিকল্পের তুলনায়, আমাদের সি ++ সামনের প্রান্তটি মুক্ত উত্স বা বিনামূল্যে নয়; এক গবেষণা লাইসেন্স পেতে পারেন।

4
"ডিওএম" হ'ল এইচটিএমএল - স্পট মূলত একটি এএসটি-র জন্য। এটি ধরে নিয়েছে যে একটি আধ্যাত্মিক বাক্য গঠন রয়েছে, যদিও সি ++ সংকলক সাধারণত কিছুটা আলাদা সিনট্যাক্স ব্যবহার করেন। (যেমন আরও ভাল ত্রুটি বার্তা তৈরি করতে))।
এমসাল্টারস

4
সি # তে ডোম মানে কোড উত্পন্নকরণের জন্য ব্যবহৃত "খারাপ রেজোলিউশন সহ এএসটি"। আপনি সি # ডোম অফার ধরণের রেজোলিউশন সহ সি ++ প্রোগ্রামগুলি বাস্তবসম্মতভাবে বিশ্লেষণ করতে পারবেন না।
ইরা

দেখুন inevitablesoftware.com/Products.aspx কি একটি ভাল C # এর codedom অফার জন্য
রবিন Rodricks

@ জিওগারেট: এবং একটি সি # ডোম এই প্রশ্নের সাথে কী করবে?
ইরা

@ ইরাক্যাক্সটার - আমি যখন "কোড ডিওএম" বলি তখন আমি কী খুঁজছি - অনেক লোক মন্তব্য করেছেন যে তারা কোড ডিওএম কী এবং তারা / বা জেএসএইচটিএমএল ডোমকে বিভ্রান্ত করে তা তারা বুঝতে পারে না। অবশ্যই আমি সি ++ বিশেষজ্ঞ নই (যেমনটি আমি আগেই বলেছি) তাই আমি জানি না যে সি ++ কোড ডোমটিতে কী প্রয়োজন হতে পারে, যদিও আমি বুঝতে পারি যে ইনিভেটেবলসফটওয়্যার একটি খুব সহজ এবং সহজ কোড ডওম সরবরাহ করে এবং আমি আমি একই জাতীয় এপিআই সহ সি ++ কোড ডিওএম খুঁজছি।
রবিন রড্রিক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.