|
I was rather confused by what popped up at the address you had in your post. I think others (esp. Noobs) might be as well.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
I just had to download that GOLD ParserBuilder and try it out with your grammar.
As expected it showed only warnings of the Shift-Reduce conflict, but it produced the egt file just fine.
So it should work for you too, me thinks.
The Shift in favor of the reduce is totally acceptable if (pretty big if eh?) GOLD backtracks when subsequent tokens let the chosen production fail (That's the one it shifted on). So eventually it would fall back on the reduce production which is the compare expression production in your case.
What I just saw from 15 minutes of looking at this thing, I must say I'm pretty much impressed. Not only can you inspect the generated automaton, but also the messages for the conflicts were the best and most easily understandable compared to any of the CCs I have seen so far. (YACC, PROGRAMMAR, ANTLR).
What you really should do next is create a test file and run tests on the grammar to see if it can still parse comparisons as well as the generics.
Regards,
Manfred
P.S.: I totally forgot how much fun this is, makes me want to uses this tool for some fun project.
"I had the right to remain silent, but I didn't have the ability!"
Ron White, Comedian
|
|
|
|
|
Thank you for your effort, Manfred!
Initially I thought you might have solved the problem for me, pointing me to the shift-over-reduce precedence. I "theoretically" knew about this but (I guess) when I read it months ago I decided to go with my usual policy "warnings are errors" and disregarded that it might ever be a valid option.
But unfortunately it doesn't seem to be the solution (at least not by itself) because GOLD apparently does not backtrack: When trying to parse "var a = b < c;" the parser doesn't attempt the reduction and gives a syntax error. Looks like end of story?
Manfred R. Bihy wrote: P.S.: I totally forgot how much fun this is, makes me want to uses this tool for some fun project. I think you'll enjoy my upcoming article - even with <:T> -syntax!
Cheers, Sascha
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Momentarily I have the same result, but I still have an ace up my sleeve. If I find a solution I'll keep you updated.
Cheers!
"I had the right to remain silent, but I didn't have the ability!"
Ron White, Comedian
|
|
|
|
|
Manfred R. Bihy wrote: but I still have an ace up my sleeve Feels like christmas anticipation
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Manfred, I found that my implementation for generics in the grammar is flawed, it's not possible to write "nested" generics like A<B<int>> . This is just FYI, I'll try to fix it and update the grammar in my original post.
cheers, Sascha
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Hi Manfred,
I think I've fixed the "generics nesting" in the grammar; I updated it in my original post. I also identified those productions that cause a conflict (5) and marked them with "<<<<< Shift-Reduce-Conflict", maybe it's helpful.
Have a nice long weekend -
cheers, Sascha
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Hi Manfred! Did you get an opportunity yet to try playing your ace?
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
What I had envisioned is not possible with GOLD.
Other programs like Antler allow for state or context switches, but it looks as if this can't be done with
GOLD.
Cheers
"I had the right to remain silent, but I didn't have the ability!"
Ron White, Comedian
|
|
|
|
|
Alright, thank you for trying!
cheers, Sascha
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
HELLO!I know that you only can help me with some problems I might face in my code but i haven;t even understood the code that I have to work on. I am a university student and tomorrow I have to give my exercise to my tutor. I am putting here what I have to do and if anyone could help me in any way I would appreciate it. So I need to work on this: " Build a class that manages points having a fragmentary x and an ordinate y.Build a method "distance" which will calculate the distance between two points.Make another method "a.isFurther(B)" which will be able to find if "a" is further from the origin than "b" (Hint: you can use the previous method). Finally, build a method that checks whether three points are collinear."
|
|
|
|
|
Code Project is not a code-ordering site, and for that it is not a site for homework solving...
If you want help, you have to do the work by yourself, and come here with actual questions about actual problems in your code/solution...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
So what have you done so far?
And if it's "nothing" then don't expect us to dig you out of a hole - if you don't even try, then there is no good reasons for helping to avoid a failing grade: we might have to work with you one day and nobody wants to work with someone who doesn't know what he is doing.
So show us what you have so far, and explain what is stopping you going any further. And we might help you to help yourself out of this hole...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I have done this so far:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Apostash_Simeiwn
{
class Simeio
{
private double x;
private double y;
public Simeio(double x, double y)
{
this.x = x;
this.y = y;
}
}
}
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void bttApostash_Click(object sender, EventArgs e)
{
txtApostash.Text += Environment.NewLine + Convert.ToString(GetDistance(double.Parse(txtXa.Text),double.Parse(txtXb.Text),double.Parse(txtYa.Text),double.Parse(txtYb.Text)));
}
public static double GetDistance(double txtXa, double txtYa, double txtXb, double txtYb)
{
double a = txtXa - txtXb;
double b = txtYa - txtYb;
double distance;
return distance = Math.Sqrt(a * a + b * b);
}
private void bttOO_Click(object sender, EventArgs e)
{
if (Math.Sqrt(Math.Pow(double.Parse(txtXa.Text), 2) + Math.Pow(double.Parse(txtYa.Text), 2)) < Math.Sqrt(Math.Pow(double.Parse(txtXb.Text), 2) + Math.Pow(double.Parse(txtYb.Text), 2)))
{
txtOO.Text += Environment.NewLine + "Το σημείο Α";
}
else
{
txtOO.Text += Environment.NewLine + "Το σημείο Β";
}
}
private void bttTermatismos_Click(object sender, EventArgs e)
{
Environment.Exit(0);
}
private void bttSineuthiaka_Click(object sender, EventArgs e)
{
double l1 = (double.Parse(txtYb.Text) - double.Parse(txtYa.Text)) / (double.Parse(txtXb.Text) - double.Parse(txtXa.Text));
double l2 = (double.Parse(txtYc.Text) - double.Parse(txtYb.Text)) / (double.Parse(txtXc.Text) - double.Parse(txtXb.Text));
if (l1 == l2)
{
txtSineuthiaka.Text += Environment.NewLine + "Τα σημεία είναι συνευθειακά ";
}
else
{
MessageBox.Show("Δεν είναι συνευθειακά.Εισάγετε νέα");
}
}
}
}
|
|
|
|
|
Just a small hint: The assignment didn't say you need to have a Form. So you could just do it with a console application. Maybe that will save you some effort and let you concentrate on the actual task.
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
he did say it. i just forgot to write it here
|
|
|
|
|
So?
Start with a Console application and make sure your class works first, then make a Forms app using that class.
|
|
|
|
|
I am trying to load subreport in a main report is loading properly, but while loading subreport getting "object reference not set to an instance error in catch". Can someone help me on this please?
Vijay
|
|
|
|
|
Without the relevant code fragment?
No, probably not...
Have you tried using the debugger to look at exactly what you are passing to CR?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Hi. If possible then provide code snippet for this. you got this error because one of your object does not initialize.
Thanks.
|
|
|
|
|
I have an invoice class that has an invoice number.
I need to add to that invoice some details (orders).
these orders will be a list of details.
i have the invoice class, I have the details collection class,
and I have the details class.
So how to I add the many orders to the list from the invoice class?
any help is appreciated.
|
|
|
|
|
I'm not sure exactly what you are needing help with here: all you need to do is add a private DetailsCollection instance to your Invoice class and provide methods to add Detail instance(s) to it.
Which is - to be honest - trivial, so I don't see why this is a problem if you've got this far?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Like OriginalGriff, I am puzzled by what your question really is about here.
It sounds like you have some kind of class structure like:
public class OrderDetail
{
}
public class Order
{
public List<OrderDetail> OrderDetails;
}
public class Invoice
{
public List<Order> Orders;
public int InvoiceNumber { set; get; }
public DateTime InvoiceDate { set; get; }
} Perhaps this rough outline will inspire you to provide more detail and clarify your question.
«I want to stay as close to the edge as I can without going over. Out on the edge you see all kinds of things you can't see from the center» Kurt Vonnegut, Jr.
|
|
|
|
|
Please post ur workable project i will try it , thanks
|
|
|
|
|