Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Like
0Likes
Dislike

Using PDL for Code Design and Documentation

By Drew Sikora | Published Jun 13 2001 10:05 AM in General Programming

pdl code language article read comment english time
If you find this article contains errors or problems rendering it unreadable (missing images or files, mangled code, improper text formatting, etc) please contact the editor so corrections can be made. Thank you for helping us improve this resource

Introduction

After much procrastination, I finally got around to purchasing Code Complete at my local Barnes & Noble (gotta love that store...). Of course, in my usual habit of digesting about 4-5 computer books at once, I've only read about 125 pages. Anyway I was cruising through Section 4 on building routines when I came across something called PDL. Reading further I was amazed that someone had actually taken this technique and named it for professional use. We'll get to what PDL is in a moment, but first a little background.

Before this article I also wrote The Art of Code Documentation, which, I can't help but say, got rave reviews including an email from a guy at LithTech saying how they needed more people who followed these rules in the industry. If you read this article and disagree, please, please email me and let me know why. This includes all my other articles. I am extremely open to criticism and have a separate email account for my articles, so don't be afraid to clutter up my inbox. Anyway in this article I laid down the basics of how to comment and then document your code so others could read it. The best part about this article is (I think) the fact that it was from experience only, rather than a take-off of a section of a book, like this is. I highly suggest you read it first - I won't directly reference anything from it, but I will assume you know, are familiar with, and accept common documenting practices.

Now that we are all ready, let's begin!


What is PDL?

What is PDL? Well that's a reasonable enough question. I sure as hell had no idea what PDL was when I first started reading about it. In fact, the meaning of its name can be quite misleading. PDL stands for Program Design Language. Now you may notice how short this article is if you glance to the menu on the right. Obviously you can assume that PDL really isn't a full-fledged language with it's own functions and variables and such - no way could I teach it in such a simple lesson. There is a reference you can make to PDL - it is a common coding technique where you write out code in plain English, known as pseudocode, or fake code (literally). That's exactly what PDL is.

When we talk about high-level languages, we talk about languages where the instructions you type represent English (as an example) more and more. Believe it or not, but QBasic is a higher-level language than C++! In case you don't understand this, I'll sidetrack just a bit to make sure everyone is clear. When we reference languages in terms of levels, the reference is the English language. The closer the code comes to looking like English, the "higher" up it is. If we were to compare ways to print a word on the screen in C++ and QBasic, you'll realize why QBasic is a higher language than C++:

C++ - cout << "hello world" << endl;

QBasic - PRINT "hello world"

