Search Results

Search found 36081 results on 1444 pages for 'object expected'.

Page 498/1444 | < Previous Page | 494 495 496 497 498 499 500 501 502 503 504 505  | Next Page >

  • Even distribution through a chain of resources

    - by ClosetGeek
    I'm working on an algorithm which routes tasks through a chain of distributed resources based on a hash (or random number). For example, say you have 10 gateways into a service which distribute tasks to 1000 handlers through 100 queues. 10,000 connected clients are expected to be connected to gateways at any given time (numbers are very general to keep it simple). Thats 10,000 clients 10 gateways (producers) 100 queues 1000 workers/handlers (consumers) The flow of each task is client-gateway-queue-worker Each client will have it's own hash/number which is used to route each task from the client to the same worker each time, with each task going through the same gateway and queue each time. Yet the algorithm handles distribution evenly, meaning each gateway, queue, and worker will have an even workload. My question is what exactly would this be called? Does such a thing already exist? This started off as a DHT, but I realized that DHTs can't do exactly what I need, so I started from scratch.

    Read the article

  • Css clicking problem [migrated]

    - by Shyghar
    I'm building a strange div shaped structure and I need a hint to resolve a clicking problem. This is a jsfiddle to show you the issue. The structure for each element is: <div class="views-row"> <div class="diamonds-container"> CONTENT </div> </div> I have a onclick() event on .diamonds-container but the .views-row div of the next element [with red or blue background..] go over the container and stop the click event on it. I tryed to play with the z-index but I didn't have the expected result. How can I achieve this structure with a correct click event on diamonds-containers ? I think I can track the .views-row click with javascript and trigger manually a click on the previous diamonds-container but this will be my final option. How can I achieve this without javascript?

    Read the article

  • The shortest licenses

    - by Darek Nedza
    What are the shortest licenses with aims for programmers/code. I have found only MIT that is page-long. What are other licenses that have approximately the same length or even shorter? Edit: Ok, length is not only criteria(I haven't expected one-line licenses, I have understaminate you people). I need easy to read and short licenses. It is meant for people who want to use my code not for lawyers who want to read long licenses. I am creating small codes to use by most people probably free of charge. I don't want useless information to be required, for example: what is X(for example: what is software, source code etc.) very specific information(for example: you can use it shop, opera, school... free of charge; but instead "use it everywhere but don't take money" Depending on type of code I would like to allow/disallow commercial usage.

    Read the article

  • Problems with Ranking when Using Sourcing Rules And ASLs From Blanket Agreements?

    - by LisaO
    Are you using Sourcing Rules and Approved Supplier List with Blanket Purchase Agreements (BPA) and it seems like Ranking is not working correctly? For example:  The Sourcing Rule being used, has effective dates from 01-APR to 31-MAR for 2013, 2014 and 2015. One BPA is defined for Supplier A, which was originally set to Rank 1 with 100% allocation. A new BPA was created for the same item and with same effective dates as the current BPA. The BPA is for a different Supplier. When Generate Sourcing Rules is run it adds the new BPA/Supplier to the Sourcing rule, but its added as Rank 1, with the old rule changed to Rank 2. For complete information refer to  Doc ID 1678447.1 Generate Sourcing Rules And ASLs From Blanket Agreements Ranking not Behaving As Expected. Still have Questions? Access the Procurement Community and, using the 'Start a Discussion' link, post your question.

    Read the article

  • Right click doesn't work on HP mini 210 touchpad

    - by user4041
    Need help in getting the right mouse click to work on a HP mini 210-1015TU when using the touchpad. If I plug in a USB mouse, both left click and right click function as normal. Using the touchpad however I can only get the left click to work. Attempting to right click gives the result expected from a left click. As per some comments on a forum I added a file 11-touchpad.conf to /usr/share/X11/xorg.conf.d. I can provide further details if required. This made touchpad operation noticeably smoother but the problem with the right mouse click remains. Not a hardware problem as right clicked worked with 10.04 and still works with Windows 7 starter. 10.10 installed using wubi.

    Read the article

  • HP mini 210 touchpad issues

    - by user4041
    Need help in getting the right mouse click to work on a HP mini 210-1015TU when using the touchpad. If I plug in a USB mouse, both left click and right click function as normal. Using the touchpad however I can only get the left click to work. Attempting to right click gives the result expected from a left click. As per some comments on a forum I added a file 11-touchpad.conf to /usr/share/X11/xorg.conf.d. I can provide further details if required. This made touchpad operation noticeably smoother but the problem with the right mouse click remains. Not a hardware problem as right clicked worked with 10.04 and still works with Windows 7 starter. 10.10 installed using wubi.

    Read the article

  • SSRS Reports as a Data Source in Excel 2013

    DBAs are expected to know how to administer the technologies that are available with and peripheral to SQL Server. To properly administer them, it certainly helps to understand the technology from the point of view of the user. By using an existing SSRS report as a data feed for Excel, Rodney Landrum explains how these users can now take advantage of development efforts in new ways. The seven tools in the SQL DBA Bundle support your core SQL Server database administration tasks.Make backups a breeze! Enjoy trouble-free troubleshooting! Make the most of monitoring! Download a free trial now.

    Read the article

  • Help to understand directions of sprites in XNA

    - by 3Dkreativ
    If I want to move a sprite to the right and upwards in a 45 degree angle I use Vector2 direction = new Vector2(1,-1); And if the sprite should move straight to right Vector2 direction = new Vector2(1,0); But how would I do if I want another directions, lets say somewhere between this values? I have tested with some other values, but then the sprite either moves to fast and or in another direction than I expected!? I suspect it's about normalize!? Another thing I have problem with to understand. I'm doing a simple asteroids game as a task in a class in C# and XNA. When the asteroids hit the window borders, I want them to bounce back in a random direction, but I can't do this before I understand how directions and Vector2 works. Help is preciated! Thanks!

    Read the article

  • Playing with aspx page cycle using JustMock

    In this post , I will cover a test code that will mock the various elements needed to complete a HTTP page request and  assert the expected page cycle steps. To begin, i have a simple enumeration that has my predefined page steps: public enum PageStep {     PreInit,     Load,     PreRender,     UnLoad } Once doing so, i  first...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • NUnit vs. MsTest: NUnit wins for Unit Testing.

    People are still wondering what are the differences between the two most popular unit testing frameworks in the .NET world: the open source NUnit and the commercial MsTest). Heres a short list of what i remember instantly: Nunit contains a [TestCase] attribute that allows implementing parametrized tests. this does not exist in msTest MsTest's ExpectedException attribute has a bug where the expected message is never really asserted even if it's wrong - the test will pass. Nunit has an...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Samba: map domain group to local one

    - by user285467
    I have a problem with mapping pure domain group to one existing on UNIX system. When I map NT domain account by default samba picks local SID - one that can be acquired via the command; net getlocalsid Instead of SID that comes from domain; net getdomainsid This is the behavior that I do not understand. I can explicitly set the SID to the domain one. E.g.: net groupmap add sid=[DOMAIN SID]-[RID] ntgroup=[DOMAIN group] unixgroup=[UNIX group] type=l However the command getent group | grep 'DOMAIN group indicates this group to be domain one - GID created in accordance to RID backend in use, not the GID of 'UNIX group' as expected. Worth to mention I use the winbind. Strange thing is that I already have such mapping in place for other 'DOMAIN group2' that getent group reports with GID of local UNIX group with all members of the 'DOMAIN group2'. Now the question is how to populate such behavior for other of my groups???

    Read the article

  • How can you identify duplicate CSS rules?

    - by DanMan
    I'm not talking about used/unused here. I have two stylesheets and some rules differ (either in selectors, rules or both) and some are exactly the same. So I'm looking for a way to extract and move those rules, which are the same in both files, into a third stylesheet. In other words: an intersection of two stylesheets. Strangely, I couldn't find a software for this. Would have expected this to be a more common problem. Background, for those who care: I'm converting a desktop website into a mobile one and I've started by duplicating the desktop stylesheet and changing it (throwing stuff out, adding to it).

    Read the article

  • What are the Characteristics of a Software "Center of Excellence" (CoE)?

    - by Randy
    Recently a new director of my department came in and expressed his wish that we become a "center of excellence". I expected that since he is my first boss who actually has a programming background that there would be some description of this. However, it was left at that. As I reflected on this over the last few days, I am coming up empty on what a CoE actually means beyond just "being effective" at delivering the product. Here are the main items I am struggling with: Is this just a term that is thrown around by management types? What qualities make a group of software developers and testers excellent? How do you measure excellence in this context?

    Read the article

  • Wrong EFI System Partition GUID?

    - by artificer
    On a new GPT initialized disk (second PC disk) I created a FAT32 partition using gparted. I want to use it as an EFI System Partition so I flagged it as boot. After that I checked the UUID using the gparted “partition information” option and it reported: 09B1-97A5. As far as I understand it should be C12A7328-F81F-11D2-BA4B-00A0C93EC93B. I also checked my running operative system disk (Ubuntu 14) and found that Gparted reports EB78-9AD2 for my actual boot partition UUID. What exactly is gparted reporting as UUID on my EFI system partition and why it doesn’t match with the expected C12A7328-F81F-11D2-BA4B-00A0C93EC93B ID?

    Read the article

  • CSS&ndash;margin or padding

    - by woodbase
    I was beginning the implementation of a new design, and once again I found that my margin property on a div-tag, did not behave as I expected. So I decided to look for best practice when it comes to using margin or padding. What I found was this very short and concise description of the difference between the two: “Margin is on the outside of block elements while padding is on the inside. Use margin to separate the block from things outside it, padding to move the contents away from the edges of the block.” So what is best practice? Well it depends on the context. In my case I should have used padding…

    Read the article

  • A c++ program that computes the min and max of f(x) for a rectangle inputed by user

    - by StreetBallerX
    So bassicly this is the problem quoted from my teacher : "You have to write a program in C++ that computes the minimal and the maximal value of function f(x,y) obtained on an integer point in a given rectangle [a, b] x [c, d]. Your program should prompt the user to input numerical values of a, b, c and d, as floating point numbers, which are expected to be in a range from -100 thru 100. In case when minimal or maximal values do not exists, your program should output appropriate messages. f(x,y)=x+x*x+x*x*x+y+y*y " So before anyone tell me that i should try do it myself , i'll tell them that ive been trying to do it myself for the past 8 days but my deadline is aproaching and i just cant figure it out its a really simple program but i just cant understand it ... I wont post my attempts because all i saw in these forums is that when someone posts their try and a milion people start to say dont look it this way thry this and bla bla and the guy who posted it was just wondering for minor thing ... so what ever thank you all in advance and thats it :)

    Read the article

  • Plagued by multithreaded bugs

    - by koncurrency
    On my new team that I manage, the majority of our code is platform, TCP socket, and http networking code. All C++. Most of it originated from other developers that have left the team. The current developers on the team are very smart, but mostly junior in terms of experience. Our biggest problem: multi-threaded concurrency bugs. Most of our class libraries are written to be asynchronous by use of some thread pool classes. Methods on the class libraries often enqueue long running taks onto the thread pool from one thread and then the callback methods of that class get invoked on a different thread. As a result, we have a lot of edge case bugs involving incorrect threading assumptions. This results in subtle bugs that go beyond just having critical sections and locks to guard against concurrency issues. What makes these problems even harder is that the attempts to fix are often incorrect. Some mistakes I've observed the team attempting (or within the legacy code itself) includes something like the following: Common mistake #1 - Fixing concurrency issue by just put a lock around the shared data, but forgetting about what happens when methods don't get called in an expected order. Here's a very simple example: void Foo::OnHttpRequestComplete(statuscode status) { m_pBar->DoSomethingImportant(status); } void Foo::Shutdown() { m_pBar->Cleanup(); delete m_pBar; m_pBar=nullptr; } So now we have a bug in which Shutdown could get called while OnHttpNetworkRequestComplete is occuring on. A tester finds the bug, captures the crash dump, and assigns the bug to a developer. He in turn fixes the bug like this. void Foo::OnHttpRequestComplete(statuscode status) { AutoLock lock(m_cs); m_pBar->DoSomethingImportant(status); } void Foo::Shutdown() { AutoLock lock(m_cs); m_pBar->Cleanup(); delete m_pBar; m_pBar=nullptr; } The above fix looks good until you realize there's an even more subtle edge case. What happens if Shutdown gets called before OnHttpRequestComplete gets called back? The real world examples my team has are even more complex, and the edge cases are even harder to spot during the code review process. Common Mistake #2 - fixing deadlock issues by blindly exiting the lock, wait for the other thread to finish, then re-enter the lock - but without handling the case that the object just got updated by the other thread! Common Mistake #3 - Even though the objects are reference counted, the shutdown sequence "releases" it's pointer. But forgets to wait for the thread that is still running to release it's instance. As such, components are shutdown cleanly, then spurious or late callbacks are invoked on an object in an state not expecting any more calls. There are other edge cases, but the bottom line is this: Multithreaded programming is just plain hard, even for smart people. As I catch these mistakes, I spend time discussing the errors with each developer on developing a more appropriate fix. But I suspect they are often confused on how to solve each issue because of the enormous amount of legacy code that the "right" fix will involve touching. We're going to be shipping soon, and I'm sure the patches we're applying will hold for the upcoming release. Afterwards, we're going to have some time to improve the code base and refactor where needed. We won't have time to just re-write everything. And the majority of the code isn't all that bad. But I'm looking to refactor code such that threading issues can be avoided altogether. One approach I am considering is this. For each significant platform feature, have a dedicated single thread where all events and network callbacks get marshalled onto. Similar to COM apartment threading in Windows with use of a message loop. Long blocking operations could still get dispatched to a work pool thread, but the completion callback is invoked on on the component's thread. Components could possibly even share the same thread. Then all the class libraries running inside the thread can be written under the assumption of a single threaded world. Before I go down that path, I am also very interested if there are other standard techniques or design patterns for dealing with multithreaded issues. And I have to emphasize - something beyond a book that describes the basics of mutexes and semaphores. What do you think? I am also interested in any other approaches to take towards a refactoring process. Including any of the following: Literature or papers on design patterns around threads. Something beyond an introduction to mutexes and semaphores. We don't need massive parallelism either, just ways to design an object model so as to handle asynchronous events from other threads correctly. Ways to diagram the threading of various components, so that it will be easy to study and evolve solutions for. (That is, a UML equivalent for discussing threads across objects and classes) Educating your development team on the issues with multithreaded code. What would you do?

    Read the article

  • Gnome 3.10 doesn't show login, Ubuntu 13.10

    - by TheWebs
    I use gnome as default desktop. And I recently upgrade Ubuntu to 13.10 then upgraded gnome to 3.10. Upon restarting, it brings me to the gnome log in screen (GDM) and all I see is the top banner part so like your date, music volume, option to restart, suspend or shutdown. Hitting control+alt+delete tells me gnome display manager will log out - it does but still nothing. I am on the log in screen, but there is no user to select, like there normally is or was. I can boot into safe mode and drop down to shell but I am not sure what commands I would enter to get the login screen back. I am using the gnome PPA's and the "unstable" PPA, so I expected issues, but not this - ideas?

    Read the article

  • Why does Linq to Entity Sum return null when the list is empty?

    - by Hannele
    There are quite a few questions on Stack Overflow about the Linq to Entity / Linq to SQL Sum extension method, about how it returns null when the result set is empty: 1, 2, 3, 4, 5, 6, 7, and many more, as well as a blog post discussing the issue here. Now, I could go a flag these as duplicates, but I feel it is still an inconsistency in the Linq implementation. I am assuming at this point that it is not a bug, but is more or less working as designed. I understand that there are workarounds (for example, casting the field to a nullable type, so you can coalesce with ??), and I also understand that for the underlying SQL, a NULL result is expected for an empty list. But because the result of the Sum extension for nullable types is also not nullable, why would the Linq to SQL / Linq to Entity Sum have been designed to behave this way?

    Read the article

  • NetBeans 7.0.1 now in RC

    - by alexismp
    What would a GlassFish release be without a NetBeans version to go with it? The NetBeans team has released the NetBeans IDE 7.0.1 RC 1 which will bring full compatibility with JDK 7 as well as GlassFish 3.1.1 support (this particular RC ships with the soft code freeze build of GlassFish 3.1.1). This 7.0.1 RC 1release also includes numerous bugfixes and performance improvements across all areas and is available from the usual download page and the final version of NetBeans IDE 7.0.1 is expected in late July (once JDK 7 has shipped would be an educated guess). Note that if you're an existing NetBeans 7.0 user you'll be offered with updates to your existing install via the Update Center once 7.0.1 final ships.

    Read the article

  • Placing items randomly in a dynamically generated terrain

    - by Programlocura
    I'm currently working on a 'Tiny wings' like game. I've already asked about the angle of the items in curved lines and i solved (thank you for responses),i'm currently placing the items in random positions, but the terrain it's dynamically and i don't get this working. I've a vector with the points of the terrain, and i'm doing something similar to this (Iterating trough vector): if( _SPManager && i % 15 == 0 && i != 0 ) { if ( _settings.specialPoints && _currentPoints < _settings.specialPoints ) { _SPManager.addPoint( _hillsPosition[i].x , _hillsPosition[i].y ); _currentPoints++; } } But it isn't working as i expected. It isn't displaying the right number of items (Always shows less than i specified). How do i should place the items? Thanks :)

    Read the article

  • Why does Linq to Entity Sum return null when the result set is empty?

    - by Hannele
    There are quite a few questions on Stack Overflow about the Linq to Entity / Linq to SQL Sum extension method, about how it returns null when the result set is empty: 1, 2, 3, 4, 5, 6, 7, and many more, as well as a blog post discussing the issue here. I feel it is an inconsistency in the Linq implementation. I am assuming at this point that it is not a bug, but is more or less working as designed. I understand that there are workarounds (for example, casting the field to a nullable type, so you can coalesce with ??), and I also understand that for the underlying SQL, a NULL result is expected for an empty result set. But because the result of the Sum extension for non-nullable types is also non-nullable, why does the Linq to SQL / Linq to Entity Sum behave this way?

    Read the article

  • VS2010 Gotcha: Inadvertently targeting the wrong framework

    I love VS2010s multi-framework targeting feature, yet it has bitten me in the rear-end more than once. The problem is that I have created projects in .NET 3.5 without realizing it, then at some point, when something doesnt work as expected, if Im lucky I discover the mistake. Typically, this happens after you have explicitly chosen .NET 3.5 as the target framework. Then every project after that will be .NET 3.5 until you explicitly choose .NET 4.0 again. This morning that wasnt the case. I was...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • aspect parameter validation [closed]

    - by user12558
    Hi, Im doing a POC using Aspectj. class BaseInfo{..} class UserInfo extends BaseInfo{..} class UserService { public void getUser(UserInfo userInfo){..} public void deleteUser(String userId){..} } I've defined an advice, that gets invoked when I pass an UserInfo instance.But when i try to pass the BaseInfo, the advice is not getting invoked. Below block executes the afterMethod as expected for getUser. &ltaop:pointcut id="aopafterMethod" expression="execution(* UserService.*(..,UserInfo,..))" / &gtaop:after pointcut-ref="aopafterMethod" method="afterMethod" / But when i try to give BaseInfo instead of UserInfo, the aspect is not getting triggered. Am i missing something? Kindly help me on this issue.

    Read the article

  • Help with Boost Grammar

    - by Decmanc04
    I have been using the following win32 console code to try to parse a B Machine Grammar embedded within C++ using Boost Spirit grammar template. I am a relatively new Boost user. The code compiles, but when I run the .exe file produced by VC++2008, the program partially parses the input file. I believe the problem is with my grammar definition or the functions attached as semantic atctions. The code is given below: // BIFAnalyser.cpp : Defines the entry point for the console application. // // /*============================================================================= Copyright (c) Temitope Jos Onunkun 2010 http://www.dcs.kcl.ac.uk/pg/onun/ Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) =============================================================================*/ //////////////////////////////////////////////////////////////////////////// // // // B Machine parser using the Boost "Grammar" and "Semantic Actions". // // // //////////////////////////////////////////////////////////////////////////// #include <boost/spirit/core.hpp> #include <boost/tokenizer.hpp> #include <iostream> #include <string> #include <fstream> #include <vector> #include <utility> /////////////////////////////////////////////////////////////////////////////////////////// using namespace std; using namespace boost::spirit; /////////////////////////////////////////////////////////////////////////////////////////// // // Semantic actions // //////////////////////////////////////////////////////////////////////////// vector<string> strVect; namespace { //semantic action function on individual lexeme void do_noint(char const* str, char const* end) { string s(str, end); if(atoi(str)) { ; } else { strVect.push_back(s); cout << "PUSH(" << s << ')' << endl; } } //semantic action function on addition of lexemes void do_add(char const*, char const*) { cout << "ADD" << endl; for(vector<string>::iterator vi = strVect.begin(); vi < strVect.end(); ++vi) cout << *vi << " "; } //semantic action function on subtraction of lexemes void do_subt(char const*, char const*) { cout << "SUBTRACT" << endl; for(vector<string>::iterator vi = strVect.begin(); vi < strVect.end(); ++vi) cout << *vi << " "; } //semantic action function on multiplication of lexemes void do_mult(char const*, char const*) { cout << "\nMULTIPLY" << endl; for(vector<string>::iterator vi = strVect.begin(); vi < strVect.end(); ++vi) cout << *vi << " "; cout << "\n"; } //semantic action function on division of lexemes void do_div(char const*, char const*) { cout << "\nDIVIDE" << endl; for(vector<string>::iterator vi = strVect.begin(); vi < strVect.end(); ++vi) cout << *vi << " "; } //semantic action function on simple substitution void do_sSubst(char const* str, char const* end) { string s(str, end); //use boost tokenizer to break down tokens typedef boost::tokenizer<boost::char_separator<char> > Tokenizer; boost::char_separator<char> sep("-+/*:=()"); // default char separator Tokenizer tok(s, sep); Tokenizer::iterator tok_iter = tok.begin(); pair<string, string > dependency; //create a pair object for dependencies //save first variable token in simple substitution dependency.first = *tok.begin(); //create a vector object to store all tokens vector<string> dx; // for( ; tok_iter != tok.end(); ++tok_iter) //save all tokens in vector { dx.push_back(*tok_iter ); } vector<string> d_hat; //stores set of dependency pairs string dep; //pairs variables as string object for(int unsigned i=1; i < dx.size()-1; i++) { dependency.second = dx.at(i); dep = dependency.first + "|->" + dependency.second + " "; d_hat.push_back(dep); } cout << "PUSH(" << s << ')' << endl; for(int unsigned i=0; i < d_hat.size(); i++) cout <<"\n...\n" << d_hat.at(i) << " "; cout << "\nSIMPLE SUBSTITUTION\n"; } //semantic action function on multiple substitution void do_mSubst(char const* str, char const* end) { string s(str, end); //use boost tokenizer to break down tokens typedef boost::tokenizer<boost::char_separator<char> > Tok; boost::char_separator<char> sep("-+/*:=()"); // default char separator Tok tok(s, sep); Tok::iterator tok_iter = tok.begin(); // string start = *tok.begin(); vector<string> mx; for( ; tok_iter != tok.end(); ++tok_iter) //save all tokens in vector { mx.push_back(*tok_iter ); } mx.push_back("END\n"); //add a marker "end" for(unsigned int i=0; i<mx.size(); i++) { // if(mx.at(i) == "END" || mx.at(i) == "||" ) // break; // else if( mx.at(i) == "||") // do_sSubst(str, end); // else // { // do_sSubst(str, end); // } cout << "\nTokens ... " << mx.at(i) << " "; } cout << "PUSH(" << s << ')' << endl; cout << "MULTIPLE SUBSTITUTION\n"; } } //////////////////////////////////////////////////////////////////////////// // // Simple Substitution Grammar // //////////////////////////////////////////////////////////////////////////// // Simple substitution grammar parser with integer values removed struct Substitution : public grammar<Substitution> { template <typename ScannerT> struct definition { definition(Substitution const& ) { multi_subst = (simple_subst [&do_mSubst] >> +( str_p("||") >> simple_subst [&do_mSubst]) ) ; simple_subst = (Identifier >> str_p(":=") >> expression)[&do_sSubst] ; Identifier = alpha_p >> +alnum_p//[do_noint] ; expression = term >> *( ('+' >> term)[&do_add] | ('-' >> term)[&do_subt] ) ; term = factor >> *( ('*' >> factor)[&do_mult] | ('/' >> factor)[&do_div] ) ; factor = lexeme_d[( (alpha_p >> +alnum_p) | +digit_p)[&do_noint]] | '(' >> expression >> ')' | ('+' >> factor) ; } rule<ScannerT> expression, term, factor, Identifier, simple_subst, multi_subst ; rule<ScannerT> const& start() const { return multi_subst; } }; }; //////////////////////////////////////////////////////////////////////////// // // Main program // //////////////////////////////////////////////////////////////////////////// int main() { cout << "************************************************************\n\n"; cout << "\t\t...Machine Parser...\n\n"; cout << "************************************************************\n\n"; // cout << "Type an expression...or [q or Q] to quit\n\n"; //prompt for file name to be input cout << "Please enter a filename...or [q or Q] to quit:\n\n "; char strFilename[256]; //file name store as a string object cin >> strFilename; ifstream inFile(strFilename); // opens file object for reading //output file for truncated machine (operations only) Substitution elementary_subst; // Simple substitution parser object string str, next; // inFile.open(strFilename); while (inFile >> str) { getline(cin, next); str += next; if (str.empty() || str[0] == 'q' || str[0] == 'Q') break; parse_info<> info = parse(str.c_str(), elementary_subst, space_p); if (info.full) { cout << "\n-------------------------\n"; cout << "Parsing succeeded\n"; cout << "\n-------------------------\n"; } else { cout << "\n-------------------------\n"; cout << "Parsing failed\n"; cout << "stopped at: \": " << info.stop << "\"\n"; cout << "\n-------------------------\n"; } } cout << "Please enter a filename...or [q or Q] to quit\n"; cin >> strFilename; return 0; } The contents of the file I tried to parse, which I named "mf7.txt" is given below: debt:=(LoanRequest+outstandingLoan1)*20 || newDebt := loanammount-paidammount The output when I execute the program is: ************************************************************ ...Machine Parser... ************************************************************ Please enter a filename...or [q or Q] to quit: c:\tplat\mf7.txt PUSH(LoanRequest) PUSH(outstandingLoan1) ADD LoanRequest outstandingLoan1 MULTIPLY LoanRequest outstandingLoan1 PUSH(debt:=(LoanRequest+outstandingLoan1)*20) ... debt|->LoanRequest ... debt|->outstandingLoan1 SIMPLE SUBSTITUTION Tokens ... debt Tokens ... LoanRequest Tokens ... outstandingLoan1 Tokens ... 20 Tokens ... END PUSH(debt:=(LoanRequest+outstandingLoan1)*20) MULTIPLE SUBSTITUTION ------------------------- Parsing failedstopped at: ": " ------------------------- My intention is to capture only the variables in the file, which I managed to do up to the "||" string. Clearly, the program is not parsing beyond the "||" string in the input file. I will appreciate assistance to fix the grammar. SOS, please.

    Read the article

< Previous Page | 494 495 496 497 498 499 500 501 502 503 504 505  | Next Page >