text:
This can be found at http://digitalzen.org/tutorials/css-backgrounds.html as of 11-30-03
Oh, and this isn't a Cross Site Scripting (Which is actually XSS) tutorial.. It's Cascading Style Sheets (Which is CSS).
- Tutorial: CSS Backgrounds
This tutorial covers the modification of backgrounds using Cascading Style Sheets (CSS). If you do not have any previous experience with CSS, you should read Tutorial: Basic CSS before continuing with this one.
The easiest way to teach you about the backgrounds is to simply show examples and an explanation for each. Firstly, know that these all belong within the body selector.
color-rgb, color-hex, color-name, transparent
See the examples below.
color-rgb for black = background-color: 0,0,0
color-hex for black = background-color: #000000
color-name for black = background-color: black
transparent is to be used in place of a color to have a transparent background.
url, none
url will use an image that you define.
none will not have a background image.
url = background-image: url(image.jpg)
none = background-image: none
scroll, fixed
scroll will cause the background image to scroll with the rest of the page.
fixed will cause the image to remain fixed in place as a watermark.
scroll = background-attachment: scroll
fixed = background-attachment: fixed
top left, top center, top right, center left, center center, center right, bottom left, bottom center, bottom right, x-% y-%, x-pos y-pos
top left through bottom right are self descriptive.
x-% y-% is based on percents. The X value defines the horizontal position while the Y value defines the vertical position of the image on the page. 0% 0% is the top left corner, while 100% 100% is the bottom right corner of the page. If only one value is specified the other will default to 50%.
x-pos y-pos can be any CSS unit such as pixels (0px 0px) 0 0 is the top left corner, and as above, if only one value is set, the other will default to 50%.
center center = background-position: center center
x-% y-% = background-position: 50% 50%
x-pos y-pos = background-position: 50px 50px
repeat, repeat-x, repeat-y, no-repeat
repeat will set the background to repeat downward and to the right from its starting position.
repeat-x will set the background to repeat to the right of its starting position.
repeat-y will set the background to repeat downward from its starting position.
no-repeat will set the background image to display only once.
repeat = background-repeat: repeat
repeat-x = background-repeat: repeat-x
repeat-y = background-repeat: repeat-y
no-repeat = background-repeat: no-repeat
And now for a couple of complete examples
Which can also be displayed as:Code:Body { background-color: #000000; background-image: url(image.jpg); background-position: center center background-attachment: fixed background-repeat: no-repeat }
andCode:Body { background-color: #000000;background-image: url(image.jpg);background-position: center centerbackground-attachment: fixedbackground-repeat: no-repeat}
All three examples will create the same end result. Thus, there is no one correct way to write a CSS. Its all up to personal preference. This concludes the CSS Backgrounds tutorial, and I hope you found it helpful.Code:Body { background-color: #000000 url(image.jpg) center center fixed no-repeat }
This Tutorial ©2003 FallenZen. If you wish to use this tutorial on your site, please leave this credit intact.
Check out The DigitalZen (http://www.digitalzen.org).


text:
With over a century of music-making, the Berry College Music program provides a diverse curriculum, multiple degree programs and a world-class faculty. Berry's Music program prepares students for careers in music, while offering significant performance opportunities
open to all students on campus.
The Berry College Music program is a fully-accredited member of the National Association of Schools of Music and has degree programs in the following three areas: Performance, Education or elective studies in Music Business. Non-major students can minor in Music, or
participate in many of the academic classes and performance ensembles. For students more inclined for a customized degree, many of the Music classes and qualifications can be incorporated into inter-disciplinary study programs in which the student and an advisor designs during the
beginning of the academic track.
A leading resource for music education in the Southeast, the Music program serves the campus and community by presenting lectures, master-classes, guest artists and over 30 free concerts annually, including the Berry College Concert Series. For complete degree requirements, please contact April
Allen in the Department of Fine Arts - Music Program at firstname.lastname@example.com.
April Allen
Music Department
(706) 236-2289
P.O. Box 309
(please note that tracks are listed by odd and even years based on when students enter)
All-State Workshop
Concert Attendance Registry
High School Choir Festival
Middle School Choir Festival
Mission Statement
Neuromusculoskeletal and Vocal Health
Protect Your Hearing
Student Handbook
Voice Choir Questionnaire (Prospective Students)

subset: commoncrawl


text:
Lululemon Athletica Inc. shares, after having lost two-fifths of their value since a record high in June, jumped as much as 10% on Thursday in their biggest daily percentage gain since September 2012.
The stock upside came after the company beat Wall Street's lowered fourth-quarter profit and sales estimates even though its first-quarter and full-year outlooks both fell short. New Chief Executive Laurent Potdevin, the former Toms shoe president who took over the yoga-inspired athletic clothing retailer in January, also spoke publicly for the first time.
In a message that looked to reassure investors about Lululemon's /quotes/zigman/39660/delayed /quotes/nls/lulu LULU growth after it wrapped up a year of negative publicity, increased competition and product recall issues, Potdevin said he's "refocusing" the company's energy "as a relevant disruptor in the space we created."
"I plan to make sure all of our core values that make this business such a success remain in place and are leveraged and amplified as we turn Lululemon into a global brand for both men and women," he said on a conference call, adding the company will tap into its network of 900 brand "ambassadors" and be more aggressive about its traditional grassroots marketing efforts.
"We've been voiceless for too long, and I'm anxious to have all of us share more broadly who we are," he said. "Now is the time to amplify our voice to complement our grassroots approach and ensure that we claim
back our share of the voice in the market we created. Our guests have choice and sustaining that loyal relationship is a priority."
He also said he'll continue the company's global expansion strategy to opening company-owned stores and showrooms in Asia and Europe, including a London store next week. He also sees opportunities to expand in the Middle East through partnerships.
He said the company also is investing in its supply chain and will focus on "fostering and promoting the healthy tension between technical innovation, style, function and beauty." It's also making investments that will allow it to customize experiences and offerings to shoppers.
"2014 is an investment year," he said.
As one analyst put it:
Seriously, would ANY new CEO at $LULU not call the first year an 'investment year'. Especially after steaming pile he stepped into.
— Brian McGough (@HedgeyeRetail) March 27, 2014
— Follow Andria on Twitter @AndriaCheng.
More from Behind the Storefront:
Investors divided on Lululemon, the single most controversial apparel stock
New Toys "R" Us CEO's strategy to reverse declining sales
Sonic sees opportunity to eat McDonald's lunch
Licensing its mobile-payments technology could be on Starbucks' menu


text:
Please fill in all of the following fields.
Where will this data be visible?
Your complete profile will be visible to members only by default. After signup you can choose to make it public if you wish to do so. You should consider your username to be public information. Your full name will be hidden by default (not shown on your profile) but after signup you can choose to unhide it. Your e-mail address and date of birth will be hidden at all times. Your age and gender will be displayed on your profile but after signup you can choose to hide this information. The city and country you reside in will always be displayed on your profile.
* Fields marked with a * are mandatory


text:
The Good, the Bad & the Bourgeois
Thinking With History: Explorations in the Passage to Modernism
Pleasure Wars: The Bourgeois Experience: Victoria to Freud
My German Question: Growing Up in Nazi Berlin
In the first half of the nineteenth century, the curriculum of Rugby School in England was dominated, as was true of other public schools, by instruction in Greek and Latin. In addition, however, all students from the first to the sixth grade read history, both ancient and modern, which was interlarded with generous portions of Herodotus, Thucydides, Xenophon, and Livy. Dr. Thomas Arnold, the famous headmaster of Rugby, once gave the rationale for this by saying, "The history of Greece and Rome is not an idle inquiry about remote ages and forgotten institutions but a living picture of things present, fitted not so much for the curiosity of the scholar, as for the instruction of the statesman and citizen."1
History was central to Victorian education as a means of forming character and preparing students for the challenges of the times, and this was not the only field in which it was accorded a respect that has no equal in our own age. Because it seemed to express and validate the hopes and ambitions of the rising middle class and its belief in progress—after all, what Englishman would deny that he lived in a land where freedom broadened from precedent to precedent, and what citizen of the Bismarckian Reich that he was a beneficiary of history's law of natural selection?—its influence was apparent in all fields of human thought and activity. This was true of the arts as well as the sciences. Historical painting remained popular throughout the century, and the historical novel had a vogue that was never enjoyed by the more analytical novels of society. Indeed, Leopold von Ranke, the most famous practitioner of Quellenkritik, always insisted that history was more an art than a science and cited Scott's Quentin Durward as the ideal model of historical narration.2
In architecture, too, history found important expression. In an absorbing chapter in his new book on the ascendancy and eclipse of historicist culture in the nineteenth century, Carl E. Schorske writes of how the post-1848 tension between the crown and the liberal elite in Vienna was moderated by the construction of the Ringstrasse and how the different architectural styles of the principal buildings along this thoroughfare served as a kind of visual mastering of a difficult past. Crucial to this, he argues, was the construction of the Kunsthistorisches Museum and its positioning between the Rathaus and Parliament of the ascendant liberals and the monumental dynastic buildings of the Hofburg, so that it served as a bonding element between the monarch and the new elite. Schorske points out that the most visible symbol of the implied political compromise was the statue of the Empress Maria Theresa that stands in the center of the museum square, surrounded by the leading figures of her reign. These included not only her soldiers and diplomats, but representatives of the Enlightenment like the reformer Joseph Sonnenfels,…
This is exclusive content for subscribers only.
Try two months of unlimited access to The New York Review for just $1 a month.
Continue reading this article, and thousands more from our complete 55+ year archive, for the low introductory rate of just $1 a month.
If you are already a subscriber, please be sure you are logged in to your nybooks.com account.


text:
|Profile for MILHOUSE
|Click here to make or adjust profile
|Height: 6'3
|Weight: Respectably overweight lbs.
|Alumni Status: ND '94, ACE '95
|Location: Kansas City
|Favorite Baseball Team: Kansas City Royals
|Natural Enemies: Other drivers, people who litter their cigarette butts, and anyone who thinks that MMA is cool.
|Athletic Ability:
|At this point, whatever I did have is long gone.
|Sartorial Style:
|Business casual during the week; jeans and t-shirts on weekends. No boat shoes.
|Favorite Beverage and Consumption Freq:
|Favorite beverage: beer, especially IPA.
Consumption frequency: see "Weight" supra.
|Political Philosophy:
|I believe that my rights flow from my status as a human being, not because the government or any other human being or organization gave them to me.
I believe that the Constitution of the United States is a set of instructions and limitations aimed at the federal government.
I believe that the government cannot give anything to anyone that it does not first take from someone else.
I believe (paraphrasing Barry Goldwater) that a government with the power to give me everything I want is a government that can take everything I have.
I believe that government ought to be smaller, more accountable, and at the margin of my life, rather than at the center of it.
I believe that the courts in which I practice should resolve only genuine conflicts, rather than redistribute wealth through what is turning into a lottery system.
I believe that every individual should be held accountable for his own actions and that, although there are often mitigating reasons for those actions, there are no excuses.
I believe that some (although not all) things are black and white, and that there is no middle ground.
Speaking of black and white, I believe that no matter how hard I try, I will never fully appreciate what it is like to be black or female or Hispanic or a dozen other things in our society.
I believe that people who display or wear the CSA battle flag and call it their heritage are unbelievably insensitive to those for whom it is a symbol of hatred and pain and racism.
I believe that "a man should be judged by the content of his character, not by the color of his skin," and yet I look at affirmative action in employment and college admissions and scholarship grants and wonder when that will happen.
I know that Ronald Reagan was right when he said that our modern "[g]overnment's view of the economy could be summed up in a few short phrases: If it moves, tax it. If it keeps moving, regulate it. And if it stops moving, subsidize it."
I believe that those less fortunate deserve a helping hand but that the best possible helping hand is usually education, a job, and a work ethic.
I believe that any candidate who proposes to tax Peter to pay Paul will always enjoy Paul's support.
I believe that what one person receives without working for, another person must work for without receiving.
I believe in resolving differences through law and negotiation -- but only to a point.
I believe that D.H. Lawrence was spot on when he said, ""Men fight for liberty and win it with hard knocks. Their children, brought up easy, let it slip away again, poor fools. And their grandchildren are once more slaves."
I believe, as John Stuart Mill said, that "[t]he person who has nothing for which he is willing to fight, nothing which is more important than his own personal safety, is a miserable creature and has no chance of being free unless made and kept so by the exertions of better men than himself."
I believe, paraphrasing Ronald Reagan, that freedom must be fought for, protected, nurtured, and handed to our children, or someday we will have to look at our grandchildren and tell them what life was once like in the United States, back when men were free.
I believe, as Edmund Burke once said, that all that is necessary for evil to succeed is for good men to do nothing.
|Religious Philosophy:
|Roman Catholic.
|Musical Favorites:
|Son Volt; Pete Yorn; Cake; Midnight Oil; Roger Clyne & The Peacemakers; the Pogues; Ben Folds; Weezer; Everclear; Uncle Tupelo; the Clash; Big Audio Dynamite; U2; Counting Crows; Emmet Swimming; the Jayhawks; Neil Young; Toad the Wet Sprocket; Richard Buckner; Rilo Kiley; Gordon Lightfoot; Death Cab for Cutie/Postal Service; Neutral Milk Hotel; Great Big Sea; the Hold Steady; Nada Surf; the Thermals; the Streets; Frightened Rabbit; Frank Turner; the National; Arcade Fire; and whatever's on Sirius XMU.
|Favorite Quote from an ND Coach:
|"Get me the managers! Get these fucking visors off these fucking helmets! We don't need this bullshit! We're going to look them right in the eye, tell them where we're running the ball, and kick their fucking asses all over the fucking field!" -- Joe Moore
|Miscellaneous Data:
|If you haven't seen "Layer Cake," "Man On Fire," "The Equalizer" (a/k/a "Man On Fire Part Two"), "God Bless America," "In Bruges," and "The Perks of Being a Wallflower," you are missing out.
I think CaptainEclectic was right when he said, "You can get away with almost anything if you're funny or buying drinks."
"It quite obvious milhouse that you are quite liberal" -- wearinofthegreen


text:
Ritter (L), stacks of cash, and Carter (R)
Michael Peter Ritter is a white collar criminal in his early fifties from Edmonton. He is a thief, a fraudster, and money launderer. Just how bad a guy he is can be gleaned from reading these pieces: http://www.canada.com/edmontonjournal/news/insight/story.html?id=8269fb3e-ca94-4f14-844f-fade85722942
Ritter was a wealth manager when the gendarmes finally caught on to him. Like many in the wealth management game he was intelligent, cool, and glib. As people were to discover he was also a nonpareil liar. He lied about having a law degree. He lied about finishing his studies at the London School of Economics. He lied about being admitted to Gray's Inn for English barristers. He lied about being an intern in the House of Lords Legal division. He lied about attending the University of Geneva and he lied about having been an advisor to the Swiss Bankers Association. And all of that happened years before he got into his legal quagmire at which time he began to tell more lies.
Those early lies about his experience and education helped him wangle a job in the hapless Don Getty Progressive Conservative government in 1988. He conned Getty's motley crew into making him chief parliamentary counsel to the speaker of the Alberta Legislative Assembly – one of the qualifications for which was that the applicant had to be a lawyer. The speaker in those days was the very pious appearing – and, as it turned out, fabulously naïve - Anglican man of the cloth by the name of David Carter, now happily retired and living somewhere in the Cypress Hills.
The job description for Ritter's governmental post included advising the Alberta government on parliamentary procedure, constitutionality of legislation, conflicts of interest, and alleged improprieties of members. During his tenure, he took the position that the government and the speaker could do anything they wanted to do – even when it came to roughing up reporters. The Tories loved him. He was one of their true blue enforcers. He could do no wrong. In 1993 with his patron Carter's retirement from government and politics Ritter followed suit, and soon began his sordid career as a wealth manager.
Much of the dough he made off with was the life savings of little people of modest means. He blew the money on lawyers, his pals, rich kids' toys - like two private planes and a sky box for Edmonton Oilers games - and more of the good life. In other words he spent the money on himself. For a brief accounting of some of his expenditures and tastes read:
Surprisingly, some of his old government pals even tried to help him out by submitting character references to the court in an effort to get the Judge to go easy on him. Among them were Tory ex-minister Jim Horsman, ex-speaker Carter, and, oddly enough, even two former NDP leaders, Ray Martin and Pam Barrett. The judge that heard the case took the joint advice of the prosecutor and defence counsel, and sent the charlatan to the big house for ten years. So far so good.
However, about four months ago, the National Parole Board – now stacked with Tory and Conservative friends of Stephen – paroled Ritter. He had served a meager 18 months in a minimum-security prison for his dastardly deeds. Not only that, even though at his sentencing Ritter agreed to help track down the money he had filched so as there would be some restitution to his victims, not a dime has been forthcoming. Despite all of the aggravating circumstances the Board followed its policy of releasing non-violent offenders who have served only one-sixth of their time. After 18 months of jail time Ritter is free - free to wheel his Jaguar around town and live in baronial splendour in expensive three storey digs replete with a home theatre and cherry wood humidor, and plan his next move.
The case raises many issues and concerns. To say that the case is a sad reflection on the Canadian parole system under the Harper government is an understatement. The parole board gave him kid glove treatment for serious crimes that deserved real and prolonged punishment. Also, following in the tradition of Alan Eagleson, Conrad Black, David Radler and most recently Peter Pocklington, the prosecutions emerged not in Canada but in the United States once again for the reason that Canada lacks the resources to go after white collar criminals.
Then there is the curious case of David Carter. In most circles Carter was and is a well-respected Anglican clergyman. However as a speaker, his tenure was not applauded by the opposition. Too often he appeared to be pedantic, condescending and unduly critical of the opposition's attempts at keeping the government honest. The fact that he worked with Ritter for so long without suspecting his mendacity is astonishing; that he would submit a character reference for the scoundrel after he more than others were lied to and misled by Ritter is even more strange.
That Carter exercised poor judgment in his dealings with Ritter is obvious. His blithe and reckless attitude towards what Ritter was doing with the money is either fabulously naïve, profoundly stupid, staggeringly arrogant, or stunningly and abominably amoral. Perhaps it is all of those things.


text:
[image id="d6608070-8389-4803-9ab4-a5d1f36899de" mediaId="f50aa25f-8083-4bbd-8e5f-5e8d12533c51" loc="L"][/image]Hillary Clinton has been on Twitter for all of five seconds and it's already The Greatest Twitter-Join of Our Time. Whereas many politicians use their social media channels to bore me to tears, Hillary has already out-awesomed all of us with a humorous, self-aware Twitter bio—featuring the iconic black-and-white photo from the short-lived-but-great Texts from Hilary tumblr—in which she refers to herself as a "hair icon," "pantsuit aficionado," and "glass ceiling cracker." This is simultaneously funnier and more amazing than anything I have tweeted, and I once wrote something that was retweeted 31 times. BOOM. (JK, help.)
Interestingly, Hillary first refers to herself as a wife and mom—a not-insignificant glimpse into how she chooses to identify at a time when we're talking about work/life balance more than ever. And sure, Hil is savvy enough to play the family card on purpose (can you imagine how many effs would be given if she forgot to give Bill a shout out?) but at the end of the day it also seems so…normal. Everyone knows that moms LOVE to talk about being moms in their social media profiles. How cool for Hillary to take pride in that role alongside her other past accomplishments, like secretary-ing the sh*t out of our country.
On a more serious note: Due to annoying issues like "rampant sexism," all women in power face the likeability problem—that notion that the public won't buy into your politics if you're not the kind of cool cat who they would first grab a beer with. In one short sentence that manages to call out her accomplishments, ambitions, and family roots—with the appropriate dose of in-the-know Twitter snark—Hillary has managed to prove that she is down for a beer, followed by a pickleback shot and cheese fries.
Because really, when is a profile not just a profile? When "TBD" could mean 2016 and beyond.
Photo Credit: Twitter
Elisa is Cosmo's social media editor. Follow her on Twitter @elisabenson.


text:
Contact Us
Contacting The IELI
If you are a student, a Hunter ID card is required to enter the Hunter College main campus. A card can be obtained 2 to 3 business days after you have registered by going to the One Card Office located in the West Building Room 203. Visit the following website for the One Card Office schedule: http://www.hunter.cuny.edu/it/it-services/onecard
Our office is located at the main campus. You may visit us or contact us via phone, email or fax.
IELI at Hunter College
East Building 10th Floor, Room E1022
695 Park Avenue
New York, NY 10065
(e) email@example.com
(p) 212-772-4292 or 212-772-4290
(f) 212-772-4302
Facebook: /IELIatHunter
Twitter: @IELIatHunter
Daytime Office Hours:
Monday-Thursday: 9:00am-5:00pm
Friday: 9:00am-4:45pm
Evening Office Hours: Students who wish to register after 5pm should call our evening number or visit Hunter Campus Schools office located at 94th and Madison Avenue. The Evening Office is closed January and August.
Location: 71 East 94th Street, 3rd Floor, Room 333
Hours: Monday-Thursday, 5:00-9:00pm
Phone: 646-963-6311
International Student Office/F-1 Visas
If you have questions regarding visa status, you can email one of our knowledgeable International Student Office representatives at firstname.lastname@example.com. You can also call us at 212-772-4208. We encourage you to email us so we can better respond to your questions.
Mailing Address:
International English Language Institute
Hunter College
10th Floor - East Building
695 Park Avenue
New York, NY 10065


text:
Create, Invent, and Sell was founded in 2008 by two professionals who wanted to provide an online environment for creators and inventors to link up with buyers and producers in a low-cost, high exposure marketplace.
Our headquarters are in the exciting cosmopolitan city of Miami, Florida. Create, Invent, and Sell offers the same dynamic, international opportunities that characterize the whole of South Florida.
Create, Invent, and Sell is a huge on-line marketplace that is really "two worlds in one." Create, Invent, and Sell is THE VIRTUAL STORE for buying & selling beautiful, handmade Arts & Crafts from all over the world. We provide all the tools you need to display and market your crafts, and all the e-commerce tools to allow your customers to purchase your items directly from our site.
Our mission is to provide sellers the opportunity to expose their one-of-a-kind products to the world. But we want the buyer to get the opportunity to know the seller as well as your product. User-created listings offer product descriptions, seller and creator profiles, and sections listing additional skills and services you may have to offer.
For inventors, Create, Invent, and Sell is THE ONLINE MARKETPLACE to turn your innovative ideas into real dollars. Create, Invent, and Sell provides you the opportunity to develop leads and reach customers who might otherwise never have been exposed to your product. Working with an established site like Create, Invent, and Sell will lend credibility to your invention and allow you to negotiate effectively with potential customers.
Create, Invent, and Sell is a truly unique website, offering opportunities for dreamers, inventors, and sellers to share their talents and turn their innovations and ideas into real profit. For buyers, Create, Invent, and Sell provides a dynamic and exciting offering of products often available nowhere else.
So, whether you are a new inventor, an already-established vendor, or are just looking for new products, Create, Invent, and Sell will open doors for you and your business.
Create, Invent, and Sell will provide a 21st Century approach to selling your invention or craft. Using both traditional and technological marketing, we advertise your product vigorously and aggressively so your Creations and Inventions can be seen and purchased easily in an attractive, easy-to-use, and accessible worldwide marketplace.
The purpose of createinventandsell.com's Privacy Policy is to explain how your information is protected, collected and used, which may be updated by createinventandsell.com from time to time. Createinventandsell.com will provide notice of any materially significant changes to this privacy policy by posting notice on createinventandsell.com.
Questions? Feedback? Suggestions? Or are you interested in advertising on Create, Invent, and Sell? Let us know at one of the e-mail address below:
firstname.lastname@example.com (for any general questions)
firstname.lastname@example.com (concerning copyrights or infringements)
firstname.lastname@example.com (inquiring about advertising with us)
firstname.lastname@example.com (to offer suggestions or ideas)
firstname.lastname@example.com (to request a category that isn't listed)
Or mail correspondence to:
Create Invent and Sell, Inc.
P.O. Box 841223
Pembroke Pines, Fl. 33084


text: Greg Lindahl wrote on Friday 01 April 2005 17:50: > It actually costs us a fair bit to support FC3 and SUSE 9.3; we are > highly gcc compatible, so we have to be able to parse whatever's in > gcc's include files. gcc-3.4 has lots of new builtins and other > features. I bet you're really looking forward to working with gcc-4.0, which is on track to be the gcc that is shipped with FC4 in June. :) David


text:
Everyday programming often requires writing parsers. The Internet and networking opened up the information floodgates such that software engineers have to deal with more human-to-computer communication, as well as computer-to-computer communication. HTML, XML, SQL, RDF, XDR, Postscript, OS shells, scripting languages, and even tasks such as extracting command-line options and reading files require various degrees of parsing.
Unfortunately, many programmers do not approach parser creation as a language design task, and they code parsers by hand. For simple to moderately complex tasks, many programmers stay away from tools such as YACC because of the "jumbo jet" syndrome. (It's just too big and detached from the application.) Many of today's parsing tasks would have been well served by a C++ library-based parser somewhere between Posix-style regular expressions and a full-blown parser.
Spirit is an attempt to fill the missing gap between existing regular-expression tools and computer-language-oriented parser generators. It is an object-oriented, back-tracking, recursive descent parser generator framework implemented using template metaprogramming techniques. Expression templates, taking advantage of the expressiveness of operator overloading in C++, allow Spirit to approximate the syntax of EBNF (Extended Backus Normal Form) completely in C++ using a syntax closely resembling EBNF.
BNF and EBNF
BNF began as an abbreviation of Backus Normal Form and later became popularly known as the Backus-Naur Form. It is a formal notation that describes a language's syntax. BNF was developed primarily by John Backus and modified by Peter Naur to formalize the grammar of the Algol 60 programming language. It is now standard practice to use formal grammars to specify languages.
A BNF grammar consists of a number of production rules. The rules are principally written as:
A1..AN are alternatives separated by the
|. The symbol
on the left-hand side of
::= must be replaced by one of the alternatives
on the right-hand side. Alternatives consist of terminals and non-terminals. A
terminal is an atomic string that cannot be broken down. They terminate the production
process. On the other hand, a non-terminal recursively refers to a rule. Here's
a trivial example BNF grammar that specifies an integer number:
<integer> ::= <digit> | <integer> <digit> <digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
In plain English, this example can be read as: "An integer is a single digit,
or, an integer followed by a single digit. A digit is one of
0 or
2 or
3 ...
9." Symbols in angle brackets,
<integer>, are non-terminals while
0..9 are terminals.
Repetition is very common in grammars. With BNF, as in the example above, you have to use recursion to do repetition. This is rather awkward. Extended BNF (EBNF) adds several additional facilities to BNF to express repetition. There are quite a few EBNF dialects and even an ISO standard: ISO/IEC 14977. For simplicity and familiarity, below is an EBNF dialect that borrows the ubiquitous regular expression operators.
X* The Kleene star. X can appear zero or more times. X+ X can appear one or more times. X? Make X optional, X can appear zero or one time.
To simplify the
integer rule, it can be written in EBNF like so:
integer ::= digit+ digit ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
This example is read in English as: "An integer is comprised of one or more digits." Notice that the angle brackets are removed from non-terminal symbols and quotes are introduced to indicate terminal strings.
The Spirit Library
The Spirit library lets you write a target grammar exclusively in C++. Inline EBNF grammar specifications can mix freely with other C++ code and generate immediately executable parsers thanks to the generative power of C++ templates.
Character input is not limited to 8-bit ASCII. The library can easily work
with 16- and 32-bit characters such as Unicode. In fact, input data is an abstract
concept not limited to characters. Spirit can process data in the form of plain
bytes, user-defined
structs, or even objects.
Quick Start
To elucidate, here is a trivial example. Parse a parenthesized, comma-delimited stream of unsigned integers of the form:
(i1, i2, i3 ... iN)
and store the extracted numbers in a vector. First, define a rule for parsing unsigned integers. In standard EBNF, you would write this as:
<integer> ::= <digit>+
This EBNF rule can be read as an unsigned integer is composed of one or more digits. Spirit's stylized C++/EBNF (SEBNF, for brevity) syntax attempts to mimic EBNF as closely as possible:
integer = +digit;
Constrained to C++'s syntax, we deviate slightly from standard EBNF. EBNF's
positive closure
+, used to signify a one-or-more occurrence of
becomes prefix instead of postfix. (Spirit uses
+digit instead of
Also, the assignment
= operator, initiating a production rule declaration,
replaces EBNF's
integer is in itself a parser that can recognize numbers such as 1,
2, 123, and 456. Note that, by default, white spaces are skipped. Thus, in the
example, an input such as "1 2 3" is legal. However, we want the parser
to inhibit the skipping of white spaces when parsing numbers. This task is accomplished
by using the
lexeme directive.
integer = lexeme[ +digit ];
digit is one of Spirit's primitives: a range of single character literals
from 0..9. Actually, there are also predefined primitives for parsing integers
and real numbers. Here,
integer is explicitly defined.
Now we continue with the rest of the grammar. Remember that what we want is a comma-delimited string of integers enclosed in parentheses. In standard EBNF, this grammar would be written as:
<numbers> ::= '(' <integer> (',' <integer>)* ')'
So how would one write this in C++ using Spirit?
numbers = '(' >> integer >> *(',' >> integer) >> ')';
As already mentioned, the requisite changes from the original EBNF specification
stems from the syntax restrictions imposed by C++. Most obviously, our SEBNF syntax
necessitates a sequencing operator
>> where in EBNF a white space
would suffice. We say
'a >> b' in Spirit instead of
'a b'.
Not unlike the positive closure
+ already mentioned, the Kleene star
used to signify a zero-or-more occurrence of the enclosed expression
(',' >>
integer), is prefix instead of postfix.
Finally we have a complete grammar for our trivial example:
rule<> integer, numbers; integer = lexeme[ +digit ]; numbers = '(' >> integer >> *(',' >> integer) >> ')';
Through the magic of expression templates, this code is perfectly valid C++. The
production rule
numbers is in fact an object that has a member function
parse that does the work. As far as C++ is concerned,
integer and
numbers are objects that have to be declared before they are used. The
first line starts with these requisite C++ type declarations.
The Spirit library has facilities to attach semantic actions to various points in a grammar so as to produce a complete and fully working parser. Here is a semantic action that inserts a parsed number into a vector:
std::vector<long> my_vec; void push(char const* str, char const* end) { my_vec.push_back(std::strtol(str, NULL, 10)); }
The function
push accepts an iterator
str that points to the first
matching character, as well as an iterator
end pointing to one past the
last valid character. We want to attach this function to the
integer production
integer = lexeme[ (+digit)[&push] ];
Every time the parser recognizes a valid number, the number is appended to
A More Complicated Example: The Classic Calculator Grammar
The following is the EBNF grammar for an arithmetic expression:
<integer> ::= '-'? <digit>+ <factor> ::= <integer> | '(' <expression> ')' | '-' <factor> <term> ::= <factor> ( '*' <factor> | '/' <factor> )* <expression> ::= <term> ('+' <term> | '-' <term> )*
Here is the corresponding snippet of code that uses SEBNF to define the same grammar:
rule<> expression, term, factor, integer; integer = lexeme[ (!ch_p('-') >> +digit) ]; factor = integer | '(' >> expression >> ')' | '-' >> factor; term = factor >> *( '*' >> factor | '/' >> factor); expression = term >> *( '+' >> factor | '-' >> term);
The first line declares all of the rules. It is necessary to forward declare the
rules because the
factor rule references the
expression rule, but
expression rule is defined later.
integer rule will recognize an integer with an optional sign. The
ch_p('-') generates a parser that will accept the
- character.
This rule uses three of the Spirit operators:
>>, and
!a is equivalent to
a? in EBNF and indicates that
is optional. It will be matched zero or one time.
factor rule introduces the
| operator. This operator specifies
alternatives in which the expression
'a | b' means that either
b will be matched.


text:
Reporter with Oklahoma Radio Station Talks with KSOO About Devastation Caused by Tornado [AUDIO]
In light of the tragic tornado that struck Moore, Oklahoma, reporter Jerry Dahmen visited with Cara Rice, who works with an Oklahoma City radio station. Check out the interview with Cara to find out how you can help the community.
The state medical examiner's office has revised the death toll from a tornado in an Oklahoma City suburb to 24 people, including seven children. Spokeswoman Amy Elliot said Tuesday morning that she believes some victims were counted twice in the early chaos of the storm. Authorities said initially that as many as 51 people were dead, including 20 children.


text:
James Taylor smashed 204 not out off 358 deliveries to draw the match for Nottinghamshire.
With Sussex batting first and making a mammoth 506-5 in the first innings - Ed Joyce having a great knock of 204 not out off just 239 - Nottinghamshire had to try and survive a day and a half of the Sussex bowling attack.
Chris Jordan took 5-130 to help them on their way but the other bowlers didn't give him much help. The draw has left Sussex in second on 117, eight points behind leaders Yorkshire after nine games. Nottinghamshire are in fifth on 88 points.
Taylor, 23 has been in fine form this season for Notts, especially in the YB40 and many pundits were wondering why England hadn't given him any thought for a call-up.
Taylor has played two Tests for England but had a poor average of just 16, although many members of the squad suffered a poor series against world number one Test team South Africa.
After his performances in the first two tests he was dropped and replacement Jonny Bairstow made 90 in the next test. This albeit ended Taylor's chance of gaining back his place quickly and he was soon back playing for Nottinghamshire.
Taylor is still young and good form could still give him a chance to get his place back in the team and the selectors must be thinking about his performances and whether he deserves another chance.
The only problem is there is no place in the team for another batsman, with Joe Root performing well in the middle-order it has led to him being given an opening spot alongside skipper Alistair Cook.
Jonathan Trott has been a solid performer for England in recent years and there is no questioning Kevin Pietersen's batting ability. Ian Bell has also got some runs recently for England and Jonny Bairstow has been in rich batting form.
This leaves no room for Taylor and if the other players don't perform to the high standards required Taylor will be ready to pounce.
Write for GiveMeSport! Sign-up to the GMS Writing Academy here: https://bit.ly/12evFlH
DISCLAIMER: This article has been written by a member of the GiveMeSport Writing Academy and does not represent the views of GiveMeSport.com or SportsNewMedia. The views and opinions expressed are solely that of the author credited at the top of this article. GiveMeSport.com and SportsNewMedia do not take any responsibility for the content of its contributors.


text: GM's endowed webshow Garage 419 with a considerable amount of track footage of the soon-to-be outed Corvette ZR1 shot at VIRginia International Raceway. One none-too-surprising observation: at full bore, the kompressor'd LS9 sounds just spacey enough to play the lead role in a movie version of OutRun 2019 (that's Quantum Redshift to you, youngsters). Still, while we're all for the ZR-1's lightness calculus and considerable horsepower, that engine cover — as seen through the hood window — looks like the inside of a Hamilton Beach panini maker. We'd have been satisfied with a shaker hood and a feathered roach clip hanging from the rear-view. [Garage 419]


text:
Log Out
Our Terms of Use and Privacy Policy have changed. We think you'll like them better this way.
The Journey Continues...
Today there is a global trend back to the roots of our faith and the authority of the early church as described in Acts; specifically chapter 2:42-47. This is the result of many seeking to do what was done in the early church on a daily basis. First we must begin with the call to "go and make disciples of all nations (i.e. ethnic groups or people groups) as commanded by Yahshua in Matthew 28:18-20 ESV "And Jesus came and said to them, 'All authority in heaven and on earth has been given to me. Go therefore and make disciples of all nations, baptizing them in the name of the Father and of the Son and of the Holy Spirit, teaching them to observe all that I have commanded you. And behold, I am with you always, to the end of the age.' "
In Simple Obedience and Love,
Larry, an apostle
Sorry we couldn't complete your registration. Please try again.
You must accept the Terms and conditions to register


text:
Bachelor of Science (B.S.) in Biology
The Biology program at Reinhardt University works to link the patterns of the natural world to the processes responsible for those patterns.
Do you ever wonder about such questions as:
What forces and pressures are actively involved in changing, sculpting and developing our planet?
Does our high instance of wasted energy and power spell trouble for the next generation?
Do plants and animals adapt constantly to the environmental changes or does something else play a role in the interactions that keep the life cycle in a perpetual state of change?
Then you need to discover the biology program at Reinhardt. Biology majors can select concentrations that will help them learn the skills and knowledge necessary for pre-professional programs including: pre-dentistry, pre-ecology, pre-medicine, pre-pharmacy, pre-physical therapy and pre-veterinary. The B.S. in Biology provides students with the education to be experienced biologists, as well as broad-based scientists.
Small Classes
With our small class sizes in biology, we foster active learning using the methods of scientists and medical professionals.
"Hands-on" Experience
Biology courses are tailored so you get valuable hands-on experience. Students have participated in such experiences as: taking an inventory of all birds on-campus, dissecting various types of animals, and surveying fields to discover the correlation between woodchucks and kudzu.
Independent research is highly encouraged, and a number of current students and alumni have become published researchers in their field of study.
Expert Faculty
Do you want to learn about genetics from a geneticist? Or about the human anatomy from a medical doctor? Do you want insight on reptiles and amphibians from an expert?
The biology faculty is also experienced in the field and in the classroom.
What is the job outlook for this major
While there will always be a need for bright, energetic, and educated individuals with a strong understanding of biology, employment opportunities vary depending on the status of local and national economies. Job growth is expected in many areas, biotechnology and molecular biology in particular. Business leaders have begun to create more science and technology jobs. Also, federal government agencies charged with managing natural resources, such as the Interior and Agriculture Departments and the Environmental Protection Agency, are expected to grow. For more specifics, please see http://www.aibs.org/careers/
What are the salaries for biologists?
A 2003 survey found that biologists with less than one year experience have a starting salary of around $33,000 per year. Data from a 2005 US Bureau of Labor Statistics report show that the field of life sciences as a whole has a mean annual salary close to $60,000. As biologists gain more experience and education in their field, those in private industry may earn salaries of over $80,000, while those working in government, academia, and the nonprofit sector earn around $60,000 to $70,000. Those with over 30 years of experience have a median salary of around $103,000. Keep in mind that salaries may vary greatly depending on geographic location, job type, and experience and education. Statistics from http://www.aibs.org/careers/.
Make an Important Discovery
If you want to study the fascinating world we live in and one day make a difference, then the biology program at Reinhardt can help you make those important discoveries.
Apply Now!
Your first step is to apply to Reinhardt.
Also, please come for a visit.
Or should you need additional information regarding admissions, please contact the Reinhardt Office of Admission.
Dr. Irma Santoro
Biology Program Coordinator
School of Mathematics and Sciences


text:
Funds managed by KKR & Co LP will buy clinical research group PRA International from Genstar Capital LLC for an undisclosed amount, PRA said on Monday, underscoring growing private equity interest in the contract research industry.
Sources familiar with the matter had previously told Reuters that PRA could be worth as much as $1.3 billion.
Continue Reading Below
The deal comes at a time when research service firms are either being snapped up by private equity firms or are being taken public.
Genstar bought PRA in 2007 for $797 million and put it on the block earlier this year after failing to sell it in 2011.
Warburg Pincus LLC and Cinven Ltd were also in the running to buy the company, the sources had said.
PRA says it provides clinical trial services and other research for pharmaceutical companies in more than 80 countries to help them win regulatory approval for drugs.
In May, Bain Capital LLC and TPG Capital LP completed an initial public offering of shares in Quintiles Transnational Holdings , the world's largest provider of contract research services, raising $947 million.
Jefferies LLC was financial adviser to PRA and Latham & Watkins was legal adviser. Credit Suisse, UBS Investment Bank and Wells Fargo were financial advisers to KKR, while Simpson Thacher & Bartlett LLP was legal adviser.
(Reporting by Gregory Roumeliotis in New York and Arpita Mukherjee in Bangalore; Editing by Ted Kerr)


text:
City of Newport, RISitemap Contact
City Staff Directory
Welcome to the City of Newport's Staff Directory.
This page contains the name, job title, work telephone number and E-mail address for City of Newport employees. You may search by name, department or division to simplify your search.
Alaan, Sulpicio
- Departments:City Clerk's Office
- Title:Deputy City Clerk
- Phone:(401) 845-5349
- Email:Email