You tell me which is the higher level language. Obviously PRINT is much, much closer to the English word (okay, so it's exact) than cout is. To be official, the ratio of high-level-language statements to equivilent assembly code in QBasic is 1:5, while in C++ it's only 1:2.5

Okay, enough delineating - back to the main topic. So as I was saying, PDL is the highest-level language you will ever see until they conceive computers that can interpret human speech as code. When you code in PDL, you are coding in plain English (or whatever language you use) and not one single bit of computer code. In fact, this ambiguity let's you code PDL and then use it to construct a routine in any computer language since you never used a peice of language specific code. Wonderful! But how the hell is all this supposed to help you? Nothing could ever run it! Be patient, I haven't instructed you on how to use it yet, have I?


Using PDL Correctly

Like anything else in this freakish world, PDL can be easily abused. How sad. But to avoid this tragedy I'll cue you in on what to do and what not to do. Let's kick off this section by dumping you with an example of using PDL, then I'll break it down for you to understand, pointing out do's and dont's along the way. Shall we?

Here's a little exercise - look at examples A and B and see if you can discern which PDL code is correct and which is not.

Example A

Lock the drawing surface to prevent access by other programs and check for errors.
Get mem_pitch of the surface using (int)ddsd.lPitch.
Get *video_buffer to draw to using ddsd.lpSurface.

if pixel_mode == random then

    Create three random values for x, y and color.
else if pixel_mode == linear then
    Increment x value by 1.
    Create a random value for color.

end if
video_buffer[x+y*mempitch] = color

Unlock the surface and check for errors.
return 1


Example B

Prevent the drawing surface from being accessed by other programs while we draw.
Retrieve the memory pitch of the surface memory so we do not draw out of bounds.
Retrieve the location of the surface so that we can draw to it successfully.
If the pixel mode is set to random
    Create three random values that we can assign to the x, y and color attributes of the pixel.

Else if the pixel mode is set to linear
    Update the horizontal position of the pixel.
    Create a random value for the color of the pixel.

End If
Plot the pixel on the screen.

Release the surface for general use once again.
Return TRUE that the pixel was plotted.

Obviously the above two code examples document the plotting of a pixel on the screen. I chose this for an example because it is a basic task a lot of you should be familiar with. Now, were you able to figure out which was the bad PDL and which was the good? If not go back and read the end of the first section again, where I clue you in on a few of things that you should not find in PDL. Even still, I think I made the distinction rather obvious.

The answer is Example B. Surprised? I hope not. Example A could not possibly fit my current description of PDL in any way whatsoever. I specifically pointed out how PDL is considered a high-level language, and some of the lines in Example A are anything but. Here are some of the things that make Example A a PDL nightmare:
  • Although you may not realize it, the term "Lock a surface" can easily be attributed to DirectX and its Lock() function. The same applies to the term Unlock. Since we want our PDL to be as ambiguous as possible, Example B cleans this up by using the terms prevent and release. Anyone who wants to argue that release is also DirectX specific will break their noses running into a brick wall - in this context, release does not describe the freeing of COM components.
  • Direct reference to variable names in Example A is also a no-no. And following close behind them are direct code examples! Ack! Once again ambiguity must reign supreme, and there's no way you can use that code in Visual Basic or any other language.
  • Also present is the reference to a language-specific feature - the C pointer. This immediately kills any sense of ambiguity since all other language options for writing this routine fall out.
  • Then we have another direct code example for plotting the pixel, again unacceptable.
  • Finally we have the ending "return 0". Another language-limiting statement, and one that explains absolutely nothing of its true purpose.
After going through above points, and comparing them to Example B, you'll fully understand what PDL should look like. If you really think about it, you could code the pixel-plotting routine in any language capable of handling the task. Wonderful! Notice how the routine is nothing but English - nor variable names, no comparison signs, no code whatsoever. Of course, this brings us to a final point about good PDL use.

It's very easy to go overboard when writing in PDL. You may get a bit too descriptive and realize that coding what you wrote may be a nightmare! Therefore writing PDL can be considered an iterative process. Write it once, then start to break it down as far as you can go without quite reaching code level and while maintaining the basic rules of PDL.


PDL Uses

Part 1: Routine Review

Now that we know how to construct PDL routines correctly, we can learn how best to use them. One of their uses is routine review. Project managers and lead programmers don't like to waste time going over endless lines of code to learn whether or not the routine does what they want it to, or what it's spec'd out to do. Consider how much easier it would be for a lead to be able to read through PDL and decide whether the programmer is on the right track. Of course this won't catch programming flaws, but programming flaws can be avoiding by finding design flaws - so it's all good.

On top of that is the ease of which you can modify PDL - anybody can do it! People who don't know jack about coding but are seasoned designers can easily change the wordings of a routine to better match specification. This is the cheapest and most effective way to change a program architecture. Think of how hard it would be to have to rip out a few lines of code that could easily constitute only one line of PDL. Saving money is always a good thing, and PDL can help you do that.

Part 2: Code Documentation

Ahh, here we go - the reason I decided to write this whole article in the first place. I think another acceptable translation of PDL would be Program Documenting Language. Why? Easy - check out what I did with Example B.

// Prevent the drawing surface from being accessed by other programs while we draw.
lpdds7->Lock(NULL, &ddsd, DDLFLAGS, NULL);

// Retrieve the memory pitch of the surface memory so we do not draw out of bounds.
int mempitch = (int)ddsd.lPitch;

// Retrieve the location of the surface so that we can draw to it successfully.
UCHAR *video_buffer    = (UCHAR *)ddsd.lpSurface;

// If the pixel mode is set to random
if (pixel_mode == RANDOM) {
    // Create three random values that we can assign to the x, y and color attributes of the pixel.
    UCHAR color    = rand()%256;
    int x   	 = rand()%800;
    int y   	 = rand()%600;
}
//Else if the pixel mode is set to linear
else if (pixel_mode == LINEAR) {
    // Update the horizontal position of the pixel.
    pixel_x++;

    // Create a random value for the color of the pixel.
    UCHAR color    = rand()%256;
} // End If

// Plot the pixel on the screen.
video_buffer[x+y*mempitch] = color;

// Release the surface for general use once again.
lpdds7->Unlock(NULL);

// Return TRUE that the pixel was plotted.
return 1;

Check that out. In all my past experiences I've always coded first, commented second. Who'd ever thought the other way around was better? Obviously somebody did. What an easy way to code and comment at the same time. For all you people against taking the time to comment you code (you'd be surprised how many people actually hate to comment, check out this thread for proof), this is the excuse that you need. You don't even have to think of it as commenting, just write out the routine in PDL to get the architecture and implementation straight, then just code it and don't delete the PDL, because it turns right into comments!


Conclusion

Well that's about it. PDL, as you can see, is a tool than belongs in any designer's and coder's toolbox. I'm sure glad I stumbled upon it, because it's streamlined my coding a lot. Writing out a whole routine in PDL and then just adding the code after perfecting it has saved me countless hours. I hope I did a good job explaining to you the correct way to use PDL to save you time and effort. Any questions and/or comments can be directed to drew@gamedev.net - I'd love to hear from you. Until next time...





Comments

From coach outlet,coach factory,coach factory outlet,coach outlet store,coach outlet store online,coach factory online,coach factory outlet online,coach outlet online satellite photos speculate louboutin,louboutin outlet,louboutin outlet italia that the test device is about 120-150 meters long, about 80 abercrombie and fitch,abercrombie,abercrombie and fitch UK meters long electromagnetic rail, tory burch outlet,tory burch,tory burch handbags,tory burch shoes,tory burch sale,toryburch,tory burch sandals,toryburch.com,tory burch flip flops able to build such a large scale polo ralph lauren outlet online,ralph lauren,polo ralph,polo ralph lauren,ralph lauren outlet,polo shirts,ralph lauren outlet online,polo ralph lauren outlet,ralphlauren.com,polo outlet,ralph lauren polo experimental vans shoes,vans outlet,vans store,star wars vans shoes,cheap vans,vans shoes outlet,white vans,black vans,red vans,vans star wars,vans sneakers,vans shoes outlet store,vans sale,cheap vans shoes facilities "proves that China has been fully validated and mastered a large linear induction motors, advanced energy storage devices vans,vans scarpe,vans italia forced burberry outlet online,burberry,burberry outlet,burberry handbags,burberry factory outlet,burberry sale and air force,nike air force,air force 1,air force one,nike air force 1,nike air force one,air force one nike high-performance pulse generator key prada outlet,prada,prada handbags,prada sunglasses,prada shoes,prada bags technologies such as electromagnetic catapults. "Compared to the steam catapult, the advantages of electromagnetic catapult michael kors,michael kors canada,michael kors outlet,michael kors outlet canada is comprehensive, first accelerating force michael kors handbags,michael kors outlet,michael kors outlet online,michael kors,kors outlet,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors uniform and controllable. "Nimitz" when C-13-1-type steam catapults louis vuitton outlet,louis vuitton outlet online,louis vuitton,louisvuitton.com,authentic louis vuitton,louis vuitton factory outlet,cheap louis vuitton on the emission oakley sunglasses,cheap oakley sunglasses,oakley sunglasses cheap,oakley vault,oakleys,oakley.com,sunglasses outlet,cheap oakley,oakley outlet,cheap sunglasses,oakley prescription glasses,fake oakleys,oakley sunglasses outlet,oakley glasses,oakley store,fake oakley,oakley sale,cheap oakleys,discount oakley sunglasses level can birkin bag,hermes belt,hermes handbags,hermes birkin,hermes bags,birkin bags reach the maximum overload 6g, while the average acceleration of the kate spade handbags,kate spade,kate spade outlet,katespade whole trip nike air max,air max,air max pas cher,air max one,air max 90,air max france is just a little more than 2g. F / A-18 fighter pilots often ridicule C-13-1 in the rear section catapult air max,nike air max themselves often do not have the louis vuitton,borse louis vuitton,louis vuitton sito ufficiale,louis vuitton outlet aircraft engine longchamp,longchamp bags,longchamp uk acceleration "to force." With the speed and cylinder volume increases, the vast majority of the expansion of chi flat iron,chi hair the superheated steam for steam energy to accelerate and promote themselves, and gas expansion increased hollister,hollister uk,abercrombie,abercrombie fitch,abercrombie and fitch the proportion of steam required increase in volume after the establishment party relationships. Steam catapult length and cylinder volume almost reached its limit, until the end of the ejection stroke, steam basically only accelerated piston aircraft little help.Electromagnetic catapult launch thrust segment is not the kind of sudden explosive impact of steam, air max,nike air max,air max 90,nike air max 90,air max 1 the peak air jordan,jordan pas cher,air jordan pas cher,nike air jordan,air jordan france overload can nfl jerseys,jerseys,baseball jerseys,cheap jerseys,nba jerseys,hockey jerseys,basketball jerseys,jerseys from china,cheap nfl jerseys be reduced from 6g to 3g, which polo ralph lauren outlet,ralph lauren,polo ralph,polo ralph lauren,ralph lauren outlet,polo shirts,ralph lauren outlet online,polo ralph lauren outlet online,ralphlauren.com,polo outlet,ralph lauren polo will not only help toms outlet to extend ray ban,rayban,occhiali ray ban the life of the herve leger,herve leger dresses aircraft, the pilot's body to feel is a good improvement. In addition, since the electromagnetic sac longchamp,longchamp,longchamps,longchamp pas cher,sac longchamp pas cher,longchamp pliage,longchamp soldes,sac longchamps,longchamp france catapult launch acceleration and length does not matter, in addition to being the aerodynamic drag and friction affect, louboutin,christian louboutin,red bottom shoes,louboutin shoes,red bottoms,louboutin outlet,christian louboutin shoes,christian louboutin outlet,red bottom shoes for women,louboutins the catapult into the iphone 6 cases,iphone 6 case,iphone 5c cases,iphone 5s cases,iphone cases,iphone case,iphone 5 cases,iphone 4s cases,iphone 4 cases,ipad cases,ipad mini cases,ipad air cases,galaxy s5 cases,galaxy s4 cases,phone cases early part of the last paragraph of the basic acceleration will not fluctuate too much, which is a gradual decline over the steam catapult more and more efficiency. According to calculations, the average acceleration of the same, electromagnetic catapults than nike free,nike free run,free running,free run,nike running steam catapults make aircraft more than 8-15% load. hogan,hogan outlet,scarpe hogan,hogan sito ufficiale,hogan interactive When the ejection of different weights, different models takeoff speed, electromagnetic catapult catapult also flexible and accurate converse pas cher,converse control of ralph lauren,ralph lauren uk,ralph lauren outlet,polo ralph lauren outlet energy through the computer.Electromagnetic catapult ejection hollister,hollister canada,abercrombie and fitch,abercrombie,abercrombie and,abercrombie kids,af efficiency is easton bats also higher than the steam michael kors outlet online,michael kors,kors outlet,michael kors outlet,michael kors handbags,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors catapult, to enhance the nike huarache,nike huaraches,nike air huarache sense that major combat aircraft, such as christian louboutin shoes,louboutin shoes,louboutin outlet,louboutin,christian louboutin,red bottom shoes,red bottoms,christian louboutin outlet,red bottom shoes for women,louboutins the use vanessa bruno,sac vanessa bruno,vanessa bruno sac,vanessa bruno pas cher,cabas vanessa bruno,sac vanessa bruno en solde,sac vanessa bruno pas cher of electromagnetic catapult aircraft carrier-based Sunrise Ford momentum true religion from "Nimitz" coach outlet,coach factory outlet,coach outlet store,coach factory,coach outlet store online,coach factory online,coach factory outlet online,coach outlet online class of 120 jimmy choo,jimmy choo shoes,jimmy choo outlet,jimmy choo handbags sorties to 160 sorties: new balance shoes,new balance,balance shoes,new balance outlet,new balance store,new balance store locator,new balance shoes for women,joe's new balance outlet,newbalance,newbalance.com,new balance walking shoes Sunrise peak momentum from the air max,nike air max,air max 2015,nike air max 2015,air max 90,airmax,air max 95,nike air max 90 original 220-240 vehicles to 270 vehicles. At the same time, the hollister,abercrombie absence of pandora jewelry,pandora charms,pandora bracelet,pandora bracelets,pandora rings,pandora jewelry store locator,pandora charm,pandora charms clearance,pandora store,pandora jewelry outlet store,pandora jewelry sale online a large cylinder, the volume of the electromagnetic catapult is relatively michael kors outlet,michael kors outlet online,michael kors,kors outlet,michael kors handbags,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors small, supra shoes very beneficial to the swarovski uk "Liaoning" class platform installation.In recent years, China's electronic technology valentino shoes,valentino,valentinos weaponry rapid progress. By 2020 there converse,scarpe converse,converse italia,converse sito ufficiale,converse all star six years, Ma Weiming nike trainers,nike trainers uk academician and his beats by dre,dr dre,beats headphones,dre beats,beats by dr,beats by dr dre,beats audio,dr dre beats,dre headphones,beats by dre headphones,beats by dr. dre,cheap beats research team there kate spade outlet,kate spade,katespade,kate spade handbags is still time, the oakley,occhiali oakley,oakley italia Chinese navy as a steam catapult can cross this threshold, so the first one sac louis vuitton,louis vuitton,louis vuitton pas cher,sac louis vuitton pas cher,louis vuitton france domestic carrier mounted montre pas cher directly on 2-3 sets of electromagnetic catapults, "Liaoning "saturation volume level karen millen dresses on the 2nd carrier longchamp,longchamp handbags,longchamp outlet,longchamp bags,long champ aircraft ship will likely rise to around 65, the amount of actual service burberry outlet online,burberry outlet,burberry,burberry handbags,burberry factory outlet,burberry sale carrier aircraft louis vuitton,louis vuitton bags,louis vuitton handbags,louis vuitton uk can reach the size of 55, plus three times now mulberry,mulberry handbags,mulberry outlet,mulberry bags,mulberry uk and can be loaded oakley sunglasses,oakley vault,oakley sunglasses cheap,oakleys,oakley.com,sunglasses outlet,cheap oakley,cheap oakley sunglasses,oakley outlet,cheap sunglasses,oakley prescription glasses,fake oakleys,oakley sunglasses outlet,oakley glasses,oakley store,fake oakley,oakley sale,cheap oakleys,discount oakley sunglasses with petrol bombs attendance combat new michael kors outlet store,michael kors outlet,michael kors outlet online,michael kors,kors outlet,michael kors handbags,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors carrier machine. Ship "new wine in old bottles" operational capability hollister,abercrombie,hollister sito ufficiale,abercrombie italia,abercrombie and fitch,abercrombie outlet of the aircraft carrier is expected to rolex watches,replica watches,omega watches,rolex watches for sale,replica watches uk,fake rolex reach "Forrester" class and the "Kitty Hawk" grade level.Nuclear fantasy and realityIf the "Liaoning" on the 2nd class destroyers finally tiffany and co jewelry,tiffany and co outlet,tiffany and co,tiffany's,tiffanys,tiffany co,tiffany jewelry adopted electromagnetic catapult, you bottega veneta,bottega,bottega veneta outlet must do the appropriate upgrade rolex watches,rolex,watches for men,watches for women,omega watches,replica watches,rolex watches for sale,rolex replica,rolex watch,cartier watches,rolex submariner,fake rolex,rolex replica watches,replica rolex its power systems, electromagnetic catapults need strong power protection, vans,vans pas cher,vans soldes especially louboutin outlet,louboutin,christian louboutin,red bottom shoes,louboutin shoes,red bottoms,christian louboutin shoes,christian louboutin outlet,red bottom shoes for women,louboutins in high-voltage power supply capacity of the instantaneous ejection time, which is probably "Liaoning" No existing power system can not provide."Admiral Kuznetsov" was thomas sabo uk adopted four TB-12 true religion steam turbine and eight supercharged boiler. TB-12's predecessor is TB-8, and TB-8 is just the louboutin,chaussure louboutin,louboutin pas cher,chaussures louboutin,chaussure louboutin pas cher,louboutin france domestic 051 destroyers host Domestic Model 453 type air max,nike air max,air max pas cher,air max one,air max 90,air max france steam turbine. TB-8 coach purses,coach handbags,coach bags power is 36,000 horsepower, 051 destroyers then adopted two sets of TB-8 steam turbine speed was 38 knots, power TB-12 increased to 45,000 horsepower. In addition, China converse shoes,converse,converse.com,converse sneakers,converse outlet introduced the "modern" GTZA-674 type steam turbine installed on class instyler ionic styler,instyler destroyer is improved longchamp handbags,longchamp,longchamp outlet,longchamp bags,long champ TB-12's.TB-8 from the mcm handbags,mcm bags,mcm backpack,mcm outlet TB-12 and michael kors outlet online sale,michael kors,kors outlet,michael kors outlet,michael kors handbags,michael kors outlet online,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors then GTZA-674, China in the series steam turbine has accumulated a wealth of technology, use and maintenance experience. If the steam timberland outlet turbine on "Liaoning" was used for the localization model, I believe, at least up to the level of GTZA-674, michael kors,sac michael kors,michael kors pas cher,sac michael kors pas cher,michael kors france with louis vuitton,louis vuitton canada,louis vuitton outlet,louis vuitton outlet online a coach outlet store online,coach outlet store,coach outlet total output power of north face,the north face,north face uk,north face jackets,north face outlet,northface four steam turbines for 200,000 horsepower. The power tiffany and co jewelry,tiffany and co outlet,tiffany and co,tiffany's,tiffanys,tiffany co,tiffany jewelry system maintains no catapult "Liaoning" No high speed sailing is no problem, but if it is using a new electromagnetic catapult aircraft on some stretched up. "Ford" was only four electromagnetic catapult while charging it takes about north face jackets,north face,the north face,northface,north face outlet,north face jackets clearance,the north face outlet 200,000 horsepower, if the "Liaoning" on the 2nd class destroyers to install ray ban sunglasses outlet,ray ban sunglasses,ray ban,rayban,ray bans,ray ban outlet,ray-ban,raybans,ray ban wayfarer,ray-ban sunglasses,raybans.com,rayban sunglasses,cheap ray ban three links of london uk sets of the same power sac guess,guess pas cher,guess,guess collection,sac a main guess of the electromagnetic catapult, the required electrical energy that is over 16,000 horsepower; hollister taking into steam turbine power generation process in about 50% of energy nike air max,air max,air max 2015,nike air max 2015,air max 90,airmax,air max 95,nike air max 90 consumption, only lululemon outlet,lululemon,yoga pants,lulu lemon,lulu.com,lululemon.com three catapult babyliss pro,babyliss maximum prada handbags,prada,prada sunglasses,prada shoes,prada outlet,prada bags required lancel power accounted for about 16% of the total power of the ship, which is bound to gucci outlet,gucci handbags,gucci belts,gucci shoes,gucci,gucci belt,gucci sunglasses,gucci bags,cheap gucci seriously ghd,ghd hair,ghd hair straighteners,ghd straighteners affect the use of aircraft speed and lacoste,polo lacoste,lacoste pas cher,lacoste.fr,lacoste soldes,survetement lacoste other electrical equipment.More insanity,insanity workout,insanity workout calendar,insanity calendar,insanity workout schedule vigilance is needed, longchamp outlet,longchamp,longchamp handbags,longchamp bags,long champ whether it is "Admiral Kuznetsov" was still in India, "Vic Rama Tia" No, they are installed roshe run,nike roshe,roshe runs,nike roshe run,nike roshes TB-12 ray ban sunglasses,ray ban sunglasses outlet,ray ban,rayban,ray bans,ray ban outlet,ray-ban,raybans,ray ban wayfarer,ray-ban sunglasses,raybans.com,rayban sunglasses,cheap ray ban steam turbine and auxiliary boilers occurred many times in the course of giuseppe zanotti,giuseppe zanotti outlet major accident. Russia louis vuitton,louis vuitton outlet online,louis vuitton outlet,louisvuitton.com,authentic louis vuitton,louis vuitton factory outlet,cheap louis vuitton has north face outlet,north face,the north face,northface,north face jackets,north face jackets clearance,the north face outlet a rich pandora jewelry,pandora charms,pandora bracelet,pandora bracelets,pandora rings,pandora jewelry store locator,pandora charm,pandora charms clearance,pandora store,pandora jewelry outlet store,pandora jewelry sale online ship with a steam turbine development and experience like this, the reliability of the hermes,sac hermes,hermes pas cher,sac hermes pas cher TB-12 based on the development of China-made large true religion ship with the first soccer shoes,nike mercurial generation of louboutin,christian louboutin,louboutin shoes,louboutins,louboutin uk,christian louboutin uk,red bottom shoes,red bottoms,louboutin outlet,christian louboutin shoes,christian louboutin outlet steam turbines also needs further examination.Needless to say, the best use of the wedding dresses,wedding dress,dresses for wedding,bride dresses,dresses for weddings,wedding dresses uk,cheap wedding dresses,vintage wedding dresses,monsoon wedding dresses,lace wedding dresses,wedding dresses for older brides,wedding dresses 2014 electromagnetic catapult powered aircraft carrier lululemon,lululemon canada,lululemon outlet canada,lululemon outlet online program is certainly similar to "Ford" class nike roshe run,roshe run,nike roshe,rosh run,roshe run pas cher,nike roshe france nuclear-powered + all-electric propulsion tn pas cher,nike tn,nike tn pas cher,nike tn requin,tn requin,tn requin pas cher system. Nuclear coach factory outlet,coach factory,coach factory outlet online,coach factory online energy juicy couture can provide catapult inexhaustible; wedding dresses,prom dresses,bridesmaid dresses,evening dresses,beach wedding dresses,cheap wedding dresses,homecoming dresses,prom dresses,wedding dresses and the all-electric propulsion system eliminates ray ban pas cher,ray ban,rayban,lunette ray ban pas cher the mechanical transmission mechanism, the reactor will supply energy into louis vuitton outlet stores,louis vuitton outlet online,louis vuitton,louis vuitton outlet,louisvuitton.com,authentic louis vuitton,louis vuitton factory outlet,cheap louis vuitton electrical energy directly to the catapult, propeller motors, timberland,timberland pas cher,chaussure timberland pas cher,timberland france as well as other power line carrier terminal, without the huge transmission layout is very conducive to aircraft interior design, handling and juicy couture outlet maintenance is also very convenient. Of course, louis vuitton outlet online,louis vuitton,louis vuitton outlet,louisvuitton.com,authentic louis vuitton,louis vuitton factory outlet,cheap louis vuitton the all-electric propulsion system for the energy chanel handbags,chanel bags,chanel sunglasses,chanel purses,chanel outlet conversion efficiency is generally better than mechanical transmission, with burberry,sac burberry,burberry pas cher,sac burberry pas cher,burberry france endless nike blazer,blazer nike,nike blazer pas cher energy asics,asics gel,asics running,asics running shoes,asics shoes,asics gel nimbus,asics gel kayano,asics gt reactors ralph lauren,polo ralph lauren,ralph lauren outlet,ralph lauren italia,ralph lauren sito ufficiale is undoubtedly the most suitable partner.Real possibility of view, "Liao in" class on the 2nd ship a "nuclear" nike roshe,roshe run,nike roshe run,roshe runs power system louis vuitton,sac louis vuitton,louis vuitton pas cher,sac louis vuitton pas cher,louis vuitton france is unlikely. Although Russia discuss the "Admiral Kuznetsov" No. overhaul conversion program, the dress had been discussed nuclear power, eventually dropped. I reebok outlet,reebok,reebok skyscape,reebok shoes will not speak on the basic platform "Liaoning" was doing true religion so beating ferragamo shoes,ferragamo,salvatore ferragamo,ferragamo belts,ferragamo belt,ferragamo outlet the availability of the technical feasibility of internal transformation, China I am afraid there is no ready-made high-performance aircraft for use nike shoes,nike outlet,nike factory,nike store,nike factory outlet,nike outlet store,cheap nike shoes,nike sneakers pressurized water reactor. The new reactors on 094 strategic nuclear submarines mac cosmetics,m a c cosmetics,mac makeup,maccosmetics.com reportedly good performance, celine handbags,celine bag,celine bags there has been no reliable sources have new balance pas cher,new balance,new balance femme confirmed that the boat has been the longchamp,sac longchamp,longchamps,longchamp pas cher,sac longchamp pas cher,longchamp pliage,longchamp soldes,sac longchamps,longchamp france formation of combat, the maturity of its power systems doubtful. We should also not forget that the abercrombie and fitch,abercrombie and,abercrombie,abercrombie kids,abercrombie fitch,abercrombie.com risk ray ban sunglasses uk of north face,the north face,north face pas cher,north face soldes,north face france boats reactors ship with p90x,p90x3,p90x workout,p90x workout schedule,p90x workout sheets,p90x 3,p90x2 a great change, oakley sunglasses cheap,cheap oakley sunglasses,oakley sunglasses,oakley vault,oakleys,oakley.com,sunglasses outlet,cheap oakley,oakley outlet,cheap sunglasses,oakley prescription glasses,fake oakleys,oakley sunglasses outlet,oakley glasses,oakley store,fake oakley,oakley sale,cheap oakleys,discount oakley sunglasses the air max US nuclear aircraft carriers and nuclear submarines had never shared michael kors,michael kors uk,michael kors handbags,michael kors bags reactor; France has the world's top nuclear technology in michael kors outlet,michael kors,kors outlet,michael kors handbags,michael kors outlet online,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors the construction of "Charles de swarovski jewelry Gaulle" when granted directly jordan shoes,jordans,air jordan,jordan retro,jordan 11,jordan xx9,jordan 6,new jordans,air jordans,cheap jordans,retro jordans,jordan retro 11,jordan 5,air jordan 11,jordans for sale,jordan 4,jordan 1,jordan future,jordan 3,jordan 12,michael jordan shoes,air jordan shoes,air jordan retro to the intended Reactor "Triumph" class gucci,borse gucci,gucci sito ufficiale,gucci outlet strategic nuclear submarine used louis vuitton handbags,vuitton handbags,louis vuitton bags,louis vuitton purses in the hollister,abercrombie,abercrombie fitch,hollister france,hollister pas cher,abercrombie and fitch,hollister pas cher "Charles de Gaulle". nike air max,air max,air max 90,nike air max 90,air max 1 K15 natural circulation integral nike free,free run,nike free run,nike free pas cher,nike free run pas cher,nike free france PWR technology really advanced in the "Triumph" class did a great job, but mounted on the "Charles de Gaulle" pandora charms,pandora uk,pandora bracelet,pandora rings,pandora,pandora sale,pandora bracelets,pandora jewellery,pandora ring,pandora charm,pandora earrings,pandora jewelry,pandora necklace,pandora charms uk is the "acclimatization", resulting oakley pas cher,oakley,oakley soldes,lunette oakley pas cher,oakley france in "Charles de Gaulle" period is prolonged, the installation of mont blanc,montblanc,mont blanc pens pressure cabin dead weight after barely put to use, ralph lauren,polo ralph lauren,ralph lauren pas cher,polo ralph lauren pas cher,ralph lauren france but still in the sea trials and follow-up service during soccer jerseys,soccer jersey,usa soccer jersey,football jerseys times of nike free,free running,nike free run,nike free 5.0,free running 2,nike running shoes,nike free trainer,nike free trainer 5.0,free runs,free run 5.0 exposure problems.


Note: Please offer only positive, constructive comments - we are looking to promote a positive atmosphere where collaboration is valued above all else.




PARTNERS