تحليل :: Eyapph.

تحليل :: وحدة EYAPP تحتوي على ملحقات لتحليل :: YAPP.
التحميل الان

تحليل :: Eyapph. الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Casiano Rodriguez-Leon
  • موقع ويب الناشر:
  • http://search.cpan.org/~casiano/Parse-Eyapp-1.110/lib/Parse/Eyapp.pod

تحليل :: Eyapph. العلامات


تحليل :: Eyapph. وصف

تحليل :: وحدة Eyapp يحتوي على ملحقات لتحليل :: YAPP. تحليل :: وحدة Eyapp يحتوي على ملحقات لتحليل :: Yapp.Synopsis الاستخدام الصارم؛ استخدم تحليل :: Eyapp؛ استخدم تحليل :: EYAPP :: TREREGEXP؛ Terminal Terminal :: معلومات {$ _ {ATM}} My Grammar $ $ grammar = q { right '=' # أدنى الأسبقية اليسار "- '+' # + و - لديك أسبقية أكثر من = AB) -C اليسار '*' '/' # * و / لديك أسبقية أكثر من + Disambiggual A / B / C AS (A / B) / C DITE NEG # Disambiggigg -ab -ab كما (-a) -B ليس كما - (AB) Tree # دعونا نبني شجرة بناء جملة مجردة ... Line: exp {$ _ } / * قائمة التعبيرات المنفصلة "؛" * /؛ / * يحدد توجيه النسبة اسم الفصل الذي يتم بناء العقدة التي تم بناؤها * / إكسب: Name Num Num | اسم var var | اسم تعيين var '=' exp | اسم Plus Exp '+' Exp | ناقص إكسب '-' إكسب | اسم الأوقات exp '*' إكسب | اسم div exp '/' exp | اسم UMINUS '-' exp prep neg | '(إكسب') '{$ _ } / * دعونا تبسيط الشجرة قليلا * /؛ sub _Error {die 'syntax خطأ بالقرب من ". ($ _ -> yycurval؟ $ _ -> yycurval:" نهاية الملف ")." N "} Sub _ = التحول # كائن المحلل ل ($ parser-> yydata -> {input}) {# topicalize m {gs +} gc؛ $ _ eq '' والعودة (''، undef)؛ م {g ( + (؟:. +)؟)} GC والعودة ('الأسطوانات، 1 دولار)؛ m {g ( *)} gc والعودة ('var'، $ 1)؛ M {g (.)} GCS والعودة ($ 1، 1 دولار)؛ }} Sub Run {My (Self) = Shift؛ $ الذاتي> yyparse (yylex => _lexer، yyerror => _Error،)؛ }}؛ # نهاية القواعد لدينا (جميع، uminus $)؛ تحليل :: EYAPP-> NEW_GRAMMAR (# إنشاء حزمة محلل / إدخال الفئة => $ grammar، classname => 'alc' لتشخيص الأخطاء))؛ بلدي parser $ = calc-> جديد ()؛ # إنشاء محلل محلل محلل -> yydata -> {input} = "2 * -3 + b * 0؛ - 2n"؛ # تعيين الإدخال بلدي $ t = $ parser-> تشغيل؛ # تحليلها! التحليل المحلي :: Eyapp :: Node :: indent = 2؛ طباعة "شجرة بناء الجملة:"، $ t-> str؛ # دعونا نتحول الشجرة. تحديد التعبيرات العادية الشجرة .. My $ p = parse :: eyappy :: treregexp-> جديد (string => q {{# مثال على رمز الدعم بلدي op = (Plus => '+'، ناقص => ' - '، مرات =>' * '، div =>' / ')؛} constantfold: / times | زائد | div | ناقص /: bin (num ($ x)، num ($ y)) => {بلدي $ OP = $ OP {REF ($ BIN)}؛ $ x -> {ATM} = Eval "$ x -> {ATM} $ op $ y -> {ATM}"؛ $ _ = $ Num ]؛} UMINUS: UMINUS: UMINUS (NUM ($ X)) => {$ x -> {ATM} = - $ x -> {ATM}؛ $ _ = $ num}} zTimes_Whath_Whatever: Times (Num ($ x )،.) و {$ x -> {attr} == 0} => {$ _ = $ num} asy_times_zero: times (.، num ($ x)) و {$ x -> {ATM} == 0} => {$ _ = $ num}}، outdoxfile => 'main.pm')؛ P-> توليد ()؛ # إنشاء Tranformations $ t-> s (uminus $)؛ # تحويل العقد Uminus $ t-> s (all)؛ # قابلة للطي ثابتة وغيرها. بواسطة Zero Local $ Parse :: EyApp :: Node :: indent = 0؛ طباعة "شجرة nsyntax بعد التحويلات: n"، $ t-> str، "n"؛ المتطلبات: متطلبات بيرل: perl.


تحليل :: Eyapph. برامج ذات صلة

SDL_Sound.

sdl_sound هي مكتبة تعالج فك تشفير العديد من تنسيقات ملفات الصوت الشائعة، مثل .wav و .mp3. ...

163

تحميل

dataface.

مشروع Dataface يجعل تطوير تطبيقات الويب مع PHP و MySQL نسيم. ...

164

تحميل